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

Reply via email to