
Thank you very much for your quick response. I greatly appreciate it. On Sat, 25 Dec 2010 10:42:15 +0300, Vladimir Prus <vladimir@codesourcery.com> wrote:
First, you can use -sICU_PATH=/home/bgamari/OE/angstrom-dev/sysroots/armv7a-angstrom-linux- gnueabi/usr/ to specify where ICU is to be found and checked.
Ahh hah! Thanks. Problem solved. Are these options documented anywhere?
As indicated in the documentation, I have tried passing target-os=linux/python=2.6 to bjam
What documentation is that? Although I kinda understand what this syntax is telling Boost.Build, I am totally confused as to why you might want to do that.
http://www.boost.org/doc/libs/1_36_0/libs/python/doc/building.html Although I might be misunderstanding this as the link that I think is supposed to clarify the vague comment seems to be broken.
but this does not appear to change bjam's behavior at all. When the build process begins, bjam produces this cryptic hint,
error: No best alternative for /python_for_extensions next alternative: required properties: <python>2.6 <target-os>linux matched
Please run with --debug-configuration. This should print absolute paths to user-config.jam, site-config.jam and project-config.jam that are being loaded. Examine them to make sure only your user-config.jam configures Python. Let me know if this hlps.
Ahh, it seems that bootstrap.sh autogenerates project-config.jam, including a directive for the python configuration. This seems to be overriding user-config.jam. As it turns out, a path-constant directive for ICU_PATH is also present in this file. Is there some way to set the configuration file precedence such that user-config overrides project-config? It seems like this should be the case by default, if we are going to automatically generate project-config in bootstrap.sh. Otherwise packagers have to resort to sed'ing out lines which don't reflect their desired configuration. I commented out all but the correct 'using python' directive, using python : 2.6 : /home/bgamari/OE/angstrom-dev/sysroots/armv7a-angstrom-linux-gnueabi/usr ; and the build system seems to have the right idea, notice: [python-cfg] Details of this Python configuration: notice: [python-cfg] interpreter command: "/home/bgamari/OE/angstrom-dev/sysroots/armv7a-angstrom-linux-gnueabi/usr/bin/python2.6" notice: [python-cfg] include path: "/home/bgamari/OE/angstrom-dev/sysroots/armv7a-angstrom-linux-gnueabi/usr/include/python2.6" notice: [python-cfg] library path: "/home/bgamari/OE/angstrom-dev/sysroots/armv7a-angstrom-linux-gnueabi/usr/lib/python2.6/config" "/home/bgamari/OE/angstrom-dev/sysroots/armv7a-angstrom-linux-gnueabi/usr/lib" yet the build still fails, gcc.compile.c++ bin.v2/libs/python/build/gcc-target/release/threading-multi/list.o "arm-angstrom-linux-gnueabi-g++" "-march=armv7-a" "-mtune=cortex-a8" "-mfpu=neon" "-mfloat-abi=softfp" "-L/home/bgamari/OE/angstrom-dev/sysroots/armv7a-a ngstrom-linux-gnueabi/usr/lib" "-Wl,-rpath-link,/home/bgamari/OE/angstrom-dev/sysroots/armv7a-angstrom-linux-gnueabi/usr/lib" "-Wl,-O1" "-Wl,--hash-style=gnu" "-mthumb-interwork" "-mno-thumb" -ftemplate-depth-128 -isystem/home/bgamari/OE/angstrom-dev/sysroots/armv7a-angstrom-linux-gnueabi/usr/include -O3 -finline-fu nctions -Wno-inline -Wall -pthread -fPIC -DBOOST_ALL_NO_LIB=1 -DBOOST_PYTHON_SOURCE -DNDEBUG -I"." -c -o "bin.v2/libs/python/build/gcc-target/release/threadi ng-multi/list.o" "libs/python/src/list.cpp" In file included from ./boost/python/detail/prefix.hpp:13:0, from ./boost/python/list.hpp:8, from libs/python/src/list.cpp:5: ./boost/python/detail/wrap_python.hpp:50:23: fatal error: pyconfig.h: No such file or directory compilation terminated. ...failed gcc.compile.c++ bin.v2/libs/python/build/gcc-target/release/threading-multi/list.o... It seems that the build system knows the correct include path, but for some reason neglects to add it to the compiler command line. Any ideas? - Ben