Boost logo

Boost Users :

Subject: Re: [Boost-users] Building Boost 1.40
From: Geoff Hilton (geoff.hilton_at_[hidden])
Date: 2009-09-09 12:03:57


Dmitry V. Krivenok 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
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_at_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_at_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_at_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


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