Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2003-09-25 08:30:08


brock_peabody wrote:

> I am trying to learn how to use boost build V2. Am I correct in
> thinking that it is not worthwhile to learn V1?

Probably so. IMO, V2 is simpler and quite usable.

> I have boost 1.30.2 and the latest Boost build release (3.01.07) and
> am using MSVC 7.1.
>
> Here are two issues I ran into (following the directions in the V2
> manual), but solved after much digging:
>
> 1) to get anything to build in boost, it is not enough to set
> BOOST_BUILD_PATH, you have to put all of the latest boost-build
> files in $(BOOST_ROOT)/tools/build, after which BOOST_BUILD_PATH is
> unnecessary anyway

Do you mean that it's necessary to get the most latest Boost.Build release and
copy it over /tools/build? This might well be necessary. Boost.Build V2 from
1.30.2 is really old.

> 2) The boost-build.jam file that comes with boost 1.30.2 is wrong.
> Line 12 that reads:
>
> boost-build tools/build/new ;
>
> should be:
>
> boost-build tools/build/kernel ;

:-(
Another indication of what I've said earlier. The CVS version has "kernel"
already.

> After taking care of those two issues, I can get most of boost to
> build. I can't, however, get Boost.Thread to build. First I get a
> lot of warnings that look like:
>
> ..\src\tss.cpp(155) : warning C4273: 'boost::detail::tss::tss' :
> inconsistent dll linkage

In fact, I don't know what this warning means.

> and
>
> tss.obj : warning LNK4049: locally defined symbol ??
> thread_resource_error_at_boost @@QAE_at_XZ (public: __thiscall
> boost::thread_resource_error::thread_resource_error (void)) imported
>
> and
>
> condition.obj : warning LNK4217: locally defined symbol ??
> 0thread_resource_error @boost@@QAE_at_XZ (public: __thiscall
> boost::thread_resource_error::thread_resource _error(void)) imported
> in function "public: __thiscall
> boost::detail::condition_impl::condition_impl(void)"(??
> 0condition_impl_at_detail@boost@@QAE_at_XZ)
>
> Then, I get linker errors like:
>
> tss.obj : error LNK2001: unresolved external symbol "public:
> __thiscall boost::thread_resource_error::thread_resource_error
> (class boost::thread_resource_error const &)" (??
> thread_resource_error_at_boost@@QAE_at_ABV01@@Z)

I'm at loss. Could you check if there's BOOST_THREAD_BUILD_DLL=1 in compiler
command line? If it is there, then I don't know what's could be the reason,
and probably we should ask Bill Kempf, the autor of Boost.Threads.

- Volodya

 


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