[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#456059: FTBFS with GCC 4.3: missing #includes



Package: aprsd
Version: 1:2.2.5-13-4
Usertags: ftbfs-gcc-4.3

More pain. :(

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 aprsd_1:2.2.5-13-4 on em64t by sbuild/amd64 0.53
...
> /usr/bin/make  all-recursive
> make[2]: Entering directory `/build/tbm/aprsd-2.2.5-13'
> Making all in src
> make[3]: Entering directory `/build/tbm/aprsd-2.2.5-13/src'
> source='aprsd.cpp' object='aprsd.o' libtool=no \
> 	depfile='.deps/aprsd.Po' tmpdepfile='.deps/aprsd.TPo' \
> 	depmode=gcc3 /bin/sh ../support/depcomp \
> 	g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../src    -g -O2 -Wall -pipe -pthread -c -o aprsd.o `test -f 'aprsd.cpp' || echo './'`aprsd.cpp
> In file included from /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.3.0/../../../../include/c++/4.3.0/backward/strstream:51,
>                  from aprsd.cpp:56:
> /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 aprsdexception.h:29,
>                  from mutex.h:36,
>                  from dupCheck.h:32,
>                  from aprsd.cpp:75:
> osdep.h: In function 'std::string aprsd::strerror_r(int)':
> osdep.h:91: error: '::strerror_r' has not been declared
> aprsd.cpp: In function 'int serverConfig(const std::string&)':
> aprsd.cpp:227: error: 'strlen' was not declared in this scope
> aprsd.cpp:241: error: 'strdup' was not declared in this scope
> aprsd.cpp:246: error: 'strdup' was not declared in this scope
> aprsd.cpp:299: error: 'strdup' was not declared in this scope
> aprsd.cpp:327: error: 'strdup' was not declared in this scope
> aprsd.cpp:332: error: 'strdup' was not declared in this scope
> aprsd.cpp:337: error: 'strdup' was not declared in this scope
> aprsd.cpp:386: error: 'strdup' was not declared in this scope
> aprsd.cpp:392: error: 'strdup' was not declared in this scope
> aprsd.cpp:395: error: 'strdup' was not declared in this scope
> aprsd.cpp:544: error: 'strdup' was not declared in this scope
> aprsd.cpp:586: error: 'strdup' was not declared in this scope
> aprsd.cpp:771: error: 'strdup' was not declared in this scope
> aprsd.cpp: In function 'int main(int, char**)':
> aprsd.cpp:936: error: 'strcmp' was not declared in this scope
> aprsd.cpp:984: error: 'strcmp' was not declared in this scope
> aprsd.cpp:1118: error: 'strcat' was not declared in this scope
> make[3]: *** [aprsd.o] Error 1
> make[3]: Leaving directory `/build/tbm/aprsd-2.2.5-13/src'

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




Reply to: