Hi,
I'm trying to build app which uses some shared library (BMS) depending on boost_thread:
- gcc 3.4.3 on Linux 32bit (native build - no cross compilation)
- boost 1.34.1 + STLport 5.0
Boost is build from scratch with STLport like this:
./bjam -a -j 8 stdlib=stlport threading=multi --without-python stage
tools/build/v2/tools/stlport.jam is modified slightly to disable libstlport.so suffixes (two lines outcommented appending _gcc and/or _stldebug) rather to modify the target machine.
BOOST builds fine (not everything, spirit for example, but it's not used in the app so I didn't bother). However, building an app reports unresolved symbol, which should be in boost_thread library. Build scripts are ok - used in the past with BOOST and native STL (and they work with BOOST 1.35 + STLport!), libraries are found... here is a part of app build command line:
usr/bin/c++ -O3 ... -o bms_ctrl -rdynamic -L/paths... -lboost_thread-gcc34-mt-p-1_34_1 ...
Which reports an error:
BMS/lib/Linux-2.6/libBMS.so: undefined reference to `boost::thread::thread(boost::function0<void,stlp_std::allocator<boost::function_base> > const&)'
Analysing the libboost_thread-gcc34-mt-p-1_34_1.so I couldn't found anything similar to undefined symbol referenced in BMS library:
' U _ZN5boost6threadC1ERKNS_9function0IvN8stlp_std9allocatorINS_13function_baseEEEEE'
If possible (problem is solved), we would prefer boost 1.34.1 over 1.35.0. Any idea / hint is very much appreciated.
Thanks in advance,
Damjan