Problem building archive libs for mipspro
I am trying to upgrade from Boost 1.30.0 to 1.31.0. My main interest is in the Regex library. I was pleased to build its libraries successfully for intel-linux, both .a and .so forms, using bjam. When trying to build the libraries for mipspro, it fails to build the .a forms, because it is trying to use ranlib. The bjam system is too unfamiliar to me to debug it, so I'm hoping somebody else can give me a remedy. (Note: I built bjam from the source in tools/build/jam_src, as described in the docs.) Here is the evidence: 69% bjam "-sTOOLS=mipspro" --stagedir=stage "-sBUILD=debug release <threading>single" stage [snip] mipspro-Archive-action bin/boost/libs/regex/build/libboost_regex.a/mipspro/debug/libboost_regex-mp-d-1_31.a --- C++ prelinker: bin/boost/libs/regex/build/libboost_regex.a/mipspro/debug/c_regex_traits.o --- [snip] Ranlib bin/boost/libs/regex/build/libboost_regex.a/mipspro/debug/libboost_regex-mp-d-1_31.a /bin/sh[2]: ranlib: not found ranlib bin/boost/libs/regex/build/libboost_regex.a/mipspro/debug/libboost_regex-mp-d-1_31.a ...failed Ranlib bin/boost/libs/regex/build/libboost_regex.a/mipspro/debug/libboost_regex-mp-d-1_31.a... ...skipped <@boost!lib>libboost_regex-mp-d-1_31.a for lack of <@boost!libs!regex!build/libboost_regex.a/mipspro/debug>libboost_regex-mp-d-1_31.a... [snip] -- 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:
When trying to build the libraries for mipspro, it fails to build the .a forms, because it is trying to use ranlib. The bjam system is too unfamiliar to me to debug it, so I'm hoping somebody else can give me a remedy. (Note: I built bjam from the source in tools/build/jam_src, as described in the docs.)
Here is the evidence:
69% bjam "-sTOOLS=mipspro" --stagedir=stage "-sBUILD=debug release <threading>single" stage [snip] mipspro-Archive-action bin/boost/libs/regex/build/libboost_regex.a/mipspro/debug/libboost_regex-mp-d-1_31.a
--- C++ prelinker: bin/boost/libs/regex/build/libboost_regex.a/mipspro/debug/c_regex_traits.o --- [snip] Ranlib bin/boost/libs/regex/build/libboost_regex.a/mipspro/debug/libboost_regex-mp-d-1_31.a
/bin/sh[2]: ranlib: not found
ranlib bin/boost/libs/regex/build/libboost_regex.a/mipspro/debug/libboost_regex-mp-d-1_31.a
...failed Ranlib bin/boost/libs/regex/build/libboost_regex.a/mipspro/debug/libboost_regex-mp-d-1_31.a...
...skipped <@boost!lib>libboost_regex-mp-d-1_31.a for lack of <@boost!libs!regex!build/libboost_regex.a/mipspro/debug>libboost_regex-mp-d-1_31.a...
[snip]
Very strange given that Boost.Build explicitly disables ranlib when running in IRIX. Could you send me the output of "bjam -v", specifically I would like to know what the "OS=<os name>" part says. Regardless you can force the disabling of ranlib directly on the command line by adding this option: -sRANLIB="" -- -- Grafik - Don't Assume Anything -- Redshift Software, Inc. - http://redshift-software.com -- rrivera/acm.org - grafik/redshift-software.com - 102708583/icq
Rene Rivera wrote:
Very strange given that Boost.Build explicitly disables ranlib when running in IRIX. Could you send me the output of "bjam -v", specifically I would like to know what the "OS=<os name>" part says.
73% bjam -v Boost.Jam Version 3.1.9. OS=IRIX. Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc. Copyright 2001 David Turner. Copyright 2001-2002 David Abrahams.
Regardless you can force the disabling of ranlib directly on the command line by adding this option: -sRANLIB=""
That worked. Thanks. And thank you for the Getting Started page in the docs. It is very clear and very helpful. -- 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:
Rene Rivera wrote:
Very strange given that Boost.Build explicitly disables ranlib when running in IRIX. Could you send me the output of "bjam -v", specifically I would like to know what the "OS=<os name>" part says.
I also tried with bjam version 3.1.4(which I use for running the regressions tests on irix every day) and 3.1.9(fresh from the trunk) and both seem to do the right thing.
Toon Knapen wrote:
Rene Rivera wrote:
Very strange given that Boost.Build explicitly disables ranlib when running in IRIX. Could you send me the output of "bjam -v", specifically I would like to know what the "OS=<os name>" part says.
I also tried with bjam version 3.1.4(which I use for running the regressions tests on irix every day) and 3.1.9(fresh from the trunk) and both seem to do the right thing.
Rene's concern about OS finally rang a bell. We have an environment variable OS = IRIX2 for our Irix machines. That apparently overrides bjam's variable. When I run 'bjam "-sTOOLS=mipspro" "-sOS=IRIX" ...', it does the right thing. I recall having this brief discussions a few years ago, when I first attempted to use bjam to build the libraries. At the time, I gave up, because Regex wasn't ready for bjam. But now it's worth another try. If bjam allows environment variables to set any of its own variables, they should be named in a way that minimizes the chance of accidental collisions. For example, I would use something like BJAM_OS instead of OS. You could also ignore environment variables, only allowing user overrides on the command line. That's up to you (Bjam developers), but the current situation is perilous. This brings me to two further questions. (1) How should OS be set for the other toolsets? Specifically, at the moment I am building for darwin, gcc, intel-linux, mipspro, and tru64cxx65. The gcc toolset would apply to various OS's (Irix, Linux on x86, 64-bit Linux on Opteron, 64-bit Linux on Itanium). Or should I just 'unsetenv OS' and expect bjam to do the right thing? (I would prefer to override OS on the command line, because it makes my recipe for running bjam easier to follow.) (2) Can someone give me a list of variables that I need to watch out for, in case I have set something else in my environment that will affect bjam? cid:part1.08030807.06090305@blueskystudios.com -- 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)
-
Rene Rivera
-
Richard Hadsell
-
Toon Knapen