[Pkg-scicomp-devel] Bug#455670: FTBFS with GCC 4.3: missing #includes

Martin Michlmayr tbm at cyrius.com
Tue Dec 11 04:03:39 UTC 2007


Package: libmesh
Version: 0.6.0~rc2.dfsg-3
Usertags: ftbfs-gcc-4.3

Your package fails to build with GCC 4.3.  Version 4.3 has not been
released yet but I'm building with a snapshot in order to find errors
and give people an advance warning.  In GCC 4.3, the C++ header
dependencies have been cleaned up.  The advantage of this is that
programs will compile faster.  The downside is that you actually
need to directly #include everything you use (but you really should
do this anyway, otherwise your program won't work with any compiler
other than GCC).  There's some more information about this at
http://www.cyrius.com/journal/2007/05/10#gcc-4.3-include

You can reproduce this problem with gcc-snapshot from unstable.  Note
that Red Hat, Novell and Ubuntu have done some work getting packages
to build with GCC 4.3 so there might be patches floating around
somewhere.  I suggest you talk to your upstream.

> Automatic build of libmesh_0.6.0~rc2.dfsg-3 on em64t by sbuild/amd64 0.53
...
> Compiling C++ (in optimized mode) src/geom/edge_inf_edge2.C...
> Compiling C++ (in optimized mode) src/geom/elem.C...
> Compiling C++ (in optimized mode) src/geom/elem_quality.C...
> Compiling C++ (in optimized mode) src/geom/elem_refinement.C...
> In file included from /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.3.0/../../../../include/c++/4.3.0/backward/hash_map:64,
>                  from /build/tbm/libmesh-0.6.0~rc2.dfsg/include/mesh/mesh_refinement.h:36,
>                  from src/geom/elem_refinement.C:26:
> /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.3.0/../../../../include/c++/4.3.0/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider use of an equivalent, non-deprecated interface for the requested functionality. A list of valid replacements is as follows: Use: Instead of: <sstream>, basic_stringbuf <strstream>, strstreambuf <sstream>, basic_istringstream <strstream>, istrstream <sstream>, basic_ostringstream <strstream>, ostrstream <sstream>, basic_stringstream <strstream>, strstream <unordered_set>, unordered_set <ext/hash_set>, hash_set <unordered_set>, unordered_multiset <ext/hash_set>, hash_multiset <unordered_map>, unordered_map <ext/hash_set>, hash_map <unordered_map>, unordered_multimap <ext/hash_set>, hash_multimap <functional>, bind <functional>, binder1st <functional>, bind <functional>, binder2nd <functional>, bind <functional>, bind1st <functional>, bind <functional>, bind2nd <memory>, unique_ptr <memory>, auto_ptr To disable this warning use -Wno-deprecated.
> In file included from src/geom/elem_refinement.C:26:
> /build/tbm/libmesh-0.6.0~rc2.dfsg/include/mesh/mesh_refinement.h:541: error: ISO C++ forbids declaration of 'hash_multimap' with no type
> /build/tbm/libmesh-0.6.0~rc2.dfsg/include/mesh/mesh_refinement.h:541: error: typedef name may not be a nested-name-specifier
> /build/tbm/libmesh-0.6.0~rc2.dfsg/include/mesh/mesh_refinement.h:541: error: expected ';' before '<' token
> /build/tbm/libmesh-0.6.0~rc2.dfsg/include/mesh/mesh_refinement.h:554: error: 'map_type' does not name a type
> make[1]: *** [src/geom/elem_refinement.x86_64-pc-linux-gnu.opt.o] Error 1
> make[1]: Leaving directory `/build/tbm/libmesh-0.6.0~rc2.dfsg'
> make: *** [build-stamp] Error 2

-- 
Martin Michlmayr
http://www.cyrius.com/





More information about the Pkg-scicomp-devel mailing list