Andrew Schulman
2013-06-26 23:27:34 UTC
Hi. I'm the maintainer of lftp for Cygwin. lftp builds fine for i686, but
now I'm trying to build it for x86_64, and I'm running into an error in the
link step of the example2 program:
/bin/sh ../libtool --silent --tag=CXX --mode=link g++ -ggdb -O2 -pipe
-fdebug-prefix-map=/cygdrive/c/Users/andrex/Home/dev/cygwin/lftp/lftp-4.4.8-1/build=/usr/src/debug/lftp-4.4.8-1
-fdebug-prefix-map=/cygdrive/c/Users/andrex/Home/dev/cygwin/lftp/lftp-4.4.8-1/src/lftp-4.4.8=/usr/src/debug/lftp-4.4.8-1
-Wall -Wwrite-strings -Woverloaded-virtual -fno-exceptions -fno-rtti -fno-implement-inlines -s -o example2.exe
example2.o liblftp-tasks.la -lcurses
libtool: link: warning: undefined symbols not allowed in x86_64-unknown-cygwin shared libraries
/cygdrive/c/Users/andrex/Home/dev/cygwin/lftp/lftp-4.4.8-1/build/src/.libs/proto-ftp.a(ftpclass.o): In function
`IOBufferTelnet':
/usr/src/debug/lftp-4.4.8-1/src/ftpclass.h:45: undefined reference to `DirectedBuffer::SetTranslator(DataTranslator*)'
/usr/src/debug/lftp-4.4.8-1/src/ftpclass.h:45:(.text+0x26c1): relocation truncated to fit: R_X86_64_PC32 against
undefined symbol `DirectedBuffer::SetTranslator(DataTranslator*)'
/usr/src/debug/lftp-4.4.8-1/src/ftpclass.h:45: undefined reference to `DirectedBuffer::SetTranslator(DataTranslator*)'
/usr/src/debug/lftp-4.4.8-1/src/ftpclass.h:45:(.text+0x276a): relocation truncated to fit: R_X86_64_PC32 against
undefined symbol `DirectedBuffer::SetTranslator(DataTranslator*)'
/usr/src/debug/lftp-4.4.8-1/src/ftpclass.h:43: undefined reference to `DirectedBuffer::SetTranslator(DataTranslator*)'
/usr/src/debug/lftp-4.4.8-1/src/ftpclass.h:43:(.text+0x27c1): relocation truncated to fit: R_X86_64_PC32 against
undefined symbol `DirectedBuffer::SetTranslator(DataTranslator*)'
/usr/src/debug/lftp-4.4.8-1/src/ftpclass.h:43: undefined reference to `DirectedBuffer::SetTranslator(DataTranslator*)'
and so on. There are many more errors, all complaining about
undefined reference to `DirectedBuffer::SetTranslator(DataTranslator*)'
Can someone suggest how to resolve this? I could try removing the examples
from the build, although I'm not sure that's a good idea if they're telling
me something important that's causing the build to fail. The build works
fine in 32 bits (i686).
Thanks,
Andrew.
now I'm trying to build it for x86_64, and I'm running into an error in the
link step of the example2 program:
/bin/sh ../libtool --silent --tag=CXX --mode=link g++ -ggdb -O2 -pipe
-fdebug-prefix-map=/cygdrive/c/Users/andrex/Home/dev/cygwin/lftp/lftp-4.4.8-1/build=/usr/src/debug/lftp-4.4.8-1
-fdebug-prefix-map=/cygdrive/c/Users/andrex/Home/dev/cygwin/lftp/lftp-4.4.8-1/src/lftp-4.4.8=/usr/src/debug/lftp-4.4.8-1
-Wall -Wwrite-strings -Woverloaded-virtual -fno-exceptions -fno-rtti -fno-implement-inlines -s -o example2.exe
example2.o liblftp-tasks.la -lcurses
libtool: link: warning: undefined symbols not allowed in x86_64-unknown-cygwin shared libraries
/cygdrive/c/Users/andrex/Home/dev/cygwin/lftp/lftp-4.4.8-1/build/src/.libs/proto-ftp.a(ftpclass.o): In function
`IOBufferTelnet':
/usr/src/debug/lftp-4.4.8-1/src/ftpclass.h:45: undefined reference to `DirectedBuffer::SetTranslator(DataTranslator*)'
/usr/src/debug/lftp-4.4.8-1/src/ftpclass.h:45:(.text+0x26c1): relocation truncated to fit: R_X86_64_PC32 against
undefined symbol `DirectedBuffer::SetTranslator(DataTranslator*)'
/usr/src/debug/lftp-4.4.8-1/src/ftpclass.h:45: undefined reference to `DirectedBuffer::SetTranslator(DataTranslator*)'
/usr/src/debug/lftp-4.4.8-1/src/ftpclass.h:45:(.text+0x276a): relocation truncated to fit: R_X86_64_PC32 against
undefined symbol `DirectedBuffer::SetTranslator(DataTranslator*)'
/usr/src/debug/lftp-4.4.8-1/src/ftpclass.h:43: undefined reference to `DirectedBuffer::SetTranslator(DataTranslator*)'
/usr/src/debug/lftp-4.4.8-1/src/ftpclass.h:43:(.text+0x27c1): relocation truncated to fit: R_X86_64_PC32 against
undefined symbol `DirectedBuffer::SetTranslator(DataTranslator*)'
/usr/src/debug/lftp-4.4.8-1/src/ftpclass.h:43: undefined reference to `DirectedBuffer::SetTranslator(DataTranslator*)'
and so on. There are many more errors, all complaining about
undefined reference to `DirectedBuffer::SetTranslator(DataTranslator*)'
Can someone suggest how to resolve this? I could try removing the examples
from the build, although I'm not sure that's a good idea if they're telling
me something important that's causing the build to fail. The build works
fine in 32 bits (i686).
Thanks,
Andrew.