Hi David - thanks for the tips. I still have some questions though. David Abrahams wrote:
"John Maddock"
wrote in message news:009501c1ed1a$a1df8ec0$1ec0193e@1016031671... I'm just trying to install Boost library under RedHat 7.2. I was following the build instructions found on the Boost website, but it seemed to fail for several targets.
...
I'm wondering if it's because RH7.2 uses its version of gcc 2.96.
That's part of your problem. 2.96 is not an official GCC release, and no 2.9x version seems to work properly with Boost.Python v1. ... Just set the GCC_ROOT_DIRECTORY variable to point at the root of your gcc-3.0.x installation. I am using
jam -sGCC_ROOT_DIRECTORY=/usr/local -sBOOST_ROOT=<boost-root> -sTOOLS=gcc
RH7.2 installed both gcc3 and gcc under /usr/bin, so which directory should I use here? The closest one I can find is /usr/lib/gcc-lib/i686-redhat-linux/3.1, but the gcc3 executable is not there. I checked out Boost from the CVS, and tried this and it didn't work (lots of errors complaining missing gcc, and about Python, see below).
... libs/python/build/bin/libboost_python_static/gcc/debug/runtime-link-dynam ic/shared-linkable-true gcc-C++-action libs/python/build/bin/libboost_python_static/gcc/debug/runtime-li nk-dynamic/shared-linkable-true/types.o In file included from boost/python/errors.hpp:13, from boost/python/detail/call_object.hpp:8, from libs/python/build/../src/types.cpp:11: boost/python/detail/wrap_python.hpp:24:24: patchlevel.h: No such file or directo ry boost/python/detail/wrap_python.hpp:100:20: Python.h: No such file or directory ...
This is a configuration issue; the build system can't find your Python installation. Again I'd suggest using the latest version of Boost from the CVS. One reason is that the build system is now much smarter about detecting your Python installation (or the lack thereof) and giving help about how to configure it. It will tell you which variables to set in order to point the build at the desired version of Python. You can force it to do that by typing:
jam -flibs/python/build/__init__.py
from the boost root directory. Another reason to use the CVS is that the CVS version of Boost.Python works much more-reliably with a wider range of compilers (2.9x isn't one of them, though).
Yes I tried this over the CVS version, still didn't work. Jam gave an error message saying that I should specify ROOT_PYTHON, so I did and tried again - failed. The problem is similar to the gcc one: there seems no single Python directory where everything is under one roof (I set the variable to /usr/lib/python2.2/ ). Thank you again for your help, Ben