Package: widelands
Severity: normal
Tags: patch

When building 'widelands' on amd64 with gcc-4.0,
I get the following error:

src/filesystem.h:124: error: 'Little16' was not declared in this scope
src/filesystem.h: In member function 'int FileRead::Signed32(int)':
src/filesystem.h:125: error: 'Little32' was not declared in this scope
src/filesystem.h: In member function 'uint FileRead::Unsigned32(int)':
src/filesystem.h:126: error: 'Little32' was not declared in this scope
src/filesystem.h: In member function 'float FileRead::Float(int)':
src/filesystem.h:127: error: 'LittleFloat' was not declared in this scope
src/filesystem.h: In member function 'void FileWrite::Signed16(short int, int)':
src/filesystem.h:174: error: 'Little16' was not declared in this scope
src/filesystem.h: In member function 'void FileWrite::Unsigned16(ushort, int)':
src/filesystem.h:175: error: 'Little16' was not declared in this scope
src/filesystem.h: In member function 'void FileWrite::Signed32(int, int)':
src/filesystem.h:176: error: 'Little32' was not declared in this scope
src/filesystem.h: In member function 'void FileWrite::Unsigned32(uint, int)':
src/filesystem.h:177: error: 'Little32' was not declared in this scope
src/filesystem.h: In member function 'void FileWrite::Float(float, int)':
src/filesystem.h:178: error: 'LittleFloat' was not declared in this scope
make[1]: *** [src/native-release/building.o] Error 1
make[1]: Leaving directory `/widelands-build8'
make: *** [debian/stamp-makefile-build] Error 2

With the attached patch 'widelands' can be compiled
on amd64 using gcc-4.0.

Regards
Andreas Jochens

diff -urN ../tmp-orig/widelands-build8/src/machdep.h ./src/machdep.h
--- ../tmp-orig/widelands-build8/src/machdep.h  2004-09-23 17:39:40.000000000 
+0200
+++ ./src/machdep.h     2005-01-10 14:30:02.717117664 +0100
@@ -24,7 +24,7 @@
 
 // TODO: figure out a way to define these portably
 // Currently supported: i386, PowerPC, Sparc
-#if defined (__ppc__)
+#if defined (__ppc__) || defined(__powerpc64__)
 #undef P_LITTLE_ENDIAN
 #define P_BIG_ENDIAN
 #undef P_ALIGNMENT
@@ -32,7 +32,7 @@
 #undef P_LITTLE_ENDIAN
 #define P_BIG_ENDIAN
 #define P_ALIGNMENT
-#elif defined (__i386__)
+#elif defined (__i386__) || defined(__x86_64__)
 #undef P_BIG_ENDIAN
 #define P_LITTLE_ENDIAN
 #undef P_ALIGNMENT
diff -urN 
../tmp-orig/widelands-build8/src/editor/ui_menus/editor_player_menu_allowed_buildings_menu.cc
 ./src/editor/ui_menus/editor_player_menu_allowed_buildings_menu.cc
--- 
../tmp-orig/widelands-build8/src/editor/ui_menus/editor_player_menu_allowed_buildings_menu.cc
       2004-09-23 17:39:39.000000000 +0200
+++ ./src/editor/ui_menus/editor_player_menu_allowed_buildings_menu.cc  
2005-01-10 14:52:33.115825856 +0100
@@ -132,7 +132,7 @@
    
    
    // Remove from one list
-   int index=((int)source->get_selection());
+   long index=((long)source->get_selection());
    source->remove_entry(source->get_selection_index());
    source->sort();
    
diff -urN ../tmp-orig/widelands-build8/src/fieldaction.cc ./src/fieldaction.cc
--- ../tmp-orig/widelands-build8/src/fieldaction.cc     2004-09-23 
17:39:39.000000000 +0200
+++ ./src/fieldaction.cc        2005-01-10 14:39:35.699011176 +0100
@@ -107,7 +107,7 @@
 */
 void BuildGrid::clickslot(int idx)
 {
-       int id = (int)get_data(idx);
+       long id = (long)get_data(idx);
 
        buildclicked.call(id);
 }
diff -urN ../tmp-orig/widelands-build8/src/game_debug_ui.cc 
./src/game_debug_ui.cc
--- ../tmp-orig/widelands-build8/src/game_debug_ui.cc   2004-09-23 
17:39:39.000000000 +0200
+++ ./src/game_debug_ui.cc      2005-01-10 14:40:21.555040000 +0100
@@ -362,7 +362,7 @@
 */
 void FieldDebugWindow::open_bob(int idx)
 {
-       uint serial = (uint)m_ui_bobs->get_selection();
+       unsigned long serial = (unsigned long)m_ui_bobs->get_selection();
 
        if (!serial)
                return;
diff -urN ../tmp-orig/widelands-build8/src/interactive_base.cc 
./src/interactive_base.cc
--- ../tmp-orig/widelands-build8/src/interactive_base.cc        2004-09-23 
17:39:39.000000000 +0200
+++ ./src/interactive_base.cc   2005-01-10 14:40:58.220466008 +0100
@@ -446,7 +446,7 @@
                Path *path = new Path(*m_buildroad);
       if(m_egbase->is_game()) {
          // Build the path as requested 
-         
static_cast<Game*>(m_egbase)->send_player_command(m_road_build_player, 
CMD_BUILD_ROAD, (int)path, 0, 0);
+         
static_cast<Game*>(m_egbase)->send_player_command(m_road_build_player, 
CMD_BUILD_ROAD, (long)path, 0, 0);
       } else {
          get_egbase()->get_player(m_road_build_player)->build_road(path);
          delete path;
diff -urN ../tmp-orig/widelands-build8/src/transport.cc ./src/transport.cc
--- ../tmp-orig/widelands-build8/src/transport.cc       2004-09-23 
17:39:39.000000000 +0200
+++ ./src/transport.cc  2005-01-10 14:43:38.449107552 +0100
@@ -3656,7 +3656,7 @@
        m_request_timer = true;
        m_request_timer_time = game->get_gametime() + delta;
        cq->queue(m_request_timer_time, SENDER_MAPOBJECT, CMD_CALL,
-                                       (int)(&Economy::request_timer_cb), 
m_trackserial, 0);
+                                       (long)(&Economy::request_timer_cb), 
m_trackserial, 0);
 }
 
 


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

Reply via email to