Obsolete (?) STL header files and GCC 4.6.3 + ROOT v5.32.02 on Debian

From: Brett Viren <bv_at_bnl.gov>
Date: Sat, 5 May 2012 10:10:41 -0400


Hi,

Building v5.32.02 is failing for me with GCC 4.6.3 on Debian due to some apparently obsolete header files no longer being available. I'm using the cmake based build, (which is fantastic, btw!).

The first failure (build errors copied below) is for iostream.h. I found Debian provides the package lsb-build-base3 which has this file it at

  /usr/include/lsb3/c++/backward/iostream.h

I installed this package and added

  -DCMAKE_CXX_FLAGS:STRING='-I/usr/include/lsb3/c++/backward'

to my cmake command to pick up this "backward" area and the compilation got a little bit further.

It then failed due to missing the file stdiostream.h. Debian provides this in the package libstlport4.6-dev, but I don't want to mix this version of the STL in my system (I've never heard of this header so think it is maybe non standard (?)) so I stopped here.

Regards,
-Brett.


[ 8%] In file included from
/home/bv/work/wbls/tmp/root/5.32.02/root_v5.32.02.source/cint/cint/src/dict/libstrm.h:37:0,

                 from
                 /home/bv/work/wbls/tmp/root/5.32.02/root_v5.32.02.source/cint/cint/src/dict/libstrm.cxx:14:

/home/bv/work/wbls/tmp/root/5.32.02/root_v5.32.02.source/cint/cint/lib/stream/iostrm.h:24:22:
fatal error: iostream.h: No such file or directory compilation terminated.

[ 1%] Building CXX object
cint/cint/CMakeFiles/Cint_static.dir/src/dict/libstrm.o In file included from /usr/include/lsb3/c++/backward/iostream.h:31:0,

                 from
                 /home/bv/work/wbls/tmp/root/5.32.02/root_v5.32.02.source/cint/cint/lib/stream/iostrm.h:24,
                 from
                 /home/bv/work/wbls/tmp/root/5.32.02/root_v5.32.02.source/cint/cint/src/dict/libstrm.h:37,
                 from
                 /home/bv/work/wbls/tmp/root/5.32.02/root_v5.32.02.source/cint/cint/src/dict/libstrm.cxx:14:

/usr/include/lsb3/c++/backward/backward_warning.h:32:2: warning:
#warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated. [-Wcpp]
In file included from
/home/bv/work/wbls/tmp/root/5.32.02/root_v5.32.02.source/cint/cint/src/dict/libstrm.h:39:0,
                 from
                 /home/bv/work/wbls/tmp/root/5.32.02/root_v5.32.02.source/cint/cint/src/dict/libstrm.cxx:14:

/home/bv/work/wbls/tmp/root/5.32.02/root_v5.32.02.source/cint/cint/lib/stream/stdiostr.h:27:25:
fatal error: stdiostream.h: No such file or directory compilation terminated.

bv_at_hal:~> g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i486-linux-gnu/4.6/lto-wrapper Target: i486-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.6.3-1'

--with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++,go --prefix=/usr
--program-suffix=-4.6 --enable-shared --enable-linker-build-id
--with-system-zlib --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6
--libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin
--enable-objc-gc --enable-targets=all --with-arch-32=i586
--with-tune=generic --enable-checking=release --build=i486-linux-gnu
--host=i486-linux-gnu --target=i486-linux-gnu
Thread model: posix
gcc version 4.6.3 (Debian 4.6.3-1)

Received on Sat May 05 2012 - 16:10:56 CEST

This archive was generated by hypermail 2.2.0 : Sat May 05 2012 - 17:50:02 CEST