On 17 Nov 2006, at 05:13, Tom Russo wrote:
gcc -O2 -Wall makegeo.o -L/usr/local/lib -L.. -lgeotiff -lproj -
ltiff -ljpeg -lz -lm -o makegeo
/usr/bin/ld: makegeo: hidden symbol `__stack_chk_fail_local' in /
usr/lib/libc_nonshared.a(stack_chk_fail_local.oS) is referenced by
DSO
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: ld returned 1 exit status
make[1]: *** [makegeo] Error 1
make[1]: Leaving directory `/home/j0n/sources/xastir/tmp/
libgeotiff-1.2.3/bin'
make: *** [Progs] Error 2
When I built libgeotiff on my SAR team's Ubuntu machine (one that
had been
upgraded from 5.10 through 6.06 to 6.10) I did not see this
problem, but
today I did a fresh install of 6.10 on a new laptop and there it
was. I have
no idea why there should have been a difference, but there was,
exactly as
you and John have both seen.
I tracked down the issue, with the help of google on the error
message.
The really helpful search result was this one:
http://comments.gmane.org/gmane.linux.redhat.fedora.general/217819
The issue is that libgeotiff's configure script looks around for
how to build
shared libraries, and concludes that it needs to do "ld -shared" to
make
libgeotiff.so from its object files. This is, however, completely
incorrect
with GCC 4.x. The right thing to do is "gcc -shared"
The workaround is to configure libgeotiff by overriding its
internal probe
for the way to do shared libraries. That is, libgeotiff should be
built
with
./configure --with-ld-shared="gcc -shared"
make
sudo make install
Unfortunately, if I were to slam that into get-maptools, it would
probably
break the script for some other platform. Instead, I'm documenting
the
cheesy hack I did on my temporary copy of get-maptools.sh, and
adding that
to the wiki. I've tried to make it so that anyone googling on the
error
message would get a quick answer to their question, too, so it has
unfortunately bloated the step-by-step instructions somewhat. It's
still
pretty straightforward.
I'm trying your 'cheesy hack' now Tom on the LiveCD. It didn't seem
to work initially as the Makefile in the 'bin' subdirectory wasn't
receiving the 'gcc -shared' instruction/directive. Just to be sure
its not a weirdness on the liveCD's part, I'm going to start again.
I'll keep you posted.
de John
EI7IG
--
John Ronan <[EMAIL PROTECTED]>, +353-51-302938
Telecommunications Software & Systems Group, http://www.tssg.org
_______________________________________________
Xastir mailing list
Xastir@xastir.org
http://lists.xastir.org/cgi-bin/mailman/listinfo/xastir