[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Partial linking with _RELOCATABLES - Proposed enhancement
From: |
Brian Dessent |
Subject: |
Re: Partial linking with _RELOCATABLES - Proposed enhancement |
Date: |
Wed, 29 Mar 2006 08:47:03 -0800 |
Ralf Wildenhues wrote:
> Which libtool(ize) version was used? What's the output of
> ../../libtool --config | grep "^max_cmd_len"
The libtool version is the 1.5.20-2 Cygwin package. max_cmd_len=8192.
> Anyway I guess the difference is that the report speaks about the CVS
> HEAD version of libgeos; and the ChangeLog[1] suggests that the change
> on 2006-01-31 was responsible for the change; that was post-2.2.1.
Yes, I tried building from CVS HEAD and got a much different result.
However, this time it still does not do any "ld -r", but it instead
tries to use "gcc -shared" for the final link. Something else seems
broken now though, which results in literally 13000+ lines of "undefined
reference" due to the fact that linking is done with gcc instead of g++,
and there's no -lstdc++ included:
/bin/bash ../libtool --tag=CC --mode=link gcc -g -O2 -o libgeos.la
-rpath /usr/local/lib -release 3.0.0cvs -no-undefined
algorithm/libalgorithm.la geom/libgeom.la geomgraph/libgeomgraph.la
index/libindex.la io/libio.la noding/libnoding.la
operation/liboperation.la planargraph/libplanargraph.la
precision/libprecision.la util/libutil.la
rm -fr .libs/libgeos.dll.a
gcc -shared -Wl,--whole-archive algorithm/.libs/libalgorithm.a
geom/.libs/libgeom.a geomgraph/.libs/libgeomgraph.a
index/.libs/libindex.a io/.libs/libio.a noding/.libs/libnoding.a
operation/.libs/liboperation.a planargraph/.libs/libplanargraph.a
precision/.libs/libprecision.a util/.libs/libutil.a
-Wl,--no-whole-archive -o .libs/cyggeos-3-0-0cvs.dll
-Wl,--enable-auto-image-base -Wl,--out-implib,.libs/libgeos.dll.a
Creating library file: .libs/libgeos.dll.a
algorithm/.libs/libalgorithm.a(CentroidArea.o): In function
`_ZNK4geos9algorithm12CentroidArea11getCentroidEv':
/usr/src/geos/source/algorithm/CentroidArea.cpp:62: undefined reference
to `operator new(unsigned int)'
[...snip MANY lines...]
util/.libs/libutil.a(Profiler.o): In function
`_ZN4geos4utillsERSoRKNS0_7ProfileE':
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/ostream:204: undefined
reference to `std::_Rb_tree_decrement(std::_Rb_tree_node_base*)'
collect2: ld returned 1 exit status
make[2]: *** [libgeos.la] Error 1
make[2]: Leaving directory `/usr/src/geos/source'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/geos/source'
make: *** [all-recursive] Error 1
Brian