Boost logo

Boost-Build :

From: David Abrahams (dave_at_[hidden])
Date: 2005-05-11 13:04:11


Maybe someone can shed some light. What I'm trying to do should be
simple. The problems are:

1. Project requirements in parent projects are not used in
child projects

2. The response to GCC compilation failures is not useful. Where
is the command-line of the failed invocation of g++?

3. Apparently it is attempting to build dependent targets (.exe,
.test) after their dependency (copy.o) has already failed to
build.

compilation fails when I build in
c:/src/osl/mtl4/libs/sequence/algorithm/test, as follows:

bjam gcc copy
...found 15 targets...
...updating 4 targets...
gcc.compile.c++ bin\copy.test\gcc\debug\copy.o
copy.cpp:5:50: boost/libs/sequence/algorithm/copy.hpp: No such file or directory
copy.cpp:9: error: unknown namespace `boost::sequence'
copy.cpp: In function `int main()':
copy.cpp:12: error: declaration of C function `int main()' conflicts with
c:/boost/boost/test/minimal.hpp:109: error: previous declaration `int main(int,
char**)' here
copy.cpp: In function `int main(int, char**)':
copy.cpp:17: error: `sequence' undeclared (first use this function)
copy.cpp:17: error: (Each undeclared identifier is reported only once for each
function it appears in.)
copy.cpp:17: error: parse error before `::' token
copy.cpp:13: warning: unused variable `const char hello[6]'
gcc.link bin\copy.test\gcc\debug\copy.exe
g++: bin\copy.test\gcc\debug\copy.o: No such file or directory
g++: no input files
testing.capture-output bin\copy.test\gcc\debug\copy.run
====== BEGIN OUTPUT ======
'bin\copy.test\gcc\debug\copy.exe' is not recognized as an internal or external command,
operable program or batch file.

EXIT STATUS: 9009
====== END OUTPUT ======

I still have problem 1 when I try to build with msvc:

bjam msvc-7.1 copy
...found 19 targets...
...updating 10 targets...
MkDir1 bin\copy.test\msvc-7.1
MkDir1 bin\copy.test\msvc-7.1\debug
msvc.compile.c++ bin\copy.test\msvc-7.1\debug\copy.obj bin\copy.test\msvc-7.1\debug\copy_cpp.rsp
copy.cpp
copy.cpp(5) : fatal error C1083: Cannot open include file: 'boost/libs/sequence/algorithm/copy.hpp': No such file or directory

call "C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\vcvars32.bat" > nul
cl /Zm800 -nologo -TP /Z7 /Od /Ob0 /EHsc /GR /MDd /Zc:forScope /Zc:wchar_t @"bin\copy.test\msvc-7.1\debug\copy_cpp.rsp" -c -Fo"bin\copy.test\msvc-7.1\debug\copy.obj"

...failed msvc.compile.c++ bin\copy.test\msvc-7.1\debug\copy.obj bin\copy.test\msvc-7.1\debug\copy_cpp.rsp...
...removing bin\copy.test\msvc-7.1\debug\copy_cpp.rsp

I have the following files:

c:/src/osl/mtl4/boost-build.jam:

boost-build c:/boost/tools/build/v2;

c:/src/osl/mtl4/mtl4.jam: (not relevant to my problem, I think)

import type ;
import builtin ;
import generators ;

type.register MTL4_UPLOADED : upl4 ;
generators.register-composing mtl4.upload : HTML : MTL4_UPLOADED ;

actions updated upload
{
chmod a+rx $(>)
scp $(>) boost-consulting.com:site/mtl > $(<)
}

c:/src/osl/mtl4/Jamroot:

import modules ;

import mtl4 ;

############# THIS IS HAVING NO EFFECT!?! ##############
project mtl4 : requirements <include>. <include>c:/boost ;

# .my-dir = [ modules.binding $(__name__) ] ;

# modules.poke : BOOST_BUILD_PATH
# : $(.my-dir:D)
# [ modules.peek : BOOST_BUILD_PATH ] ;

build-project libs/numeric/mtl/doc ;

c:/src/osl/mtl4/libs/numeric/mtl/doc/Jamfile:

# contents not important

c:/src/osl/mtl4/libs/sequence/algorithm/test/Jamfile:

project mtl4/sequence/algorithm ;

import testing ;
import mtl4 ;

run copy.cpp ;

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com
 

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