
We seem to have an alarming number of new regression with two Linux toolsets, "gcc-2.95.3-stlport-4.5.3-linux" and "intel-8.0-linux" -- http://tinyurl.com/5p5ru. Intel looks particularly bad, due to what seems to be a problem with system headers: /opt/intel_cc_80/include/c++/functional(132): error: identifier "_Tq" is undefined ?bool operator()(const _Ty& _Left, const _Tq& _Right) const ? ^ detected during instantiation of class "std::less<_Ty> [with _Ty=boost::detail::sp_counted_base *]" at line 432 of "/boost/head-regression/boost/boost/detail/shared_count.hpp" compilation aborted for /boost/head-regression/boost/libs/test/build/../src/test_tools.cpp (code 2) . /opt/intel_cc_80/bin/iccvars.sh icpc -c -w1 -DBOOST_TEST_NO_AUTO_LINK=1 -g -O0 -I"../bin/boost/libs/test/build" -I"/boost/head-regression/boost" -o "../bin/boost/libs/test/build/libboost_test_exec_monitor.a/intel-8.0-linux/debug/test_tools.o" "/boost/head-regression/boost/libs/test/build/../src/test_tools.cpp" The problems with GCC/STLPort are different: the linker cannot find a number of different _STL:: symbols that supposedly should be present in the library: Linker output [2004-10-02 04:30:36 UTC]: ../bin/boost/libs/dynamic_bitset/dyn_bitset_unit_tests1.test/gcc-2.95.3-stlport-4.5.3-linux/debug/dyn_bitset_unit_tests1.o(.text+0x501): In function `boost::execution_monitor::execute(bool, int)': /boost/head-regression/boost/libs/test/src/execution_monitor.cpp:245: undefined reference to `_STL::domain_error type_info function' ../bin/boost/libs/dynamic_bitset/dyn_bitset_unit_tests1.test/gcc-2.95.3-stlport-4.5.3-linux/debug/dyn_bitset_unit_tests1.o(.text+0x5c5):/boost/head-regression/boost/libs/test/src/execution_monitor.cpp:247: undefined reference to `_STL::invalid_argument type_info function' ../bin/boost/libs/dynamic_bitset/dyn_bitset_unit_tests1.test/gcc-2.95.3-stlport-4.5.3-linux/debug/dyn_bitset_unit_tests1.o(.text+0x691):/boost/head-regression/boost/libs/test/src/execution_monitor.cpp:249: undefined reference to `_STL::length_error type_info function' ../bin/boost/libs/dynamic_bitset/dyn_bitset_unit_tests1.test/gcc-2.95.3-stlport-4.5.3-linux/debug/dyn_bitset_unit_tests1.o(.text+0x765):/boost/head-regression/boost/libs/test/src/execution_monitor.cpp:251: undefined reference to `_STL::out_of_range type_info function' ../bin/boost/libs/dynamic_bitset/dyn_bitset_unit_tests1.test/gcc-2.95.3-stlport-4.5.3-linux/debug/dyn_bitset_unit_tests1.o(.text+0x841):/boost/head-regression/boost/libs/test/src/execution_monitor.cpp:253: undefined reference to `_STL::range_error type_info function' ../bin/boost/libs/dynamic_bitset/dyn_bitset_unit_tests1.test/gcc-2.95.3-stlport-4.5.3-linux/debug/dyn_bitset_unit_tests1.o(.text+0x915):/boost/head-regression/boost/libs/test/src/execution_monitor.cpp:255: undefined reference to `_STL::overflow_error type_info function' ../bin/boost/libs/dynamic_bitset/dyn_bitset_unit_tests1.test/gcc-2.95.3-stlport-4.5.3-linux/debug/dyn_bitset_unit_tests1.o(.text+0x9f1):/boost/head-regression/boost/libs/test/src/execution_monitor.cpp:257: undefined reference to `_STL::underflow_error type_info function' ../bin/boost/libs/dynamic_bitset/dyn_bitset_unit_tests1.test/gcc-2.95.3-stlport-4.5.3-linux/debug/dyn_bitset_unit_tests1.o(.text+0xac5):/boost/head-regression/boost/libs/test/src/execution_monitor.cpp:259: undefined reference to `_STL::logic_error type_info function' ../bin/boost/libs/dynamic_bitset/dyn_bitset_unit_tests1.test/gcc-2.95.3-stlport-4.5.3-linux/debug/dyn_bitset_unit_tests1.o(.text+0xba1):/boost/head-regression/boost/libs/test/src/execution_monitor.cpp:261: undefined reference to `_STL::runtime_error type_info function' ../bin/boost/libs/dynamic_bitset/dyn_bitset_unit_tests1.test/gcc-2.95.3-stlport-4.5.3-linux/debug/dyn_bitset_unit_tests1.o(.text+0x18d9): In function `main': /boost/head-regression/boost/boost/test/minimal.hpp:135: undefined reference to `_STL::cerr' ../bin/boost/libs/dynamic_bitset/dyn_bitset_unit_tests1.test/gcc-2.95.3-stlport-4.5.3-linux/debug/dyn_bitset_unit_tests1.o(.text+0x1959):/boost/head-regression/boost/boost/test/minimal.hpp:141: undefined reference to `_STL::cout' ../bin/boost/libs/dynamic_bitset/dyn_bitset_unit_tests1.test/gcc-2.95.3-stlport-4.5.3-linux/debug/dyn_bitset_unit_tests1.o(.text+0x1b2f):/boost/head-regression/boost/boost/test/minimal.hpp:130: undefined reference to `_STL::cerr' ../bin/boost/libs/dynamic_bitset/dyn_bitset_unit_tests1.test/gcc-2.95.3-stlport-4.5.3-linux/debug/dyn_bitset_unit_tests1.o(.text+0x1cba): In function `__static_initialization_and_destruction_0': /usr/local/gcc-2.95.3/stlport-4.5.3/include/stlport/locale:145: undefined reference to `_STL::ios_base::_Loc_init::_Loc_init(void)' ../bin/boost/libs/dynamic_bitset/dyn_bitset_unit_tests1.test/gcc-2.95.3-stlport-4.5.3-linux/debug/dyn_bitset_unit_tests1.o(.text+0x1cca): In function `__static_initialization_and_destruction_0': /usr/local/gcc-2.95.3/stlport-4.5.3/include/stlport/iostream:71: undefined reference to `_STL::ios_base::Init::Init(void)' ... It might be a problem with the toolset, but it's hard to say without seeing the linker's command line. Martin, would it be possible for you to modify your regression driver to always run with "-d2" flag? In any case, any help on timely resolution of the above issues would be highly appreciated. -- Aleksey Gurtovoy MetaCommunications Engineering

Aleksey Gurtovoy wrote:
We seem to have an alarming number of new regression with two Linux toolsets, "gcc-2.95.3-stlport-4.5.3-linux" and "intel-8.0-linux" -- http://tinyurl.com/5p5ru. Intel looks particularly bad, due to what seems to be a problem with system headers:
Ahh, some problems were caused by the switch from icc to icpc. My workaround for finding the system headers only worked for icc. I'll patch icpc accordingly and we'll see which problems will remain.
The problems with GCC/STLPort are different: the linker cannot find a number of different _STL:: symbols that supposedly should be present in the library:
Linker output [2004-10-02 04:30:36 UTC]: [...]
It might be a problem with the toolset, but it's hard to say without seeing the linker's command line. Martin, would it be possible for you to modify your regression driver to always run with "-d2" flag?
In case of an error, the command line is printed below the error messages: set -e LD_LIBRARY_PATH=/usr/local/gcc-2.95.3/stlport-4.5.3/lib:/usr/local/gcc-2.95.3/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH "/usr/local/gcc-2.95.3/bin/g++" -g -pthread -o "../bin/boost/libs/date_time/test/testdate.test/gcc-2.95.3-stlport-4.5.3-linux/debug/testdate" -L"../bin/boost/libs/date_time/build/libboost_date_time.a/gcc-2.95.3-stlport-4.5.3-linux/debug" -L"/usr/local/gcc-2.95.3/stlport-4.5.3/lib" -L"/usr/local/gcc-2.95.3/lib" "../bin/boost/libs/date_time/test/testdate.test/gcc-2.95.3-stlport-4.5.3-linux/debug/testdate.o" "../bin/boost/libs/date_time/build/libboost_date_time.a/gcc-2.95.3-stlport-4.5.3-linux/debug/libboost_date_time-gcc295-gdp-1_32.a" "../bin/boost/libs/date_time/build/libboost_date_time.a/gcc-2.95.3-stlport-4.5.3-linux/debug/libboost_date_time-gcc295-gdp-1_32.a" -lrt -Wl,-rpath-link,. Looks like there's neither -llibstlport_gcc nor -llibstlport_gcc_stldebug anywhere in the commandline. The search path is set up correctly. Regards, m

Ahh, some problems were caused by the switch from icc to icpc. My workaround for finding the system headers only worked for icc. I'll patch icpc accordingly and we'll see which problems will remain.
Or you can set INTEL_CXX=icc to revert to the old behaviour, but of course this won't work when you upgrade to 8.1. John.
participants (3)
-
Aleksey Gurtovoy
-
John Maddock
-
Martin Wille