Building 1.31.0 with intel-linux for Itanium 2
I am trying to build the Boost libraries on an Itanium 2 Linux machine using Intel C++ 8.0. The problem is that bjam is creating a directory path for the release versions that uses the string "ebug release" instead of "release". For example: MkDir1 bin/boost/libs/regex/build/libboost_regex.a/intel-linux/ebug release intel-linux-C++-action bin/boost/libs/regex/build/libboost_regex.a/intel-linux/ebug release/c_regex_traits.o ... Despite the directory that it creates with an embedded space, everything actually continues quite well, until it tries to run ranlib: intel-linux-Archive-action bin/boost/libs/regex/build/libboost_regex.a/intel-linux/ebug release/libboost_regex-il-1_31.a Ranlib bin/boost/libs/regex/build/libboost_regex.a/intel-linux/ebug release/libboost_regex-il-1_31.a ranlib: bin/boost/libs/regex/build/libboost_regex.a/intel-linux/ebug: No such file or directory ranlib bin/boost/libs/regex/build/libboost_regex.a/intel-linux/ebug release/libboost_regex-il-1_31.a ...failed Ranlib bin/boost/libs/regex/build/libboost_regex.a/intel-linux/ebug release/libboost_regex-il-1_31.a... I built bjam with this: build.sh intel-linux And I built the libraries with this: bjam -sTOOLS=intel-linux -sINTEL_PATH=/usr/local/intel/compiler80/ia64 --with-python-root=/usr --stagedir=stage -sBUILD="debug release <threading>single" stage Can anyone suggest what might be wrong with my system? It is a loaner, so everything is untested as far as I'm concerned. I have no idea what other tools in addition to Bjam itself might be involved in causing this problem. -- Dick Hadsell 914-259-6320 Fax: 914-259-6499 Reply-to: hadsell@blueskystudios.com Blue Sky Studios http://www.blueskystudios.com 44 South Broadway, White Plains, NY 10601
Richard Hadsell wrote:
I am trying to build the Boost libraries on an Itanium 2 Linux machine using Intel C++ 8.0. The problem is that bjam is creating a directory path for the release versions that uses the string "ebug release" instead of "release". For example:
MkDir1 bin/boost/libs/regex/build/libboost_regex.a/intel-linux/ebug release intel-linux-C++-action bin/boost/libs/regex/build/libboost_regex.a/intel-linux/ebug release/c_regex_traits.o ...
I built bjam with this:
build.sh intel-linux
P.S.: The problem goes away when I build bjam with gcc: build.sh gcc So the problem must be in Bjam source code or the Intel 8.0 compiler. I'm using the latest release of icc: Intel(R) C++ Itanium(R) Compiler for Itanium(R)-based applications Version 8.0 Build 20040416 Package ID: l_cc_pc_8.0.066 -- Dick Hadsell 914-259-6320 Fax: 914-259-6499 Reply-to: hadsell@blueskystudios.com Blue Sky Studios http://www.blueskystudios.com 44 South Broadway, White Plains, NY 10601
Richard Hadsell wrote:
Richard Hadsell wrote:
I am trying to build the Boost libraries on an Itanium 2 Linux machine using Intel C++ 8.0. The problem is that bjam is creating a directory path for the release versions that uses the string "ebug release" instead of "release". For example:
MkDir1 bin/boost/libs/regex/build/libboost_regex.a/intel-linux/ebug release intel-linux-C++-action bin/boost/libs/regex/build/libboost_regex.a/intel-linux/ebug release/c_regex_traits.o ...
I built bjam with this:
build.sh intel-linux
Well I just fixed the problem of ranlib missing the quotes for the arguments. But the "ebug release" is a bizarre problem... It looks like the compiler is generating code that munges some strings. In this case it looks like it took part of a "debug release" string and used it. -- -- Grafik - Don't Assume Anything -- Redshift Software, Inc. - http://redshift-software.com -- rrivera/acm.org - grafik/redshift-software.com - 102708583/icq
Rene Rivera wrote:
Well I just fixed the problem of ranlib missing the quotes for the arguments.
That would have helped. At least it would have finished building the library, even though the path was rather unconventional.
But the "ebug release" is a bizarre problem... It looks like the compiler is generating code that munges some strings. In this case it looks like it took part of a "debug release" string and used it.
It looks like it extracted a substring starting at the second character instead of the second token. If someone familiar with the code wants to point me to the source file, I could at least send back the compiler's warnings about what it finds suspicious while building Bjam. -- Dick Hadsell 914-259-6320 Fax: 914-259-6499 Reply-to: hadsell@blueskystudios.com Blue Sky Studios http://www.blueskystudios.com 44 South Broadway, White Plains, NY 10601
Richard Hadsell
And I built the libraries with this:
bjam -sTOOLS=intel-linux -sINTEL_PATH=/usr/local/intel/compiler80/ia64 --with-python-root=/usr --stagedir=stage -sBUILD="debug release <threading>single" stage
On Linux you usually need to quote the whole string: "-sBUILD=debug release <threading>single" ^ Cheers, -- Dave Abrahams Boost Consulting http://www.boost-consulting.com
David Abrahams wrote:
Richard Hadsell
writes: nd I built the libraries with this:
bjam -sTOOLS=intel-linux -sINTEL_PATH=/usr/local/intel/compiler80/ia64 --with-python-root=/usr --stagedir=stage -sBUILD="debug release <threading>single" stage
On Linux you usually need to quote the whole string:
"-sBUILD=debug release <threading>single" ^
Thanks for the suggestion. I tried it the "Linux" way, but it didn't help. I suspect that Linux has been fixed to deal with -option="string" correctly. However, building bjam with gcc gives me a bjam that works. It's just the bjam built with intel-linux that doesn't handle the BUILD string correctly. -- Dick Hadsell 914-259-6320 Fax: 914-259-6499 Reply-to: hadsell@blueskystudios.com Blue Sky Studios http://www.blueskystudios.com 44 South Broadway, White Plains, NY 10601
participants (3)
-
David Abrahams
-
Rene Rivera
-
Richard Hadsell