Boost logo

Boost-Build :

From: John Maddock (john_at_[hidden])
Date: 2005-04-15 10:35:53


> I don't have up-to-date V2 tests there, but some time ago they looked OK.

I tried running the v2 tests with cygwin python and cygwin built bjam, but I
just got a long list of python error messages (none of the tests actually
ran).

>> bjam --v2 won't link quickbook (lots of duplicate symbol errors), I found
>> some information on the cause here:
>> http://root.cern.ch/phpBB2/viewtopic.php?t=1696&highlight=& and seems
>> we're
>> currently doing just about everything wrong, we need:
>>
>> -Wl,--enable-runtime-pseudo-reloc -Wl,--export-all-symbols [all
>> objects] -Wl,--enable-auto-import
>
> Any ideas why those options are needed? And what they do? Especially the
> first? I'd rather figure out what's going on there and add a relevant
> test.

No idea at all, I just did a web search for the errors I was seeing and
those were the options suggested, the most important thing though is to get
rid of the version suffix on the dll name: cygwin will not link to a dll
unless it ends in ".dll". Once that's sorted we can see what other options
may still be needed.

>> Finally, since Boost.Test can't be used as a dll on Windows at all (and a
>> few other platforms like Darwin I believe), all the tests that depend
>> upon
>> Boost.Test fail as well.
>>
>> I tried building with:
>>
>> bjam --v2 runtime-link=static
>>
>> as the docs suggest, but all I got was bjam internal errors saying that
>> "runtime-link" was not a known feature.
>
> bjam --v2 link-runtime=static
>
> is the right spelling. Do you have a link to the doc which has the wrong
> one?
>
>> Is there a way to build and use static libraries, while still linking
>> against the dll runtime? If not there certainly should be, this is a
>> very
>> common build situation IMO (on Windows in any case).
>
> I think the above command should do what you're asking for.

I tried building quickbook like that but got:

error: on gcc, DLL can't be build with <link-runtime>static
error: it's suggested to use <link-runtime>static together with the
<link>static

Building with link=static seems to do what I really wanted though.

I can't remember exactly where I saw this, but
file:///c:/data/boost/develop/boost/doc/html/bbv2/reference/definitions.html
mentions <runtime-link>static.

BTW is there a list of feature variants somewhere? I was looking for the v2
equivalent of <sysinclude> the other day, but couldn't find it, likewise it
wasn't really obvious to me that <link>static was what I really wanted: if
there was a central list that explained the options and what the differences
between them were that would be a big help IMO (of course I may have just
missed it!).

Thanks,

John.

 


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk