You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@harmony.apache.org by Senaka Fernando <se...@gmail.com> on 2008/03/31 22:20:53 UTC

Errors when Compiling gc_gen separately

Hi all,

I compiled gc_gen separately, using just the headers and source defined
inside the gc_gen. I ran into a great number of error messages. I have
attached herewith the list of errors. This serves as a guideline of each and
every resource required by the GC, which is beyond its scope. The build
script used is, a simple g++ call that will include each and every header
and compile each and every source file within the gc_gen folder.

Please send in your valuable contributions regarding what should remain, and
what should go out. This file is pretty lengthy, therefore I believe that we
can take this little by little. I'm sending the first 1000 lines of around
70000. Most of the errors are repeated in various forms. Thus resolution of
these should see a significant reduction of errors.

Regards,
Senaka

Re: Errors when Compiling gc_gen separately

Posted by Xiao-Feng Li <xi...@gmail.com>.
Alexei gave good suggestions.

It reminds me one thing important to discuss: how to easily keep sync
with Harmony GC code base on SVN.

Senaka, since Harmony GC in SVN keeps improving, it would be good for
you to keep it as is at the beginning. That would benefit both of your
development and also later synchronization of the GC code in Parrot. I
have no good advices yet on how to achieve the easy sync. My intuition
is, if you can define a good set of interface files similar to
open/gc.h and open/vm_gc.h in Harmony, and make them as kind of
adapting layer (or VM Adapter) for different VMs (Harmony and Parrot).
Probably you can group them into a directory like vm_adapter/.
Actually some people also asked me if Harmony GC can work in Mono. I
guess your experience in this project could be useful there as well.

Thanks,
xiaofeng

On Wed, Apr 2, 2008 at 9:29 PM, Alexei Fedotov <al...@gmail.com> wrote:
> Senaka,
>  You are making a good progress with building Harmony GC separately
>  from Harmony VM.
>
>  I have a piece of advise concerning the focus of the task. While
>  include list minimization is interesting, I don't think you should
>  spend too much time on it. If something is required, keep it, and keep
>  all things it depends on. To convince perfectionist in you I would say
>  that the further code changes would be much greater, and big parts
>  would be efficiently removed due to logic changes.
>
>  The things I would recommend you to throw away are files in Java.
>  Thanks.
>
>
>
>  On Wed, Apr 2, 2008 at 3:02 PM, Xiao-Feng Li <xi...@gmail.com> wrote:
>  > On Tue, Apr 1, 2008 at 12:33 PM, Senaka Fernando <se...@gmail.com> wrote:
>  >  > Hi Xiao-Feng,
>  >  >
>  >  >  OK. Also, I have one more question. Unless otherwise someone has to write a
>  >  >  porting layer, isn't it better that we keep the required number of includes
>  >  >  etc. at a minimum. This will help us plug the GC to any other application as
>  >  >  a whole. However, we may need a platform-auto-sense. VM stuff of course will
>  >  >  be replaced.
>  >
>  >  Yes, agreed. Well, on the other hand, the included files are required
>  >  by GC. It can't reduce the number of them.
>  >
>  >
>  >  >  And, I would like to know your opinion about whether you expect me to use
>  >  >  some of the Harmony includes (in vm/include) in the process, or whether my
>  >  >  starting point is the gc_gen directory?
>  >
>  >  I think it is not mandatory to use vm/include. But those are good references.
>  >
>  >
>  >
>  >  >  Regards,
>  >  >  Senaka
>  >  >
>  >  >
>  >  >
>  >  >  On Tue, Apr 1, 2008 at 6:53 AM, Xiao-Feng Li <xi...@gmail.com> wrote:
>  >  >
>  >  >  > Fernando, thanks for the try. You probably should be able to figure
>  >  >  > out the issues. :-)
>  >  >  >
>  >  >  > The first couple of lines state required header files are missing:
>  >  >  >
>  >  >  > src/common/gc_common.h:25:21: error: cxxlog.h: No such file or directory
>  >  >  > src/common/gc_common.h:26:23: error: port_vmem.h: No such file or
>  >  >  > directory
>  >  >  > src/common/gc_common.h:28:31: error: platform_lowlevel.h: No such file
>  >  >  > or directory
>  >  >  > src/common/gc_common.h:30:24: error: open/types.h: No such file or
>  >  >  > directory
>  >  >  > src/common/gc_common.h:31:24: error: open/vm_gc.h: No such file or
>  >  >  > directory
>  >  >  > src/common/gc_common.h:32:21: error: open/vm.h: No such file or directory
>  >  >  > src/common/gc_common.h:33:21: error: open/gc.h: No such file or directory
>  >  >  > src/common/gc_common.h:34:25: error: port_malloc.h: No such file or
>  >  >  > directory
>  >  >  > In file included from src/common/gc_for_class.h:26,
>  >  >  >                 from src/common/gc_common.h:36,
>  >  >  >                 from src/common/collection_scheduler.cpp:18:
>  >  >  > src/common/gc_platform.h:26:25: error: port_atomic.h: No such file or
>  >  >  > directory
>  >  >  > src/common/gc_platform.h:28:27: error: port_barriers.h: No such file
>  >  >  > or directory
>  >  >  > src/common/gc_platform.h:40:22: error: apr_time.h: No such file or
>  >  >  > directory
>  >  >  > src/common/gc_platform.h:41:24: error: apr_atomic.h: No such file or
>  >  >  > directory
>  >  >  > src/common/gc_platform.h:43:31: error: open/hythread_ext.h: No such
>  >  >  > file or directory
>  >  >  >
>  >  >  >
>  >  >  > The header files missed shown above are basically in two categories:
>  >  >  > 1. platform (in)dependent stuff, like platform_lowlevel.h,
>  >  >  > port_atomic.h, apr_atomic.h, etc.
>  >  >  > 2. vm (in)dependent stuff, such as those under open/ directory. They
>  >  >  > define the interfaces or contract between GC and VM.
>  >  >  >
>  >  >  > For 1, I believe Parrot has similar stuff for platform independent
>  >  >  > interfaces, though it doesn't use apr or port. You can help to figure
>  >  >  > out what are the specific functions used by GC and try to wrap them
>  >  >  > into gc_gen/common/gc_platform.h.
>  >  >  >
>  >  >  > For 2, these are the true stuff needing helps from Parrot community.
>  >  >  > We need understand the interfaces provided by Parrot for memory
>  >  >  > management, and try to match them with Harmony interface. It would be
>  >  >  > great if you can sort out the interfaces of the two VMs.
>  >  >  >
>  >  >  > Thanks,
>  >  >  > xiaofeng
>  >  >  >
>  >  >  > On Tue, Apr 1, 2008 at 4:20 AM, Senaka Fernando <se...@gmail.com>
>  >  >  > wrote:
>  >  >  > > Hi all,
>  >  >  > >
>  >  >  > >  I compiled gc_gen separately, using just the headers and source defined
>  >  >  > > inside the gc_gen. I ran into a great number of error messages. I have
>  >  >  > > attached herewith the list of errors. This serves as a guideline of each
>  >  >  > and
>  >  >  > > every resource required by the GC, which is beyond its scope. The build
>  >  >  > > script used is, a simple g++ call that will include each and every
>  >  >  > header
>  >  >  > > and compile each and every source file within the gc_gen folder.
>  >  >  > >
>  >  >  > >  Please send in your valuable contributions regarding what should
>  >  >  > remain,
>  >  >  > > and what should go out. This file is pretty lengthy, therefore I believe
>  >  >  > > that we can take this little by little. I'm sending the first 1000 lines
>  >  >  > of
>  >  >  > > around 70000. Most of the errors are repeated in various forms. Thus
>  >  >  > > resolution of these should see a significant reduction of errors.
>  >  >  > >
>  >  >  > >  Regards,
>  >  >  > >  Senaka
>  >  >  >
>  >  >  >
>  >  >  >
>  >  >  > --
>  >  >  > http://xiao-feng.blogspot.com
>  >  >  >
>  >  >
>  >
>  >
>  >
>  >  --
>  >
>  >
>  > http://xiao-feng.blogspot.com
>  >
>
>
>
>  --
>  With best regards,
>  Alexei
>



-- 
http://xiao-feng.blogspot.com

Re: Errors when Compiling gc_gen separately

Posted by Alexei Fedotov <al...@gmail.com>.
Senaka,
You are making a good progress with building Harmony GC separately
from Harmony VM.

I have a piece of advise concerning the focus of the task. While
include list minimization is interesting, I don't think you should
spend too much time on it. If something is required, keep it, and keep
all things it depends on. To convince perfectionist in you I would say
that the further code changes would be much greater, and big parts
would be efficiently removed due to logic changes.

The things I would recommend you to throw away are files in Java.
Thanks.

On Wed, Apr 2, 2008 at 3:02 PM, Xiao-Feng Li <xi...@gmail.com> wrote:
> On Tue, Apr 1, 2008 at 12:33 PM, Senaka Fernando <se...@gmail.com> wrote:
>  > Hi Xiao-Feng,
>  >
>  >  OK. Also, I have one more question. Unless otherwise someone has to write a
>  >  porting layer, isn't it better that we keep the required number of includes
>  >  etc. at a minimum. This will help us plug the GC to any other application as
>  >  a whole. However, we may need a platform-auto-sense. VM stuff of course will
>  >  be replaced.
>
>  Yes, agreed. Well, on the other hand, the included files are required
>  by GC. It can't reduce the number of them.
>
>
>  >  And, I would like to know your opinion about whether you expect me to use
>  >  some of the Harmony includes (in vm/include) in the process, or whether my
>  >  starting point is the gc_gen directory?
>
>  I think it is not mandatory to use vm/include. But those are good references.
>
>
>
>  >  Regards,
>  >  Senaka
>  >
>  >
>  >
>  >  On Tue, Apr 1, 2008 at 6:53 AM, Xiao-Feng Li <xi...@gmail.com> wrote:
>  >
>  >  > Fernando, thanks for the try. You probably should be able to figure
>  >  > out the issues. :-)
>  >  >
>  >  > The first couple of lines state required header files are missing:
>  >  >
>  >  > src/common/gc_common.h:25:21: error: cxxlog.h: No such file or directory
>  >  > src/common/gc_common.h:26:23: error: port_vmem.h: No such file or
>  >  > directory
>  >  > src/common/gc_common.h:28:31: error: platform_lowlevel.h: No such file
>  >  > or directory
>  >  > src/common/gc_common.h:30:24: error: open/types.h: No such file or
>  >  > directory
>  >  > src/common/gc_common.h:31:24: error: open/vm_gc.h: No such file or
>  >  > directory
>  >  > src/common/gc_common.h:32:21: error: open/vm.h: No such file or directory
>  >  > src/common/gc_common.h:33:21: error: open/gc.h: No such file or directory
>  >  > src/common/gc_common.h:34:25: error: port_malloc.h: No such file or
>  >  > directory
>  >  > In file included from src/common/gc_for_class.h:26,
>  >  >                 from src/common/gc_common.h:36,
>  >  >                 from src/common/collection_scheduler.cpp:18:
>  >  > src/common/gc_platform.h:26:25: error: port_atomic.h: No such file or
>  >  > directory
>  >  > src/common/gc_platform.h:28:27: error: port_barriers.h: No such file
>  >  > or directory
>  >  > src/common/gc_platform.h:40:22: error: apr_time.h: No such file or
>  >  > directory
>  >  > src/common/gc_platform.h:41:24: error: apr_atomic.h: No such file or
>  >  > directory
>  >  > src/common/gc_platform.h:43:31: error: open/hythread_ext.h: No such
>  >  > file or directory
>  >  >
>  >  >
>  >  > The header files missed shown above are basically in two categories:
>  >  > 1. platform (in)dependent stuff, like platform_lowlevel.h,
>  >  > port_atomic.h, apr_atomic.h, etc.
>  >  > 2. vm (in)dependent stuff, such as those under open/ directory. They
>  >  > define the interfaces or contract between GC and VM.
>  >  >
>  >  > For 1, I believe Parrot has similar stuff for platform independent
>  >  > interfaces, though it doesn't use apr or port. You can help to figure
>  >  > out what are the specific functions used by GC and try to wrap them
>  >  > into gc_gen/common/gc_platform.h.
>  >  >
>  >  > For 2, these are the true stuff needing helps from Parrot community.
>  >  > We need understand the interfaces provided by Parrot for memory
>  >  > management, and try to match them with Harmony interface. It would be
>  >  > great if you can sort out the interfaces of the two VMs.
>  >  >
>  >  > Thanks,
>  >  > xiaofeng
>  >  >
>  >  > On Tue, Apr 1, 2008 at 4:20 AM, Senaka Fernando <se...@gmail.com>
>  >  > wrote:
>  >  > > Hi all,
>  >  > >
>  >  > >  I compiled gc_gen separately, using just the headers and source defined
>  >  > > inside the gc_gen. I ran into a great number of error messages. I have
>  >  > > attached herewith the list of errors. This serves as a guideline of each
>  >  > and
>  >  > > every resource required by the GC, which is beyond its scope. The build
>  >  > > script used is, a simple g++ call that will include each and every
>  >  > header
>  >  > > and compile each and every source file within the gc_gen folder.
>  >  > >
>  >  > >  Please send in your valuable contributions regarding what should
>  >  > remain,
>  >  > > and what should go out. This file is pretty lengthy, therefore I believe
>  >  > > that we can take this little by little. I'm sending the first 1000 lines
>  >  > of
>  >  > > around 70000. Most of the errors are repeated in various forms. Thus
>  >  > > resolution of these should see a significant reduction of errors.
>  >  > >
>  >  > >  Regards,
>  >  > >  Senaka
>  >  >
>  >  >
>  >  >
>  >  > --
>  >  > http://xiao-feng.blogspot.com
>  >  >
>  >
>
>
>
>  --
>
>
> http://xiao-feng.blogspot.com
>



-- 
With best regards,
Alexei

Re: Errors when Compiling gc_gen separately

Posted by Xiao-Feng Li <xi...@gmail.com>.
On Tue, Apr 1, 2008 at 12:33 PM, Senaka Fernando <se...@gmail.com> wrote:
> Hi Xiao-Feng,
>
>  OK. Also, I have one more question. Unless otherwise someone has to write a
>  porting layer, isn't it better that we keep the required number of includes
>  etc. at a minimum. This will help us plug the GC to any other application as
>  a whole. However, we may need a platform-auto-sense. VM stuff of course will
>  be replaced.

Yes, agreed. Well, on the other hand, the included files are required
by GC. It can't reduce the number of them.

>  And, I would like to know your opinion about whether you expect me to use
>  some of the Harmony includes (in vm/include) in the process, or whether my
>  starting point is the gc_gen directory?

I think it is not mandatory to use vm/include. But those are good references.

>  Regards,
>  Senaka
>
>
>
>  On Tue, Apr 1, 2008 at 6:53 AM, Xiao-Feng Li <xi...@gmail.com> wrote:
>
>  > Fernando, thanks for the try. You probably should be able to figure
>  > out the issues. :-)
>  >
>  > The first couple of lines state required header files are missing:
>  >
>  > src/common/gc_common.h:25:21: error: cxxlog.h: No such file or directory
>  > src/common/gc_common.h:26:23: error: port_vmem.h: No such file or
>  > directory
>  > src/common/gc_common.h:28:31: error: platform_lowlevel.h: No such file
>  > or directory
>  > src/common/gc_common.h:30:24: error: open/types.h: No such file or
>  > directory
>  > src/common/gc_common.h:31:24: error: open/vm_gc.h: No such file or
>  > directory
>  > src/common/gc_common.h:32:21: error: open/vm.h: No such file or directory
>  > src/common/gc_common.h:33:21: error: open/gc.h: No such file or directory
>  > src/common/gc_common.h:34:25: error: port_malloc.h: No such file or
>  > directory
>  > In file included from src/common/gc_for_class.h:26,
>  >                 from src/common/gc_common.h:36,
>  >                 from src/common/collection_scheduler.cpp:18:
>  > src/common/gc_platform.h:26:25: error: port_atomic.h: No such file or
>  > directory
>  > src/common/gc_platform.h:28:27: error: port_barriers.h: No such file
>  > or directory
>  > src/common/gc_platform.h:40:22: error: apr_time.h: No such file or
>  > directory
>  > src/common/gc_platform.h:41:24: error: apr_atomic.h: No such file or
>  > directory
>  > src/common/gc_platform.h:43:31: error: open/hythread_ext.h: No such
>  > file or directory
>  >
>  >
>  > The header files missed shown above are basically in two categories:
>  > 1. platform (in)dependent stuff, like platform_lowlevel.h,
>  > port_atomic.h, apr_atomic.h, etc.
>  > 2. vm (in)dependent stuff, such as those under open/ directory. They
>  > define the interfaces or contract between GC and VM.
>  >
>  > For 1, I believe Parrot has similar stuff for platform independent
>  > interfaces, though it doesn't use apr or port. You can help to figure
>  > out what are the specific functions used by GC and try to wrap them
>  > into gc_gen/common/gc_platform.h.
>  >
>  > For 2, these are the true stuff needing helps from Parrot community.
>  > We need understand the interfaces provided by Parrot for memory
>  > management, and try to match them with Harmony interface. It would be
>  > great if you can sort out the interfaces of the two VMs.
>  >
>  > Thanks,
>  > xiaofeng
>  >
>  > On Tue, Apr 1, 2008 at 4:20 AM, Senaka Fernando <se...@gmail.com>
>  > wrote:
>  > > Hi all,
>  > >
>  > >  I compiled gc_gen separately, using just the headers and source defined
>  > > inside the gc_gen. I ran into a great number of error messages. I have
>  > > attached herewith the list of errors. This serves as a guideline of each
>  > and
>  > > every resource required by the GC, which is beyond its scope. The build
>  > > script used is, a simple g++ call that will include each and every
>  > header
>  > > and compile each and every source file within the gc_gen folder.
>  > >
>  > >  Please send in your valuable contributions regarding what should
>  > remain,
>  > > and what should go out. This file is pretty lengthy, therefore I believe
>  > > that we can take this little by little. I'm sending the first 1000 lines
>  > of
>  > > around 70000. Most of the errors are repeated in various forms. Thus
>  > > resolution of these should see a significant reduction of errors.
>  > >
>  > >  Regards,
>  > >  Senaka
>  >
>  >
>  >
>  > --
>  > http://xiao-feng.blogspot.com
>  >
>



-- 
http://xiao-feng.blogspot.com

Re: Errors when Compiling gc_gen separately

Posted by Senaka Fernando <se...@gmail.com>.
Hi Xiao-Feng,

OK. Also, I have one more question. Unless otherwise someone has to write a
porting layer, isn't it better that we keep the required number of includes
etc. at a minimum. This will help us plug the GC to any other application as
a whole. However, we may need a platform-auto-sense. VM stuff of course will
be replaced.

And, I would like to know your opinion about whether you expect me to use
some of the Harmony includes (in vm/include) in the process, or whether my
starting point is the gc_gen directory?

Regards,
Senaka

On Tue, Apr 1, 2008 at 6:53 AM, Xiao-Feng Li <xi...@gmail.com> wrote:

> Fernando, thanks for the try. You probably should be able to figure
> out the issues. :-)
>
> The first couple of lines state required header files are missing:
>
> src/common/gc_common.h:25:21: error: cxxlog.h: No such file or directory
> src/common/gc_common.h:26:23: error: port_vmem.h: No such file or
> directory
> src/common/gc_common.h:28:31: error: platform_lowlevel.h: No such file
> or directory
> src/common/gc_common.h:30:24: error: open/types.h: No such file or
> directory
> src/common/gc_common.h:31:24: error: open/vm_gc.h: No such file or
> directory
> src/common/gc_common.h:32:21: error: open/vm.h: No such file or directory
> src/common/gc_common.h:33:21: error: open/gc.h: No such file or directory
> src/common/gc_common.h:34:25: error: port_malloc.h: No such file or
> directory
> In file included from src/common/gc_for_class.h:26,
>                 from src/common/gc_common.h:36,
>                 from src/common/collection_scheduler.cpp:18:
> src/common/gc_platform.h:26:25: error: port_atomic.h: No such file or
> directory
> src/common/gc_platform.h:28:27: error: port_barriers.h: No such file
> or directory
> src/common/gc_platform.h:40:22: error: apr_time.h: No such file or
> directory
> src/common/gc_platform.h:41:24: error: apr_atomic.h: No such file or
> directory
> src/common/gc_platform.h:43:31: error: open/hythread_ext.h: No such
> file or directory
>
>
> The header files missed shown above are basically in two categories:
> 1. platform (in)dependent stuff, like platform_lowlevel.h,
> port_atomic.h, apr_atomic.h, etc.
> 2. vm (in)dependent stuff, such as those under open/ directory. They
> define the interfaces or contract between GC and VM.
>
> For 1, I believe Parrot has similar stuff for platform independent
> interfaces, though it doesn't use apr or port. You can help to figure
> out what are the specific functions used by GC and try to wrap them
> into gc_gen/common/gc_platform.h.
>
> For 2, these are the true stuff needing helps from Parrot community.
> We need understand the interfaces provided by Parrot for memory
> management, and try to match them with Harmony interface. It would be
> great if you can sort out the interfaces of the two VMs.
>
> Thanks,
> xiaofeng
>
> On Tue, Apr 1, 2008 at 4:20 AM, Senaka Fernando <se...@gmail.com>
> wrote:
> > Hi all,
> >
> >  I compiled gc_gen separately, using just the headers and source defined
> > inside the gc_gen. I ran into a great number of error messages. I have
> > attached herewith the list of errors. This serves as a guideline of each
> and
> > every resource required by the GC, which is beyond its scope. The build
> > script used is, a simple g++ call that will include each and every
> header
> > and compile each and every source file within the gc_gen folder.
> >
> >  Please send in your valuable contributions regarding what should
> remain,
> > and what should go out. This file is pretty lengthy, therefore I believe
> > that we can take this little by little. I'm sending the first 1000 lines
> of
> > around 70000. Most of the errors are repeated in various forms. Thus
> > resolution of these should see a significant reduction of errors.
> >
> >  Regards,
> >  Senaka
>
>
>
> --
> http://xiao-feng.blogspot.com
>

Re: Errors when Compiling gc_gen separately

Posted by Xiao-Feng Li <xi...@gmail.com>.
Fernando, thanks for the try. You probably should be able to figure
out the issues. :-)

The first couple of lines state required header files are missing:

src/common/gc_common.h:25:21: error: cxxlog.h: No such file or directory
src/common/gc_common.h:26:23: error: port_vmem.h: No such file or directory
src/common/gc_common.h:28:31: error: platform_lowlevel.h: No such file
or directory
src/common/gc_common.h:30:24: error: open/types.h: No such file or directory
src/common/gc_common.h:31:24: error: open/vm_gc.h: No such file or directory
src/common/gc_common.h:32:21: error: open/vm.h: No such file or directory
src/common/gc_common.h:33:21: error: open/gc.h: No such file or directory
src/common/gc_common.h:34:25: error: port_malloc.h: No such file or directory
In file included from src/common/gc_for_class.h:26,
                 from src/common/gc_common.h:36,
                 from src/common/collection_scheduler.cpp:18:
src/common/gc_platform.h:26:25: error: port_atomic.h: No such file or directory
src/common/gc_platform.h:28:27: error: port_barriers.h: No such file
or directory
src/common/gc_platform.h:40:22: error: apr_time.h: No such file or directory
src/common/gc_platform.h:41:24: error: apr_atomic.h: No such file or directory
src/common/gc_platform.h:43:31: error: open/hythread_ext.h: No such
file or directory


The header files missed shown above are basically in two categories:
1. platform (in)dependent stuff, like platform_lowlevel.h,
port_atomic.h, apr_atomic.h, etc.
2. vm (in)dependent stuff, such as those under open/ directory. They
define the interfaces or contract between GC and VM.

For 1, I believe Parrot has similar stuff for platform independent
interfaces, though it doesn't use apr or port. You can help to figure
out what are the specific functions used by GC and try to wrap them
into gc_gen/common/gc_platform.h.

For 2, these are the true stuff needing helps from Parrot community.
We need understand the interfaces provided by Parrot for memory
management, and try to match them with Harmony interface. It would be
great if you can sort out the interfaces of the two VMs.

Thanks,
xiaofeng

On Tue, Apr 1, 2008 at 4:20 AM, Senaka Fernando <se...@gmail.com> wrote:
> Hi all,
>
>  I compiled gc_gen separately, using just the headers and source defined
> inside the gc_gen. I ran into a great number of error messages. I have
> attached herewith the list of errors. This serves as a guideline of each and
> every resource required by the GC, which is beyond its scope. The build
> script used is, a simple g++ call that will include each and every header
> and compile each and every source file within the gc_gen folder.
>
>  Please send in your valuable contributions regarding what should remain,
> and what should go out. This file is pretty lengthy, therefore I believe
> that we can take this little by little. I'm sending the first 1000 lines of
> around 70000. Most of the errors are repeated in various forms. Thus
> resolution of these should see a significant reduction of errors.
>
>  Regards,
>  Senaka



-- 
http://xiao-feng.blogspot.com