Boost logo

Boost :

Subject: Re: [boost] building a run-time static version
From: Lorenzo Bettini (bettini_at_[hidden])
Date: 2009-08-18 13:41:47


Vladimir Prus wrote:
> Lorenzo Bettini wrote:
>
>> Hi
>>
>> I was trying to build a static version of the regex library (boost
>> 1.39), issuing this command:
>>
>> ./bjam --build-dir=build_static --layout=system threading=single
>> runtime-link=static link=static
>>
>> but I always get this error:
>>
>> error: link=shared together with runtime-link=static is not allowed
>> error: such property combination is either impossible
>> error: or too dangerious to be of any use
>>
>> but why is it trying to use link=shared when I explicitly specified
>> link=static?
>
> You must have an ICU installed, and Boost.Regex tries to use that automatically.
> ICU only comes as shared library. You might wish to remove the ICU_PATH
> setting in project-config.jam or whenever it's is made.

Hi

I removed the ICU reference from the project-config.jam, and managed to
build the library; however when I statically link to boost regex
library, I get

libtool: link: g++ -g -O2 -static -o check-regexp check-regexp_cmd.o
check-regexp.o -L/opt/boost/lib -lboost_regex-gcc43-mt-1_39
../gl/.libs/libgnu.a
/opt/boost/lib/libboost_regex-gcc43-mt-1_39.a(static_mutex.o): In
function `boost::scoped_static_mutex_lock::unlock()':
static_mutex.cpp:(.text+0x16): undefined reference to `pthread_mutex_unlock'
/opt/boost/lib/libboost_regex-gcc43-mt-1_39.a(static_mutex.o): In
function `boost::scoped_static_mutex_lock::lock()':

thus the library was not linked with runtime-link=static, was it? Or at
least, it builds a multi-threaded version while I requested, with
threading=single a single threaded version... I actually need to build
a static version of boost which does not depend on any other dynamic
library (because, in turn, I need to build a completely static binary
that uses boost)... where am I going wrong?

thanks in advance
        Lorenzo

-- 
Lorenzo Bettini, PhD in Computer Science, DI, Univ. Torino
ICQ# lbetto, 16080134     (GNU/Linux User # 158233)
HOME: http://www.lorenzobettini.it MUSIC: http://www.purplesucker.com
http://www.myspace.com/supertrouperabba
BLOGS: http://tronprog.blogspot.com  http://longlivemusic.blogspot.com
http://www.gnu.org/software/src-highlite
http://www.gnu.org/software/gengetopt
http://www.gnu.org/software/gengen http://doublecpp.sourceforge.net

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk