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

Martin Michlmayr tbm at cyrius.com
Sun Apr 1 19:06:36 UTC 2007


Package: fillets-ng
Version: 0.7.3-3
Usertags: ftbfs-gcc-4.3
Tags: patch

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).  Some background of this can be found at
http://gcc.gnu.org/PR28080

You can reproduce this problem with gcc-snapshot from unstable.

> Automatic build of fillets-ng_0.7.3-3 on coconut0 by sbuild/ia64 0.49
...
> ia64-linux-gnu-g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"fillets-ng\" -DVERSION=\"0.7.3\" -DHAVE_X11=1  -I. -I.  -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/lua50  -DSYSTEM_DATA_DIR=\""/usr/share/games/fillets-ng"\" -I/usr/local/include   -g -O2 -Wall -W -Wpointer-arith -Wcast-qual -Wcast-align -Woverloaded-virtual -Wconversion -Wshadow -c OptionAgent.cpp
> OptionAgent.cpp: In member function 'void OptionAgent::prepareDataPaths()':
> OptionAgent.cpp:99: error: 'getenv' was not declared in this scope
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^66
> OptionAgent.cpp: In member function 'void OptionAgent::prepareLang()':
> OptionAgent.cpp:122: warning: conversion to 'int' from 'size_t' may alter its value
> OptionAgent.cpp:124: warning: conversion to 'long unsigned int' from 'int' may alter its value
> /usr/lib/gcc-snapshot/lib/gcc/ia64-linux-gnu/4.3.0/../../../../include/c++/4.3.0/bits/basic_string.h: In member function 'std::basic_string<_CharT, _Traits, _Alloc>::_Rep* std::basic_string<_CharT, _Traits, _Alloc>::_M_rep() const [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]':
> /usr/lib/gcc-snapshot/lib/gcc/ia64-linux-gnu/4.3.0/../../../../include/c++/4.3.0/bits/basic_string.h:496:   instantiated from 'std::basic_string<_CharT, _Traits, _Alloc>::~basic_string() [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]'
> ExInfo.h:17:   instantiated from here
> /usr/lib/gcc-snapshot/lib/gcc/ia64-linux-gnu/4.3.0/../../../../include/c++/4.3.0/bits/basic_string.h:288: warning: cast from 'char*' to 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep*' increases required alignment of target type
> make[3]: *** [OptionAgent.o] Error 1

--- src/gengine/StringTool.cpp~	2007-04-01 18:57:08.000000000 +0000
+++ src/gengine/StringTool.cpp	2007-04-01 18:57:14.000000000 +0000
@@ -8,6 +8,7 @@
  */
 #include "StringTool.h"
 
+#include <cstdlib>
 #include <sstream>
 
 //-----------------------------------------------------------------
--- src/gengine/OptionAgent.cpp~	2007-04-01 19:01:11.000000000 +0000
+++ src/gengine/OptionAgent.cpp	2007-04-01 18:55:53.000000000 +0000
@@ -23,6 +23,7 @@
 #include "UnknownMsgException.h"
 #include "minmax.h"
 
+#include <cstdlib> //getenv
 #include <string.h> //strlen
 #include <locale.h> //setlocale
 

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




More information about the Pkg-games-devel mailing list