Package: widelands
Version: 1:12-3
User: [EMAIL PROTECTED]
Usertags: ftbfs-gcc-4.4

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 widelands_1:12-3 on em64t by sbuild/amd64 0.53
...
>                  from src/game.h:23,
>                  from src/interactive_player.h:23,
>                  from src/interactive_player.cc:20:
> src/filesystem/filesystem.h:50: error: 'int32_t' does not name a type
> src/filesystem/filesystem.h:63: error: 'int32_t' has not been declared
> src/filesystem/filesystem.h:110: error: ISO C++ forbids declaration of 
> 'int32_t' with no type
> src/filesystem/filesystem.h:110: error: expected ',' or '...' before 'buflen'

Here's a partial fix:

--- src/events/event_chain.h~   2008-11-08 06:57:00.000000000 +0000
+++ src/events/event_chain.h    2008-11-08 06:57:08.000000000 +0000
@@ -23,6 +23,7 @@
 #include "named.h"
 #include "referencer.h"
 
+#include <stdint.h>
 #include <cassert>
 #include <string>
 #include <cstring>
--- src/filesystem/filesystem.h~        2008-11-08 06:55:10.000000000 +0000
+++ src/filesystem/filesystem.h 2008-11-08 06:55:22.000000000 +0000
@@ -22,6 +22,7 @@
 
 #include "filesystem_exceptions.h"
 
+#include <stdint.h>
 #include <set>
 #include <string>
 #include <cstring>
--- src/journal_exceptions.h~   2008-11-08 06:56:12.000000000 +0000
+++ src/journal_exceptions.h    2008-11-08 06:56:19.000000000 +0000
@@ -20,6 +20,7 @@
 #ifndef JOURNAL_EXCEPTIONS_H
 #define JOURNAL_EXCEPTIONS_H
 
+#include <stdint.h>
 #include <stdexcept>
 
 /**
--- src/pathfield.h~    2008-11-08 07:01:47.000000000 +0000
+++ src/pathfield.h     2008-11-08 07:01:56.000000000 +0000
@@ -20,6 +20,7 @@
 #ifndef PATHFIELD_H
 #define PATHFIELD_H
 
+#include <stdint.h>
 #include <vector>
 #include <boost/scoped_array.hpp>
 #include <boost/shared_ptr.hpp>
--- src/save_handler.h~ 2008-11-08 07:07:16.000000000 +0000
+++ src/save_handler.h  2008-11-08 07:07:23.000000000 +0000
@@ -20,6 +20,7 @@
 #ifndef SAVE_HANDLER_H
 #define SAVE_HANDLER_H
 
+#include <stdint.h>
 #include <string>
 #include <cstring>
 
--- src/campvis.cc~     2008-11-08 07:15:44.000000000 +0000
+++ src/campvis.cc      2008-11-08 07:15:53.000000000 +0000
@@ -23,6 +23,7 @@
 #include "wexception.h"
 
 #include <sys/stat.h>
+#include <stdio.h>
 #include <stdlib.h>
 
 /**

It's not complete because I ran into the following issue and gave up:

src/profile.h:104: warning: conversion to 'uint32_t' from 'size_t' may alter 
its value
In file included from src/events/event.h:24,
                 from src/events/event_reveal_objective.h:23,
                 from src/events/event_reveal_objective.cc:20:
src/referenced.h: In member function 'void Referenced<Subtype>::reference(const 
Referencer<Subtype>&) [with Subtype = Widelands::Trigger]':
src/referencer.h:31:   instantiated from 'void 
Referencer<Referenced>::reference(Referenced&) [with Referenced = 
Widelands::Trigger]'
src/objective.h:67:   instantiated from here
src/referenced.h:36: error: no match for 'operator=' in '*(((const 
Referencer<Widelands::Trigger>*)referencer) + ((long unsigned int)(((long 
unsigned 
int)((Referenced<Widelands::Trigger>*)this)->Referenced<Widelands::Trigger>::m_referencers)
 * 8ul))) = 1'
src/referencer.h:28: note: candidates are: Referencer<Widelands::Trigger>& 
Referencer<Widelands::Trigger>::operator=(const Referencer<Widelands::Trigger>&)
scons: *** [build/native-release/events/event_reveal_objective.o] Error 1

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



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to