|
Boost-Build : |
From: Mike Rovner (gclbb-jamboost_at_[hidden])
Date: 2002-05-30 15:04:28
One quirk:
Python2.2.1 silently configure _FILE_OFFSET_BITS=64 (pyconfig.h line 104).
Boost first includes config.hpp and then wrap_python.hpp (in error.hpp lines
12,13).
config.hpp grabs /usr/include/sys/feature_test.h which switches on _LP64
defined for SUN compiler and defaults to 32 bits. This sequence leads to
redefinition of _FILE_OFFSET_BITS and incorrect definition on standard i/o
functions producing build errors:
$ bjam -sTOOLS=gcc
...found 675 targets...
...updating 22 targets...
gcc-C++-action
libs/python/build/bin/libboost_python.so/gcc/debug/runtime-link-dynamic/shar
ed-linkable-true/types.o
In file included from /usr/local/include/python2.2/Python.h:24,
from
/export/home/mike/boost_1_28_0/boost/python/detail/wrap_python.hpp:105,
from
/export/home/mike/boost_1_28_0/boost/python/errors.hpp:13,
from
/export/home/mike/boost_1_28_0/boost/python/detail/call_object.hpp:8,
from libs/python/src/types.cpp:11:
/usr/local/include/python2.2/pyconfig.h:104:1: warning: "_FILE_OFFSET_BITS"
redefined
/usr/include/sys/feature_tests.h:96:1: warning: this is the location of the
previous definition
In file included from /usr/local/include/g++-v3/cstdio:31,
from
/usr/local/include/g++-v3/sparc-sun-solaris2.7/bits/c++io.h:35,
from /usr/local/include/g++-v3/bits/fpos.h:39,
from /usr/local/include/g++-v3/bits/char_traits.h:40,
from /usr/local/include/g++-v3/bits/std_string.h:41,
from /usr/local/include/g++-v3/string:31,
from
/export/home/mike/boost_1_28_0/boost/function/function_base.hpp:19,
from /export/home/mike/boost_1_28_0/boost/function.hpp:22,
from
/export/home/mike/boost_1_28_0/boost/python/errors.hpp:14,
from
/export/home/mike/boost_1_28_0/boost/python/detail/call_object.hpp:8,
from libs/python/src/types.cpp:11:
/usr/local/include/g++-v3/bits/std_cstdio.h:107: `fgetpos' not declared
/usr/local/include/g++-v3/bits/std_cstdio.h:109: `fopen' not declared
/usr/local/include/g++-v3/bits/std_cstdio.h:114: `freopen' not declared
/usr/local/include/g++-v3/bits/std_cstdio.h:117: `fsetpos' not declared
/usr/local/include/g++-v3/bits/std_cstdio.h:136: `tmpfile' not declared
[...]
When I set _FILE_OFFSET_BITS=32 in pyconfig.h boost went up smoothly but I
feel it's not correct.
Comments, explanations, links to RTFM are welcome.
Regards,
Mike
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