[C++-sig] How to compile Boost.Python for 32bit on 64bit Linux
Philipp Münzel
mail at philippmuenzel.de
Tue Oct 5 15:41:02 CEST 2010
Hi everyone,
I'm trying to build a Boost.Python 32bit static library on a 64bit Linux
(Suse 11.3).
Of course, I have the respective python-devel and python32 packages for
my platform installed.
I build my minimal work environment of boost-thread, -system and -python
with this command:
sudo ./bjam install -q --layout=system --with-system --with-thread
--with-python toolset=gcc variant=release link=static threading=multi
runtime-link=static address-model=32
As long as I don't include the --with-python option, I get the expected
result: 32bit static libraries.
But with --with-python, I get the following error:
gcc.compile.c++
bin.v2/libs/python/build/gcc-4.5/release/address-model-32/link-static/runtime-link-static/threading-multi/numeric.o
In file included from /usr/include/python2.6/Python.h:58:0,
from ./boost/python/detail/wrap_python.hpp:142,
from ./boost/python/detail/prefix.hpp:13,
from ./boost/python/numeric.hpp:8,
from libs/python/src/numeric.cpp:6:
/usr/include/python2.6/pyport.h:685:2: error: #error "LONG_BIT
definition appears wrong for platform (bad gcc/glibc config?)."
"g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall
-pthread -m32 -DBOOST_ALL_NO_LIB=1 -DBOOST_PYTHON_SOURCE
-DBOOST_PYTHON_STATIC_LIB -DNDEBUG -I"." -I"/usr/include/python2.6" -c
-o
"bin.v2/libs/python/build/gcc-4.5/release/address-model-32/link-static/runtime-link-static/threading-multi/numeric.o"
"libs/python/src/numeric.cpp"
...failed gcc.compile.c++
bin.v2/libs/python/build/gcc-4.5/release/address-model-32/link-static/runtime-link-static/threading-multi/numeric.o...
...failed updating 1 target...
Apparently, my python headers in /usr/include/python2.6 make the
assumption that on a 64bit platform one wants to build always 64bit
libraries.
How can I compile boost.python for 32bit without having to edit the
respective header file and hard-coding the word size, which would render
it unusable for a native build?
Any help is appreciated.
Regards,
Philipp
More information about the Cplusplus-sig
mailing list