1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
From tbm@cyrius.com Sat Nov 08 17:07:16 2008
Received: (at submit) by bugs.debian.org; 8 Nov 2008 17:07:16 +0000
X-Spam-Checker-Version: SpamAssassin 3.2.3-bugs.debian.org_2005_01_02
(2007-08-08) on rietz.debian.org
X-Spam-Level:
X-Spam-Bayes: score:0.0000 Tokens: new, 59; hammy, 151; neutral, 105; spammy,
0. spammytokens: hammytokens:0.000-+--libxml2, 0.000-+--amd64,
0.000-+--sk:libgnom, 0.000-+--Usertags, 0.000-+--H*r:1000
X-Spam-Status: No, score�.8 required0 testsL,BAYES_00,HAS_PACKAGE,
MURPHY_DRUGS_REL8,WEIRD_PORT autolearn�m
version2.3-bugs.debian.org_2005_01_02
Return-path: <tbm@cyrius.com>
Received: from sorrow.cyrius.com ([65.19.161.204])
by rietz.debian.org with esmtp (Exim 4.63)
(envelope-from <tbm@cyrius.com>)
id 1KyrHH-0002u6-Vy
for submit@bugs.debian.org; Sat, 08 Nov 2008 17:07:16 +0000
Received: by sorrow.cyrius.com (Postfix, from userid 10)
id 564C8D857; Sat, 8 Nov 2008 17:07:15 +0000 (UTC)
Received: by deprecation.cyrius.com (Postfix, from userid 1000)
id 0F2C1150B58; Sat, 8 Nov 2008 18:06:54 +0100 (CET)
Date: Sat, 8 Nov 2008 18:06:53 +0100
From: Martin Michlmayr <tbm@cyrius.com>
To: submit@bugs.debian.org
Subject: FTBFS with GCC 4.4: missing #include
Message-ID: <20081108170653.GD27323@deprecation.cyrius.com>
References: <20081108132249.5332A460DB@em64t.snowman.net>
MIME-Version: 1.0
Content-Type: text/plain; charset-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
In-Reply-To: <20081108132249.5332A460DB@em64t.snowman.net>
User-Agent: Mutt/1.5.18 (2008-05-17)
Delivered-To: submit@bugs.debian.org
Package: passepartout
Version: 0.7.0-1.1
User: debian-gcc@lists.debian.org
Usertags: ftbfs-gcc-4.4
Tags: patch
Your package fails to build with the upcoming GCC 4.4. Version 4.4
has not been released yet but I'm building with a snapshot in order
to find errors and give people an advance warning.
GCC 4.4 cleaned up some more C++ headers. You always have to #include
headers directly and cannot rely for things to be included indirectly.
You can reproduce this problem with gcc-snapshot from unstable.
> Automatic build of passepartout_0.7.0-1.1 on em64t by sbuild/amd64 0.53
...
> if x86_64-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../../src -I/usr/include/libxml++-1.0 -I/usr/lib/libxml++-1.0/include -I/usr/include/libxml2 -D_REENTRANT -I/usr/include/gtkmm-2.4 -I/usr/lib/gtkmm-2.4/include -I/usr/include/glibmm-2.4 -I/usr/lib/glibmm-2.4/include -I/usr/include/gdkmm-2.4 -I/usr/lib/gdkmm-2.4/include -I/usr/include/pangomm-1.4 -I/usr/include/atkmm-1.6 -I/usr/include/gtk-2.0 -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/lib/gtk-2.0/include -I/usr/include/cairomm-1.0 -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12 -I/usr/include/pixman-1 -I/usr/include/atk-1.0 -D_REENTRANT -I/usr/include/libgnomecanvasmm-2.6 -I/usr/lib/libgnomecanvasmm-2.6/include -I/usr/include/gtkmm-2.4 -I/usr/lib/gtkmm-2.4/include -I/usr/include/libgnomecanvas-2.0 -I/usr/include/glibmm-2.4 -I/usr/lib/glibmm-2.4/include -I/usr/include/gdkmm-2.4 -I/usr/lib/gdkmm-2.4/include -I/usr/include/pangomm-1.4 -I/usr/include/atkmm-1.6 -I/usr/include/gtk-2.0 -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/lib/gtk-2.0/include -I/usr/include/cairomm-1.0 -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12 -I/usr/include/pixman-1 -I/usr/include/atk-1.0 -I/usr/include/gail-1.0 -I/usr/include/libart-2.0 -MT stringutil.o -MD -MP -MF ".deps/stringutil.Tpo" -c -o stringutil.o stringutil.cc; \
> then mv -f ".deps/stringutil.Tpo" ".deps/stringutil.Po"; else rm -f ".deps/stringutil.Tpo"; exit 1; fi
> In file included from stringutil.cc:4:
> stringutil.h: In function 'C to(const std::string&)':
> stringutil.h:25: error: 'EOF' was not declared in this scope
> stringutil.cc: In function 'std::string to_roman(int)':
> stringutil.cc:80: warning: deprecated conversion from string constant to 'char*'
> stringutil.cc:80: warning: deprecated conversion from string constant to 'char*'
> stringutil.cc:80: warning: deprecated conversion from string constant to 'char*'
> stringutil.cc:80: warning: deprecated conversion from string constant to 'char*'
> stringutil.cc:80: warning: deprecated conversion from string constant to 'char*'
> stringutil.cc:80: warning: deprecated conversion from string constant to 'char*'
> stringutil.cc:80: warning: deprecated conversion from string constant to 'char*'
> stringutil.cc:80: warning: deprecated conversion from string constant to 'char*'
> stringutil.cc:80: warning: deprecated conversion from string constant to 'char*'
> stringutil.cc:80: warning: deprecated conversion from string constant to 'char*'
> make[4]: *** [stringutil.o] Error 1
> make[4]: Leaving directory `/build/tbm/passepartout-0.7.0/src/util'
--- src/util/stringutil.h~ 2008-11-08 16:48:10.000000000 +0000
+++ src/util/stringutil.h 2008-11-08 16:48:25.000000000 +0000
@@ -4,6 +4,7 @@
// Copyright (C) 2002 - 2004, Fredrik Arnerup & Rasmus Kaj, See COPYING
///
#include "typeinfo.h"
+#include <cstdio>
#include <string>
#include <sstream>
#include <stdexcept>
--- src/util/warning.cc~ 2008-11-08 16:48:33.000000000 +0000
+++ src/util/warning.cc 2008-11-08 16:48:43.000000000 +0000
@@ -2,6 +2,7 @@
// Copyright (C) 2002 - 2004, Fredrik Arnerup & Rasmus Kaj, See COPYING
///
#include "warning.h"
+#include <cstdio>
class NullFdBuf : public std::streambuf {
public:
--- src/util/filedescriptors.cc~ 2008-11-08 16:49:15.000000000 +0000
+++ src/util/filedescriptors.cc 2008-11-08 16:49:23.000000000 +0000
@@ -5,6 +5,7 @@
#include "filesys.h"
#include <fcntl.h>
#include <unistd.h>
+#include <cstdio>
int
filedesc::move(int to, int from) {
--
Martin Michlmayr
http://www.cyrius.com/
|