Boost logo

Boost-Build :

From: David Abrahams (dave_at_[hidden])
Date: 2003-03-24 21:25:05

Andre Hentz <gclbb-jamboost_at_[hidden]> writes:

> Hi. I've been experimenting with Boost.Build.v2 for a project of mine and
> having trouble with searched-lib. Here is a simple test that I built:
> toplevel/
> project-root.jam
> ----
> | import msvc ;
> ----
> boost-build.jam
> ----
> | boost-build ../tools/ ; # V2 is here!
> ----
> Jamfile
> ----
> | project top;
> | build-project sub ;
> ----
> sub/
> main.cpp
> Jamfile
> ----
> | project sub ;
> | lib openssl : : <name>libeay32 <search>c:/openssl/lib ;
> | exe main : main.cpp openssl ;
> ----
> (Note 1: I'm using link=static)
> (Note 2: For this test, I don't care about including the openssl headers.)
> A similar arrangement works find with gcc/freebsd but fails with
> msvc/win32, msvc/cygwin and gcc/cygwin for different reasons, as follows:
> gcc/cygwin:
> c:/openssl/lib is not reconized as an absolute path (the command
> line ends up containing: -Lsub/c:/openssl/lib). I can easily work around
> this one by using /cygdrive/c/openssl/lib.
> msvc/cygwin:
> error: Unknown target type RSP. I don't really care about this one
> yet.

I realize you don't, but I tried to make some changes to builtin.jam
to address it anyway. Unfortunately, a cygwin build of bjam is
failing (miserably) on the regression tests:

$ python
unit_tests : "/cygdrive/c/boost/tools/build/test/../jam_src/bin.cygwinx86/bjam -sBOOST_BUILD_PATH=/cygdr
ive/c/boost/tools/build/test/../new;/cygdrive/c/boost/tools/build/test -d0 --quiet --debug --build-system=test" returne
d 127
STDOUT ============
/cygdrive/c/boost/tools/build/test/../new/./project.jam:285: in load-jamfile from module project
error: Unable to load Jamfile.
Could not find a Jamfile in directory '.'.
Attempted to find it with pattern '[Jj]amfile [Jj]amfile.jam'.
Please consult the documentation at ''.
/cygdrive/c/boost/tools/build/test/../new/./project.jam:33: in project.load from module project
/cygdrive/c/boost/tools/build/test/../new/./build-system.jam:63: in load from module build-system
/cygdrive/c/boost/tools/build/test/../new/./modules.jam:171: in import from module modules
/cygdrive/c/boost/tools/build/test/../new/./bootstrap.jam:41: in boost-build from module
/cygdrive/c/boost/tools/build/test/../new/boost-build.jam:2: in module scope from module

STDERR ============
/cygdrive/c/boost/tools/build/test: not found

FAILED test of /cygdrive/c/boost/tools/build/test/../jam_src/bin.cygwinx86/bjam -sBOOST_BUILD_PATH=/cygdrive/c/boost/too
ls/build/test/../new;/cygdrive/c/boost/tools/build/test -d0 --quiet
at line 293 of (fail_test)
from line 246 of (run_build_system)
from line 6 of
from line 34 of (run_tests)
from line 94 of

And I've been unable to figure out what the problem is. It looks
like we may have a core bjam bug, but I can't tell.

> msvc/win32:
> warning: Unused source target { openssl.SEARCHED_LIB }
> Main target is subbug/main

That *may* not be a problem. It's just a warning. Does everything
else work?

> This is the one case I care so I went looking for reasons and fixes
> with no luck. I notice that SEARCHED_LIB cannot be consumed into a RSP so
> I added it to the NT specific section about RSPs. That didn't work because
> searched-lib-target has no name (or a related error, can't remember).
> I'd be glad to do some experiments and try fixes if someone can give
> guidance.

A nice reproducible test case would be a big help.

Dave Abrahams
Boost Consulting

Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at