Boost logo

Boost-Build :

Subject: Re: [Boost-build] path-constant in Jamroot does not work in subdirs
From: Andrej van der Zee (andrejvanderzee_at_[hidden])
Date: 2012-06-27 13:21:34


Hi Jurko dobydien!

>  Could you give a minimal project reproducing this behaviour? I tried
> reproducing it here and everything I tried seems to work fine.

Sorry for the late reply. Attached you will find a minimal project. It
does not compile, but that is not the point... This is the directory
structure:

bjam-problem
└── cgi
    â”œâ”€â”€ appl
    â””── base

If I run bjam in bjam-problem (with Jamroot) or bjam-problem/cgi/appl
it compiles as expected. In all other dirs I get a bjam-error for the
install-command as below...

It worked fine for a view years, but siince about half a year ago I
get this problem.

Thanks!
Andrej

andrej_at_amd64:~/mbrace/bjam-problem/cgi$ bjam
../cgi/base/Jamfile:15: in modules.load
*** argument error
* rule install ( name : sources * : requirements * : default-build * )
* called with: ( : cgi_base )
* missing argument name
/usr/share/boost-build/tools/stage.jam:499:see definition of rule
'install' being called
/usr/share/boost-build/build/project.jam:314: in load-jamfile
/usr/share/boost-build/build/project.jam:62: in project.load
/usr/share/boost-build/build/project.jam:766: in project.use
/usr/share/boost-build/build/project.jam:89: in load-used-projects
/usr/share/boost-build/build/project.jam:73: in load
/usr/share/boost-build/build/project.jam:115: in load-parent
/usr/share/boost-build/build/project.jam:464: in initialize
/usr/share/boost-build/build/project.jam:309: in load-jamfile
/usr/share/boost-build/build/project.jam:62: in load
/usr/share/boost-build/build/project.jam:168: in project.find
/usr/share/boost-build/build-system.jam:570: in load
/usr/share/boost-build/kernel/modules.jam:283: in import
/usr/share/boost-build/kernel/bootstrap.jam:142: in boost-build
/usr/share/boost-build/boost-build.jam:8: in module scope
andrej_at_amd64:~/mbrace/bjam-problem/cgi$ cd
appl/ base/
andrej_at_amd64:~/mbrace/bjam-problem/cgi$ cd
appl/ base/
andrej_at_amd64:~/mbrace/bjam-problem/cgi$ cd appl/
andrej_at_amd64:~/mbrace/bjam-problem/cgi/appl$ bjam
../../cgi/base/Jamfile:15: in modules.load
*** argument error
* rule install ( name : sources * : requirements * : default-build * )
* called with: ( : cgi_base )
* missing argument name
/usr/share/boost-build/tools/stage.jam:499:see definition of rule
'install' being called
/usr/share/boost-build/build/project.jam:314: in load-jamfile
/usr/share/boost-build/build/project.jam:62: in project.load
/usr/share/boost-build/build/project.jam:766: in project.use
/usr/share/boost-build/build/project.jam:89: in load-used-projects
/usr/share/boost-build/build/project.jam:73: in load
/usr/share/boost-build/build/project.jam:115: in load-parent
/usr/share/boost-build/build/project.jam:464: in initialize
/usr/share/boost-build/build/project.jam:309: in load-jamfile
/usr/share/boost-build/build/project.jam:62: in load
/usr/share/boost-build/build/project.jam:115: in load-parent
/usr/share/boost-build/build/project.jam:464: in initialize
/usr/share/boost-build/build/project.jam:309: in load-jamfile
/usr/share/boost-build/build/project.jam:62: in load
/usr/share/boost-build/build/project.jam:168: in project.find
/usr/share/boost-build/build-system.jam:570: in load
/usr/share/boost-build/kernel/modules.jam:283: in import
/usr/share/boost-build/kernel/bootstrap.jam:142: in boost-build
/usr/share/boost-build/boost-build.jam:8: in module scope
andrej_at_amd64:~/mbrace/bjam-problem/cgi/appl$ cd ../..
andrej_at_amd64:~/mbrace/bjam-problem$ bjam
...patience...
...found 364 targets...
...updating 9 targets...
gcc.compile.c++ cgi/base/bin/gcc-4.6/debug/exec.o
In file included from cgi/base/exec.cpp:3:0:
cgi/base/factory.h:8:27: fatal error: util/enforcer.h: No such file or directory
compilation terminated.

    "g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -fPIC
-DMBRACE_DEBUG -DMYSQLPP_SSQLS_NO_STATICS -D_INSTALL_PATH=/mbrace
-D_SOURCE_PATH=/home/andrej/mbrace/bjam-problem
-I"/home/andrej/mbrace/bjam-problem"
-I"/home/andrej/mbrace/bjam-problem/cgi" -I"/usr/include/glib-2.0"
-I"/usr/include/glibmm-2.4" -I"/usr/include/libxml++-2.6"
-I"/usr/include/libxml2" -I"/usr/include/mysql"
-I"/usr/lib/glib-2.0/include" -I"/usr/lib/glibmm-2.4/include"
-I"/usr/lib/libxml++-2.6/include"
-I"/usr/lib/x86_64-linux-gnu/glib-2.0/include"
-I"/usr/lib/x86_64-linux-gnu/glibmm-2.4/include"
-I"/usr/local/include" -c -o "cgi/base/bin/gcc-4.6/debug/exec.o"
"cgi/base/exec.cpp"

...failed gcc.compile.c++ cgi/base/bin/gcc-4.6/debug/exec.o...
gcc.compile.c++ cgi/base/bin/gcc-4.6/debug/calc_mva.o
cgi/base/calc_mva.cpp:2:25: fatal error: xml/getattr.h: No such file
or directory
compilation terminated.

    "g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -fPIC
-DMBRACE_DEBUG -DMYSQLPP_SSQLS_NO_STATICS -D_INSTALL_PATH=/mbrace
-D_SOURCE_PATH=/home/andrej/mbrace/bjam-problem
-I"/home/andrej/mbrace/bjam-problem"
-I"/home/andrej/mbrace/bjam-problem/cgi" -I"/usr/include/glib-2.0"
-I"/usr/include/glibmm-2.4" -I"/usr/include/libxml++-2.6"
-I"/usr/include/libxml2" -I"/usr/include/mysql"
-I"/usr/lib/glib-2.0/include" -I"/usr/lib/glibmm-2.4/include"
-I"/usr/lib/libxml++-2.6/include"
-I"/usr/lib/x86_64-linux-gnu/glib-2.0/include"
-I"/usr/lib/x86_64-linux-gnu/glibmm-2.4/include"
-I"/usr/local/include" -c -o "cgi/base/bin/gcc-4.6/debug/calc_mva.o"
"cgi/base/calc_mva.cpp"

...failed gcc.compile.c++ cgi/base/bin/gcc-4.6/debug/calc_mva.o...
gcc.compile.c++ cgi/base/bin/gcc-4.6/debug/base.o
In file included from cgi/base/base.cpp:3:0:
cgi/base/enforcer.h:5:27: fatal error: util/enforcer.h: No such file
or directory
compilation terminated.

    "g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -fPIC
-DMBRACE_DEBUG -DMYSQLPP_SSQLS_NO_STATICS -D_INSTALL_PATH=/mbrace
-D_SOURCE_PATH=/home/andrej/mbrace/bjam-problem
-I"/home/andrej/mbrace/bjam-problem"
-I"/home/andrej/mbrace/bjam-problem/cgi" -I"/usr/include/glib-2.0"
-I"/usr/include/glibmm-2.4" -I"/usr/include/libxml++-2.6"
-I"/usr/include/libxml2" -I"/usr/include/mysql"
-I"/usr/lib/glib-2.0/include" -I"/usr/lib/glibmm-2.4/include"
-I"/usr/lib/libxml++-2.6/include"
-I"/usr/lib/x86_64-linux-gnu/glib-2.0/include"
-I"/usr/lib/x86_64-linux-gnu/glibmm-2.4/include"
-I"/usr/local/include" -c -o "cgi/base/bin/gcc-4.6/debug/base.o"
"cgi/base/base.cpp"

...failed gcc.compile.c++ cgi/base/bin/gcc-4.6/debug/base.o...
gcc.compile.c++ cgi/base/bin/gcc-4.6/debug/parse_session.o
In file included from cgi/base/parse_session.cpp:2:0:
/home/andrej/mbrace/bjam-problem/cgi/base/factory.h:8:27: fatal error:
util/enforcer.h: No such file or directory
compilation terminated.

    "g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -fPIC
-DMBRACE_DEBUG -DMYSQLPP_SSQLS_NO_STATICS -D_INSTALL_PATH=/mbrace
-D_SOURCE_PATH=/home/andrej/mbrace/bjam-problem
-I"/home/andrej/mbrace/bjam-problem"
-I"/home/andrej/mbrace/bjam-problem/cgi" -I"/usr/include/glib-2.0"
-I"/usr/include/glibmm-2.4" -I"/usr/include/libxml++-2.6"
-I"/usr/include/libxml2" -I"/usr/include/mysql"
-I"/usr/lib/glib-2.0/include" -I"/usr/lib/glibmm-2.4/include"
-I"/usr/lib/libxml++-2.6/include"
-I"/usr/lib/x86_64-linux-gnu/glib-2.0/include"
-I"/usr/lib/x86_64-linux-gnu/glibmm-2.4/include"
-I"/usr/local/include" -c -o
"cgi/base/bin/gcc-4.6/debug/parse_session.o"
"cgi/base/parse_session.cpp"

...failed gcc.compile.c++ cgi/base/bin/gcc-4.6/debug/parse_session.o...
...skipped <pcgi/base/bin/gcc-4.6/debug>libcgi_base.so for lack of
<pcgi/base/bin/gcc-4.6/debug>exec.o...
^Z




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