boost static build

Asked by fantaz

Hi,
I'm using Karmic version x64, boost lib version 1.38
When building boost.thread project with flag Boost_USE_STATIC_LIBS ON, I get the errors listed below, while if I build them with
Boost_USE_STATIC_LIBS OFF, everything works fine. I mean not only builds, but it executes as it should.
Btw, the Karmic is fresh install (no upgrade). CMake, boost 1.38 and gcc are from ubuntu repos. Everything worked just fine with Jaunty (with boost 1.35 actually). Is this the boost problem, or something else?
To reproduce the above problem, just take any boost.thread tutorial and write CMakeLists.txt as described in boost docs.
best regards,
fantaz

Here are the error messages
/usr/lib/gcc/x86_64-linux-gnu/4.4.1/../../../../lib/libboost_thread-mt.a(thread.o): In function `T.1030':
(.text+0x1b8): undefined reference to `pthread_key_create'
/usr/lib/gcc/x86_64-linux-gnu/4.4.1/../../../../lib/libboost_thread-mt.a(thread.o): In function `boost::thread::detach()':
(.text+0x76d): undefined reference to `pthread_detach'
/usr/lib/gcc/x86_64-linux-gnu/4.4.1/../../../../lib/libboost_thread-mt.a(thread.o): In function `thread_proxy':
(.text+0xbd0): undefined reference to `pthread_setspecific'
/usr/lib/gcc/x86_64-linux-gnu/4.4.1/../../../../lib/libboost_thread-mt.a(thread.o): In function `thread_proxy':
(.text+0xbf5): undefined reference to `pthread_setspecific'
/usr/lib/gcc/x86_64-linux-gnu/4.4.1/../../../../lib/libboost_thread-mt.a(thread.o): In function `boost::thread::start_thread()':
(.text+0xdf0): undefined reference to `pthread_create'
/usr/lib/gcc/x86_64-linux-gnu/4.4.1/../../../../lib/libboost_thread-mt.a(thread.o): In function `boost::(anonymous namespace)::make_external_thread_data()':
(.text+0x1071): undefined reference to `pthread_setspecific'
/usr/lib/gcc/x86_64-linux-gnu/4.4.1/../../../../lib/libboost_thread-mt.a(thread.o): In function `boost::thread::timed_join(boost::posix_time::ptime const&)':
(.text+0x1811): undefined reference to `pthread_join'
/usr/lib/gcc/x86_64-linux-gnu/4.4.1/../../../../lib/libboost_thread-mt.a(thread.o): In function `boost::thread::join()':
(.text+0x1c69): undefined reference to `pthread_join'
/usr/lib/gcc/x86_64-linux-gnu/4.4.1/../../../../lib/libboost_thread-mt.a(thread.o): In function `boost::detail::(anonymous namespace)::create_current_thread_tls_key()':
(.text+0x10b): undefined reference to `pthread_key_create'
/usr/lib/gcc/x86_64-linux-gnu/4.4.1/../../../../lib/libboost_thread-mt.a(thread.o): In function `boost::detail::get_current_thread_data()':
(.text+0x224): undefined reference to `pthread_getspecific'
/usr/lib/gcc/x86_64-linux-gnu/4.4.1/../../../../lib/libboost_thread-mt.a(thread.o): In function `boost::detail::set_current_thread_data(boost::detail::thread_data_base*)':
(.text+0x474): undefined reference to `pthread_setspecific'
/usr/lib/gcc/x86_64-linux-gnu/4.4.1/../../../../lib/libboost_thread-mt.a(once.o): In function `boost::detail::get_once_per_thread_epoch()':
(.text+0xc): undefined reference to `pthread_once'
/usr/lib/gcc/x86_64-linux-gnu/4.4.1/../../../../lib/libboost_thread-mt.a(once.o): In function `boost::detail::get_once_per_thread_epoch()':
(.text+0x17): undefined reference to `pthread_getspecific'
/usr/lib/gcc/x86_64-linux-gnu/4.4.1/../../../../lib/libboost_thread-mt.a(once.o): In function `boost::detail::get_once_per_thread_epoch()':
(.text+0x42): undefined reference to `pthread_setspecific'
/usr/lib/gcc/x86_64-linux-gnu/4.4.1/../../../../lib/libboost_thread-mt.a(once.o): In function `create_epoch_tss_key':
(.text+0x6b): undefined reference to `pthread_key_create'
collect2: ld returned 1 exit status
make[2]: *** [Console/console_claw] Error 1
make[1]: *** [Console/CMakeFiles/console_claw.dir/all] Error 2
make: *** [all] Error 2

Question information

Language:
English Edit question
Status:
Open
For:
Ubuntu boost Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:

Can you help with this problem?

Provide an answer of your own, or ask fantaz for more information if necessary.

To post a message you must log in.