Andrew Maclean wrote:
I use CMake and found I had to reconfigure and after tis the correct libraries were linked in with no problems. If you run make it may look for the older libraries first.
On Thu, Sep 10, 2009 at 2:03 AM, Geoff Hilton
wrote: Andrew Maclean wrote:
I built Boost 1.40 on Linux and installed it Ok. However are the libraries singlethreaded or multithreaded? eg. the library names are like this: libboost_python.so libboost_python.so.1.40.0
The older versions had -mt- in their name. eg. libboost_python-gcc43-mt.so etc. Hi!
You can use --layout parameter to change libraries naming convention. Use the following command to see possible options:
$ bjam --help | grep -A25 layout
Thanks Andrew Indeed, I noticed this same issue as Andrew when I built it, at first I
Dmitry V. Krivenok wrote: thought this would be fine, but when I tried to compile, boost was still trying to link against the no-longer-existing -mt- versions. I ended up using --layout to use the old naming convention, but how might I go about ensuring that it compiles correctly?
I'm using Boost.Build for project management, here's my configuration:
geoff@venus:~$ cat /etc/site-config.jam # Copyright 2002, 2003 Vladimir Prus # Distributed under the Boost Software License, Version 1.0. # (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) project site-config ; using gcc ; using python : 2.6 : /usr ; import os ; local BOOST_ROOT = [ os.environ BOOST_ROOT ] ; using boost : 1.40 : <include>$(BOOST_ROOT) <library>/usr/local/lib ; lib libxslt : #no sources : <file>/usr/lib/libxslt.so.1 ; lib libxml2 : libxslt : <name>xml2 <search>/usr/lib : : <include>/usr/include/libxml2 ;
geoff@venus:~$ cat user-config.jam (possibly unnecessary, but posting for the sake of being complete).
project user-config ; import os ; local HOME = [ os.environ HOME ] ; lib opencl : #no sources : <name>OpenCL <search>$(HOME)/NVIDIA_GPU_Computing_SDK/OpenCL/common/lib/Linux64 : : <include>$(HOME)/NVIDIA_GPU_Computing_SDK/OpenCL/common/inc/ ;
geoff@venus:~/boostTest$ cat Jamroot.jam import boost ; boost.use-project ; exe boostTest : [ glob *.cpp ] : <define>BOOST_LIB_DIAGNOSTIC=1 <library>/site-config//libxml2 <library>/boost//filesystem <library>/boost//system <library>/boost//program_options <threading>multi ;
How might I make it compile correctly?
Unrelatedly, how might I improve my current jam files in any way?
Thanks, Geoff
Not quite sure I understand what you mean. Because boost is supposed to be auto-linking and such (especially with boost.build) I don't see what there is I could change. The above configuration files are all I have which are relevent, notice especially the site-config.jam file. Geoff