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.


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
/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 Bettini, PhD in Computer Science, DI, Univ. Torino
ICQ# lbetto, 16080134     (GNU/Linux User # 158233)

Boost list run by bdawes at, gregod at, cpdaniel at, john at