From: Michael D. <mi...@mi...> - 2008-04-20 20:43:53
|
Unfortunately, I've been having a very hard time trying to get bjam/ Boost.Build setup and working properly.. First, I find the distinction between "bjam" and "Boost.Build" to be very confusing (two separate projects, separate distributions, the names are used interchangeably, and you cannot seem to use one without the other), and the documentation currently available I think is quite unclear.. I read through the tutorial, installed the bjam executable in my path, and installed the boost-build distribution package in /usr/ share/boost-build. I'm able to build the projects in the examples directory, but running "bjam" in a cpp-netlib directory gives me: Jamroot:11: in modules.load *** argument error * rule use-project ( id : where ) * called with: ( /boost : ) * missing argument where /usr/share/boost-build/build/project.jam:956:see definition of rule 'use-project' being called /usr/share/boost-build/build/project.jam:312: in load-jamfile /usr/share/boost-build/build/project.jam:68: in load /usr/share/boost-build/build/project.jam:170: in project.find /usr/share/boost-build/build-system.jam:248: in load /usr/share/boost-build/kernel/modules.jam:261: in import /usr/share/boost-build/kernel/bootstrap.jam:132: in boost-build /usr/share/boost-build/boost-build.jam:1: in module scope My guess is that this means bjam &| Boost.Build cannot find the boost libraries? Interestingly enough, I can find no place in the tutorial or elsewhere in the documentation where it talks about setting this up, only the setup for your compiler. I found some talk about having to set a BOOST_ROOT variable via google, so I tried pointing this to a directory containing the boost 1.35.0 distro. Unfortunately, this just gives me a whole other set of errors. Plus, it would make little sense to me if having a source distribution is required.. mdickey@terra cpp-netlib]$ export BOOST_ROOT=/share/home/mdickey/code/ boost_1_35_0 [mdickey@terra cpp-netlib]$ bjam warning: Graph library does not contain optional GraphML reader. note: to enable GraphML support, set EXPAT_INCLUDE and EXPAT_LIBPATH to the note: directories containing the Expat headers and libraries, respectively. warning: skipping optional Message Passing Interface (MPI) library. note: to enable MPI support, add "using mpi ;" to user-config.jam. note: to suppress this message, pass "--without-mpi" to bjam. note: otherwise, you can safely ignore this message. Building Boost.Regex with the optional Unicode/ICU support disabled. Please refer to the Boost.Regex documentation for more information (don't panic: this is a strictly optional feature). /usr/share/boost-build/build/virtual-target.jam:423: in _adjust-name from module object(file-target)@558 ... Oh my! I know the autotools stuff can be a bit of a dinosaur/pain, but the good ole "./configure; make" seems a lot more friendly to me! =) There must be some simple way to say "Boost is installed in /usr/ local/". I thought about re-writing the Jamroot file to set everything up manually as a project, but I'm sure it can't be that difficult... There must be something silly and trivial that I am missing here.. Thanks for any help, -Mike |