[geos-devel] Re: GEOS build scripts

Ferdinando Villa ferdinando.villa at uvm.edu
Tue Apr 20 09:52:41 EDT 2004


Sounds great - glad that's taken care of by libtool itself. I've
recovered fast and well (my doctor insisted that I absolutely needed a
tube stuck in my stomach even if it wasn't likely to find much, which in
fact it didn't).... no new insight though. I actually kind of enjoyed
the intravenous Valium after three weeks of 14h/day non-stop work...
thanks for asking.

Best,
ferdinando 

On Tue, 2004-04-20 at 08:52, strk wrote:
> I've upgraded to ltmain.sh (GNU libtool) 1.5 (1.1220 2003/04/05 19:32:58)
> and the problems seem to be gone. 
> 
> How did your recover go ? Everything fine ?
> 
> --strk;
> 
> On Wed, Apr 14, 2004 at 12:03:37PM -0400, Ferdinando Villa wrote:
> > The problem seems to come from wanting it all in a single library; since
> > the files are too many to fit on ld's command line, libtool builds the
> > library piecewise, which takes a very long time; plus, the library needs
> > to be rebuild even when a single object file changes. When we discussed
> > the code organization, I was in favor of building separate libraries and
> > use a helper script (geos-config --libs) to do the link, but was
> > outvoted in favor of the single library organization... I guess this was
> > the unforeseen drawback. Other than restructuring everything, I don't
> > see many options here (on the other hand, I'm recovering from anesthesia
> > right now, so I may see options when I wake up!)
> > 
> > sorry
> > ferdinando
> > 
> > On Wed, 2004-04-14 at 11:30, strk wrote:
> > > The disk space requirement empirically found:
> > > 
> > > When all the intermediate .o are around:
> > > 	/dev/hda3              7874560   6199124   1275420  83% /usr
> > > 
> > > After intermediate .o removal:
> > > 	/dev/hda3              7874560   2991172   4483372  41% /usr
> > > 
> > > It's a +3GB of disk space (and write) requirement !!
> > > 
> > > --strk;
> > > 
> > > On Wed, Apr 14, 2004 at 05:19:23PM +0200, strk wrote:
> > > > Just to let you understand my problem:
> > > > touching source/index/strtree/AbstractSTRtree.cpp
> > > > after a complete build makes the next build take
> > > > 4,30 minutes on a 1668.736 Mhz CPU with 775MB ram.
> > > > 
> > > > The link part is the longer. The linker is run for *every* object
> > > > file creating ALL intermediate objects:
> > > > 
> > > >   /usr/bin/ld -r -o .libs/libgeos.la-24.o .libs/TopologyException.o .libs/libgeos.la-23.o
> > > >   /usr/bin/ld -r -o .libs/libgeos.la-25.o .libs/Triangle.o .libs/libgeos.la-24.o
> > > >   [..]
> > > >   /usr/bin/ld -r -o .libs/libgeos.la-180.o .libs/UnsupportedOperationException.o .libs/libgeos.la-179.o
> > > > 
> > > > Then the last object is made a shared library, and the libgeos.la-#.o files
> > > > are removed. 
> > > > 
> > > >   gcc -shared .libs/libgeos.la-180.o   -Wl,-soname -Wl,libgeos.so.1 -o .libs/libgeos.so.1.0.0
> > > > 
> > > > Finally all object files are appended (again with an 'ar' run each) to
> > > > the libgeos.a archive:
> > > > 
> > > >  ar cru .libs/libgeos.a RelateNode.o
> > > >  : .libs/libgeos.a
> > > >  ar cru .libs/libgeos.a RelateNodeFactory.o
> > > >  : .libs/libgeos.a
> > > > 
> > > > Note that the incremental object linkage requires a lot of disk
> > > > space also, about the factorial of average object size.
> > > > 
> > > > The tools I'm using are:
> > > >  ltmain.sh (GNU libtool) 1.4.2 (1.922.2.53 2001/09/11 03:18:52)
> > > >  automake (GNU automake) 1.7.7
> > > > 
> > > > 
> > > > --strk;
> _______________________________________________
> geos-devel mailing list
> geos-devel at geos.refractions.net
> http://geos.refractions.net/mailman/listinfo/geos-devel
-- 




More information about the geos-devel mailing list