Bug#417374: FTBFS with GCC 4.3: missing #includes
Martin Michlmayr
tbm at cyrius.com
Mon Apr 2 13:35:20 UTC 2007
Package: lincity-ng
Version: 1.0.3-2
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 (20070326-1 or higher)
from unstable.
> Automatic build of lincity-ng_1.0.3-2 on coconut0 by sbuild/ia64 0.49
...
> C++ ./build/ia64-unknown-linux-gnu/optimize/src/tinygettext/TinyGetText.o
> src/tinygettext/TinyGetText.cpp: In constructor 'TinyGetText::DictionaryManager::DictionaryManager()':
> src/tinygettext/TinyGetText.cpp:186: error: 'getenv' was not declared in this scope
>
> ia64-linux-gnu-g++ -c -o ./build/ia64-unknown-linux-gnu/optimize/src/tinygettext/TinyGetText.o -DHAVE_CONFIG_H -I. -I./src -O3 -g -Wall src/tinygettext/TinyGetText.cpp
>
> src/lincity-ng/MiniMap.hpp:77: error: ISO C++ forbids declaration of 'auto_ptr' with no type
> src/lincity-ng/MiniMap.hpp:77: error: invalid use of '::'
> src/lincity-ng/MiniMap.hpp:77: error: expected ';' before '<' token
>
> ia64-linux-gnu-g++ -c -o ./build/ia64-unknown-linux-gnu/optimize/src/lincity-ng/GameView.o -DHAVE_CONFIG_H -I. -I./src -I/usr/include/libxml2 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -pthread -O3 -g -Wall -DAPPDATADIR=\"/usr/share/lincity-ng\" src/lincity-ng/GameView.cpp
>
...
> src/lincity-ng/Game.cpp:142: warning: comparison is always true due to limited range of data type
> C++ ./build/ia64-unknown-linux-gnu/optimize/src/lincity-ng/MainMenu.o
> In file included from src/lincity-ng/MainMenu.cpp:43:
> src/lincity-ng/MainMenu.hpp:76: error: ISO C++ forbids declaration of 'auto_ptr' with no type
> src/lincity-ng/MainMenu.hpp:76: error: invalid use of '::'
> src/lincity-ng/MainMenu.hpp:76: error: expected ';' before '<' token
> src/lincity-ng/MainMenu.hpp:77: error: ISO C++ forbids declaration of 'auto_ptr' with no type
> src/lincity-ng/MainMenu.hpp:77: error: invalid use of '::'
> src/lincity-ng/MainMenu.hpp:77: error: expected ';' before '<' token
--- src/tinygettext/TinyGetText.cpp~ 2007-04-02 13:26:22.000000000 +0000
+++ src/tinygettext/TinyGetText.cpp 2007-04-02 13:26:30.000000000 +0000
@@ -23,6 +23,7 @@
#if defined (HAVE_DIRENT_H)
#include <dirent.h>
#endif
+#include <cstdlib>
#include <fstream>
#include <iostream>
#include <ctype.h>
--- src/lincity-ng/MiniMap.hpp~ 2007-04-02 13:26:35.000000000 +0000
+++ src/lincity-ng/MiniMap.hpp 2007-04-02 13:26:45.000000000 +0000
@@ -24,6 +24,8 @@
#include "gui/Texture.hpp"
#include "MapPoint.hpp"
+#include <memory>
+
class XmlReader;
class Button;
class CheckButton;
--- src/lincity-ng/HelpWindow.cpp~ 2007-04-02 13:27:00.000000000 +0000
+++ src/lincity-ng/HelpWindow.cpp 2007-04-02 13:27:08.000000000 +0000
@@ -22,6 +22,7 @@
#include <sstream>
#include <stdexcept>
#include <iostream>
+#include <memory>
#include <physfs.h>
#include "tinygettext/gettext.hpp"
#include "gui/Component.hpp"
--- src/lincity-ng/MainMenu.hpp~ 2007-04-02 13:28:24.000000000 +0000
+++ src/lincity-ng/MainMenu.hpp 2007-04-02 13:28:31.000000000 +0000
@@ -19,6 +19,7 @@
#define __MAINMENU_HPP__
#include "main.hpp"
+#include <memory>
class Component;
class Desktop;
--
Martin Michlmayr
http://www.cyrius.com/
More information about the Pkg-games-devel
mailing list