Discussion:
build fails in Cygwin x86_64
Andrew Schulman
2013-06-26 23:27:34 UTC
Permalink
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.
Andrew Schulman
2013-06-25 03:16:13 UTC
Permalink
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.

Loading...