Re: [Boost-users] 1.40 and pch - gcc problems?

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"
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
participants (1)
-
Vial, Florent