Boost logo

Boost Users :

Subject: Re: [Boost-users] 1.40 and pch - gcc problems?
From: Vial, Florent (fvial_at_[hidden])
Date: 2009-10-13 11:26:35


Hi everyone,

I downloaded and built bjam-3.17 under linux x86_64 (RHEL 4.6).
I then built boost 1.40.0 using following command line:

../boost-jam-3.1.17/bin.linuxx86_64/bjam
--build-dir=/tmp/build-boost-1_40_0 stage --build-type=complete
--layout=tagged

My user-config.jam has just been modified so that the toolset used is
gcc4.2.3.

I got following warnings in the math library:

gcc.compile.c++
/tmp/build-boost-1_40_0/boost/bin.v2/libs/math/build/gcc-4.2.3/release/l
ink-static/assoc_laguerrel.o
libs/math/build/../src/tr1/assoc_laguerrel.cpp:6:21: warning:
/tmp/build-boost-1_40_0/boost/bin.v2/libs/math/build/gcc-4.2.3/release/l
ink-static/../src/tr1/pch.hpp.gch: created and used with different
settings of -fpic
gcc.compile.c++
/tmp/build-boost-1_40_0/boost/bin.v2/libs/math/build/gcc-4.2.3/release/l
ink-static/assoc_legendrel.o
libs/math/build/../src/tr1/assoc_legendrel.cpp:6:21: warning:
/tmp/build-boost-1_40_0/boost/bin.v2/libs/math/build/gcc-4.2.3/release/l
ink-static/../src/tr1/pch.hpp.gch: created and used with different
settings of -fpic
gcc.compile.c++
/tmp/build-boost-1_40_0/boost/bin.v2/libs/math/build/gcc-4.2.3/release/l
ink-static/betal.o
[snip lots of them]

Then the serialization library reports following warnings:

gcc.compile.c++
/tmp/build-boost-1_40_0/boost/bin.v2/libs/serialization/build/gcc-4.2.3/
release/link-static/xml_grammar.o
In file included from ./boost/archive/impl/basic_xml_grammar.hpp:59,
                 from libs/serialization/src/xml_grammar.cpp:16:
./boost/spirit/core/non_terminal/rule.hpp:18:4: warning: #warning "This
header is deprecated. Please use: boost/spirit/include/classic_rule.hpp"
In file included from libs/serialization/src/basic_xml_grammar.ipp:20,
                 from libs/serialization/src/xml_grammar.cpp:63:
./boost/spirit/core/composite/operators.hpp:18:4: warning: #warning
"This header is deprecated. Please use:
boost/spirit/include/classic_operators.hpp"
In file included from libs/serialization/src/basic_xml_grammar.ipp:21,
                 from libs/serialization/src/xml_grammar.cpp:63:
./boost/spirit/core/composite/actions.hpp:18:4: warning: #warning "This
header is deprecated. Please use:
boost/spirit/include/classic_actions.hpp"
In file included from libs/serialization/src/basic_xml_grammar.ipp:22,
                 from libs/serialization/src/xml_grammar.cpp:63:
./boost/spirit/core/primitives/numerics.hpp:18:4: warning: #warning
"This header is deprecated. Please use:
boost/spirit/include/classic_numerics.hpp"
gcc.compile.c++
/tmp/build-boost-1_40_0/boost/bin.v2/libs/serialization/build/gcc-4.2.3/
release/link-static/xml_iarchive.o
In file included from ./boost/archive/impl/basic_xml_grammar.hpp:59,
                 from ./boost/archive/impl/xml_iarchive_impl.ipp:41,
                 from libs/serialization/src/xml_iarchive.cpp:32:
./boost/spirit/core/non_terminal/rule.hpp:18:4: warning: #warning "This
header is deprecated. Please use: boost/spirit/include/classic_rule.hpp"

However, the build seems to go through.
Then i do following:

../boost-jam-3.1.17/bin.linuxx86_64/bjam
--build-dir=/tmp/build-boost-1_40_0 --build-type=complete
--layout=tagged stage

I then get following messages for the math library:

gcc.compile.c++
/tmp/build-boost-1_40_0/boost/bin.v2/libs/math/build/gcc-4.2.3/debug/lin
k-static/runtime-link-static/assoc_laguerre.o
libs/math/build/../src/tr1/assoc_laguerre.cpp:6:21: warning:
/tmp/build-boost-1_40_0/boost/bin.v2/libs/math/build/gcc-4.2.3/debug/lin
k-static/runtime-link-static/../src/tr1/pch.hpp.gch: not used because
`_REENTRANT' not defined
gcc.compile.c++
/tmp/build-boost-1_40_0/boost/bin.v2/libs/math/build/gcc-4.2.3/debug/lin
k-static/runtime-link-static/assoc_legendre.o
libs/math/build/../src/tr1/assoc_legendre.cpp:6:21: warning:
/tmp/build-boost-1_40_0/boost/bin.v2/libs/math/build/gcc-4.2.3/debug/lin
k-static/runtime-link-static/../src/tr1/pch.hpp.gch: not used because
`_REENTRANT' not defined
gcc.compile.c++
/tmp/build-boost-1_40_0/boost/bin.v2/libs/math/build/gcc-4.2.3/debug/lin
k-static/runtime-link-static/beta.o
libs/math/build/../src/tr1/beta.cpp:6:21: warning:
/tmp/build-boost-1_40_0/boost/bin.v2/libs/math/build/gcc-4.2.3/debug/lin
k-static/runtime-link-static/../src/tr1/pch.hpp.gch: not used because
`_REENTRANT' not defined
[snip lots of them]

I then type as root:

../boost-jam-3.1.17/bin.linuxx86_64/bjam install
--prefix=/usr/local/boost1400-gcc423

And get following installation:

[snip]
common.copy /usr/local/boost1400-gcc423/lib/libboost_iostreams.a
common.copy /usr/local/boost1400-gcc423/lib/libboost_math_tr1.a
common.copy /usr/local/boost1400-gcc423/lib/libboost_math_tr1f.a
common.copy /usr/local/boost1400-gcc423/lib/libboost_math_tr1l.a
...on 7500th target...
common.copy /usr/local/boost1400-gcc423/lib/libboost_math_c99.a
common.copy /usr/local/boost1400-gcc423/lib/libboost_math_c99f.a
common.copy /usr/local/boost1400-gcc423/lib/libboost_math_c99l.a
common.copy /usr/local/boost1400-gcc423/lib/libboost_program_options.a
common.copy /usr/local/boost1400-gcc423/lib/libboost_python.a
common.copy /usr/local/boost1400-gcc423/lib/libboost_serialization.a
common.copy /usr/local/boost1400-gcc423/lib/libboost_wserialization.a
common.copy /usr/local/boost1400-gcc423/lib/libboost_signals.a
common.copy /usr/local/boost1400-gcc423/lib/libboost_prg_exec_monitor.a
common.copy
/usr/local/boost1400-gcc423/lib/libboost_unit_test_framework.a
common.copy /usr/local/boost1400-gcc423/lib/libboost_thread.a
common.copy /usr/local/boost1400-gcc423/lib/libboost_wave.a
...updated 7511 targets...

However, for each library, i only have 2 files installed + 1 symbolic
link:

-rw-r--r-- 1 root root 148826 Oct 13 17:22 libboost_date_time.a
lrwxrwxrwx 1 root root 28 Oct 13 17:22 libboost_date_time.so ->
libboost_date_time.so.1.40.0
-rwxr-xr-x 1 root root 74552 Oct 13 17:22
libboost_date_time.so.1.40.0

Any idea what i might have done wrong ? (compiling under Win32/MSVC90
was no problem at all surprisingly)

Thanks in advance,
Florent

---------- Forwarded message ----------
From: "John Maddock" <j..._at_[hidden]>
Date: 4 sep, 10:25
Subject: 1.40 and pch - gcc problems?
To: BOOST Archives

>I just got1.40and tried building. I kept having some pieces fail
> with a complete build, sometimes I had gcc that ran until resources
> exausted, sometimes the compiler would segfault. Eventaully I tracked
> it down to the math library. After noticing the many errors from the
> gch (things like : error _REENTERANT not defined or used diffrent
> -fpic). I disabledpchfor the math library (actually the boost
> project and the libs/math/test) and I did not have any more issues.

Can you be more specific about the error messages? A:

bjam --with-math

will build just the math lib, if you could post the complete output that
would be most helpful.

There's something strange going on here though as it builds just fine
locally here (ubuntu Linux), and on our regression test machines
(various
Linux flavours).

Thanks, John.

JOIN US FOR THE JOURNEY. View Our New Digital Cameras: www.arridigital.com
Arnold & Richter Cine Technik GmbH & Co. Betriebs KG
Sitz: Munchen - Registergericht: Amtsgericht Munchen - Handelsregisternummer: HRA 57918
Personlich haftender Gesellschafter: Arnold & Richter Cine Technik GmbH
Sitz: Munchen - Registergericht: Amtsgericht Munchen - Handelsregisternummer: HRB 54477
Geschaftsfuhrer: Franz Kraus; Dr. Martin Prillmann


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net