Boost logo

Boost Users :

Subject: [Boost-users] X-compile: undefined reference to `boost::this_thread::interruptible_wait using Boost 1.42
From: Joost Kraaijeveld (J.Kraaijeveld_at_[hidden])
Date: 2010-08-26 03:18:04


Hi,

I am cross compiling an application from Linux to Windows using Boost
1.42. Doing that I get an undefined reference error when linking one of
my own dll's to my own application:

/bin/bash ../../libtool --tag=CXX --mode=link i586-mingw32msvc-g++ -pipe -Wall -Wextra -Wundef -Wshadow -Wconversion -I/home/jkr/mingw/boost/include -g -O2 -Wl,--enable-runtime-pseudo-reloc,--enable-auto-import -no-undefined -L/home/jkr/mingw/boost/lib -o ORBRegistration.exe ORBRegistration-Main.o ../../../library/DagdaORB/libdagdaorb.la ../../../library/DagdaCom/libdagdacom.la /home/jkr/Programming/C++/Danu/mingw/library/DanuBase/libdanubase.la /home/jkr/Programming/C++/Danu/mingw/library/DanuStream/libdanustream.la /home/jkr/Programming/C++/Danu/mingw/library/DanuDB/libdanudb.la -lboost_system-mt -lboost_serialization-mt -lboost_thread-mt -lboost_date_time-mt -lboost_filesystem-mt -lws2_32 -lmswsock
libtool: link: i586-mingw32msvc-g++ -pipe -Wall -Wextra -Wundef -Wshadow -Wconversion -I/home/jkr/mingw/boost/include -g -O2 -Wl,--enable-runtime-pseudo-reloc -Wl,--enable-auto-import -o .libs/ORBRegistration.exe ORBRegistration-Main.o -L/home/jkr/mingw/boost/lib ../../../library/DagdaORB/.libs/libdagdaorb.a /home/jkr/Programming/C++/Dagda/mingw/library/DagdaCom/.libs/libdagdacom.a ../../../library/DagdaCom/.libs/libdagdacom.a /home/jkr/Programming/C++/Danu/mingw/library/DanuDB/.libs/libdanudb.a /home/jkr/Programming/C++/Danu/mingw/library/DanuStream/.libs/libdanustream.a /home/jkr/Programming/C++/Danu/mingw/library/DanuBase/.libs/libdanubase.a -lpthread -lodbc32 -lboost_system-mt -lboost_serialization-mt -lboost_thread-mt -lboost_date_time-mt -lboost_filesystem-mt -lws2_32 -lmswsock
../../../library/DagdaORB/.libs/libdagdaorb.a(libdagdaorb_la-IMRServer.o): In function `_ZN5boost6detail19basic_cv_list_entry4waitENS0_7timeoutE':
/home/jkr/mingw/boost/include/boost/thread/win32/condition_variable.hpp:82: undefined reference to `boost::this_thread::interruptible_wait(void*, boost::detail::timeout)'
collect2: ld returned 1 exit status

I have no idea why I get this error, and hence no idea how to solve it. Does anyone have any idea?

Additional info:
- I cross-compiled Boost itself using the Debian's gcc-mingw32 4.4.4-0.1+b1 crosscompiler,
- I used Pthreads-w32 release 2.8.0 (2006-12-22)
- The full commandline I used was (the commandline is split for readability):
        PTW32_INCLUDE=/home/jkr/mingw/pthreads/include
        PTW32_LIB=/home/jkr/mingw/pthreads/lib
        bjam
        --prefix=/home/jkr/mingw/boost
        --layout=tagged
        link=shared
        variant=debug,release
        toolset=gcc
        target-os=windows
        threading=multi,single
        runtime-link=shared
        --without-python
        --without-mpi
        -sNO_BZIP2=1
        -sNO_ZLIB=1
        install

TIA

-- 
Groeten,
Joost Kraaijeveld
Askesis B.V.
Molukkenstraat 14
6524NB Nijmegen
tel: 024-3888063 / 06-51855277
fax: 024-3608416
web: www.askesis.nl



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net