Bug#591405: gcc-4.4/g++-4.4: link failure with -Wl, -no-add-needed: "invalid DSO for symbol `pthread_cancel@@GLIBC_2.0' definition"
After upgrading binutils to 2.20.51.20100710-2 from experimental, the
problem goes away:
$ g++ -v 2>&1 | grep "gcc version"
gcc version 4.4.4 (Debian 4.4.4-7)
$ ld -v
GNU ld (GNU Binutils for Debian) 2.20.51-system.20100710
$ make
g++ -Wl,-no-add-needed -shared -o lpthread.so -lpthread
g++ -Wl,-no-add-needed -o deb591405 deb591405.cpp lpthread.so
$ LD_LIBRARY_PATH=`pwd` ./deb591405
I hope Debian bug #591405 has been fixed!
So in fact this seems to be linker issue.
Reply to: