Boost logo

Boost-Build :

From: Steve Byan (smb_at_[hidden])
Date: 2006-01-25 08:22:14

(Sorry this is out of order; this is the original bug description for
the fix I reported yesterday.)

I'm attempting to use boost in a project. I'm currently building on
Mac OS X 10.4.4. I'm using the configure script from the boost
distribution to generate a makefile and embed the boost build within
a recursive-gmake build environment. I want to install the boost
libraries in a local project share area rather than in /usr/local.

I'm running the configure script using this makefile rule:

boost/Makefile: boost/configure
        ( cd boost && /bin/sh ./configure --prefix=$(prefix) --with-
libraries=program_options )

In this case, $(prefix) is set to "/Users/smb/work/projects/boston/

I can make the library just fine using the configure-generated
Makefile. However, when I attempt to install boost, I get the
following output:

./tools/build/jam_src/bin.macosxppc/bjam --prefix=/Users/smb/work/
projects/boston/HEAD/boston/common/iscsi/share --exec-prefix=/Users/
smb/work/projects/boston/HEAD/boston/common/iscsi/share --libdir=/
Users/smb/work/projects/boston/HEAD/boston/common/iscsi/share/lib --
share/include -sTOOLS=darwin --with-program_options install
*** If you don't need Boost.Python, you can ignore this section ***
*** pass --without-python to suppress this message in the future ***

skipping Boost.Python library build due to missing or incorrect

couldn't find Python.h in "/System/Library/Frameworks/

You can configure the location of your python installation by setting:
PYTHON_VERSION - The 2-part python Major.Minor version number (e.g.
                  "2.2", NOT "2.2.1") - currently "2.4"

PYTHON_ROOT - currently "/System/Library/Frameworks/

The following are automatically configured from PYTHON_ROOT if not
otherwise set:

     PYTHON_LIB_PATH - path to Python library object; currently

     PYTHON_INCLUDES - path to Python #include directories;
Building Boost.Regex with the optional Unicode/ICU support disabled.
Please refer to the Boost.Regex documentation for more information
(and if you don't know what ICU is then you probably don't need it).
...found 7320 targets...
...updating 3513 targets...
MkDir1 /Users/smb/work/projects/boston
mkdir: /Users/smb/work/projects/boston: File exists

     mkdir "/Users/smb/work/projects/boston"

...failed MkDir1 /Users/smb/work/projects/boston...
...skipped <directory-grist>/Users/smb/work/projects/boston/HEAD for
lack of <directory-grist>/Users/smb/work/projects/boston...
...skipped <directory-grist>/Users/smb/work/projects/boston/HEAD/
boston for lack of <directory-grist>/Users/smb/work/projects/boston/

etc, etc.

So the boost jamfiles appear to be attempting to create the directory
"Users/smb/work/projects/boston", which already exists, and fail the
install when they get the error from mkdir.

I'm clueless on jamfiles, anyone got any pointers to where this
functionality is coded in the boost build jamfiles? Any suggested fixes?


Steve Byan <smb_at_[hidden]>
Software Architect
Egenera, Inc.
165 Forest Street
Marlboro, MA 01752
(508) 858-3125

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