Viewing Issue Simple Details Jump to Notes ] Wiki ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0004461 [DCSS] Bug Report minor always 2011-08-30 09:34 2015-05-17 19:29
Reporter AapoRantalainen View Status public  
Assigned To wheals
Priority normal Resolution not fixable  
Status resolved   Product Branch 0.9 ancient branch
Summary 0004461: Compile error with gcc-4.2.1: colour.cc:51 calc_dfs_tree (on random_element_colour_calc::get)
Description gcc (GCC) 4.2.1 (for ARM-Linux)

colour.cc: In member function 'virtual int random_element_colour_calc::get(const coord_def&, bool)':
colour.cc:51: internal compiler error: in calc_dfs_tree, at dominance.c:373
make: *** [colour.o] Error 1

Might be relevant: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25874 [^]
(So this really might be GCC issue)

Workaround to get game compiled:

--- a/crawl-ref/source/colour.cc
+++ b/crawl-ref/source/colour.cc
@@ -50,6 +50,7 @@ int element_colour_calc::get(const coord_def& loc, bool non_random)
 
 int random_element_colour_calc::get(const coord_def& loc, bool non_random)
 {
+/*
     // casting function pointers from other function pointers is guaranteed
     // to be safe, but calling them on pointers not of their type isn't, so
     // assert here to be safe - add to this assert if something different is
@@ -59,6 +60,8 @@ int random_element_colour_calc::get(const coord_def& loc, bool non_random)
     randomized_element_colour_calculator real_calc =
         (randomized_element_colour_calculator)calc;
     return (*real_calc)(rand(non_random), loc, rand_vals);
+*/
+//this is same than element_colour_calc::get
+ return (*calc)(rand(non_random), loc);
 }
Additional Information
Tags No tags attached.
Attached Files

- Relationships

-  Notes
(0014421)
KiloByte (manager)
2011-08-31 10:02

The GCC bug you linked to sounds like it was fixed in 4.2.0 or 4.2.1.

I also can't seem to reproduce it with 4.2.4 (the oldest from the 4.2 branch I can readily install). Could you please mention platform you use?
(0014422)
AapoRantalainen (reporter)
2011-08-31 10:20

I am crosscompiling for Maemo5/Nokia N900 (debian derivated ARM-Linux).

My host system is 64bit Ubuntu 11.04.

I'm using scratchbox2 environment (http://freedesktop.org/wiki/Software/sbox2), [^] so technically it is not crosscompiling, but compilation happens inside QEMU, which runs ARM-binaries, e.g.
/usr/bin/gcc-4.2: ELF 32-bit LSB executable, ARM, version 1 (SYSV), for GNU/Linux 2.6.8, dynamically linked (uses shared libs), stripped
(0014425)
KiloByte (manager)
2011-08-31 11:11

Strange, I just tried on the real thing (N900 without scratchbox) and it compiled fine. I guess they might have fixed it in PR1.3, though.

The scratchbox version you linked to is unmaintained, from before Nokia took it over. Maybe their one would work?
(0014426)
AapoRantalainen (reporter)
2011-08-31 12:03

Yes, Scratchbox2 is not maintained any more, but scratchbox1 is, which is used on autobuilder when building package for repositories. I will test that.
(0014428)
AapoRantalainen (reporter)
2011-08-31 19:15

maemo.org-server's Fremantle (Maemo5) autobuilder: same error, same workaround.

Version: sbox-arm-none-linux-gnueabi-gcc (GCC) 4.2.1
(0020750)
Bearserker (reporter)
2013-01-11 16:03

I just had the same error today by trying to compile crawl 0.11.0 directly from my n900 (PR 1.3.1 + CSSU) with gcc 4.2.1.

Is there a way to avoid this ?
(0029061)
wheals (administrator)
2015-05-17 19:29

Resolving; we don't support ancient GCCs anymore.

- Issue History
Date Modified Username Field Change
2011-08-30 09:34 AapoRantalainen New Issue
2011-08-31 10:02 KiloByte Note Added: 0014421
2011-08-31 10:20 AapoRantalainen Note Added: 0014422
2011-08-31 11:11 KiloByte Note Added: 0014425
2011-08-31 12:03 AapoRantalainen Note Added: 0014426
2011-08-31 19:15 AapoRantalainen Note Added: 0014428
2013-01-11 16:03 Bearserker Note Added: 0020750
2015-05-17 19:29 wheals Note Added: 0029061
2015-05-17 19:29 wheals Status new => resolved
2015-05-17 19:29 wheals Fixed in Branch => 0.16 pre-release branch
2015-05-17 19:29 wheals Resolution open => not fixable
2015-05-17 19:29 wheals Assigned To => wheals


Mantis 1.1.8[^]
Copyright © 2000 - 2009 Mantis Group
Powered by Mantis Bugtracker