Anonymous | Login | 2024-04-25 16:41 CEST |
Main | My View | View Issues | Change Log | Wiki | Tavern | News |
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 | |||||||||||||
|
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. |
Mantis 1.1.8[^] Copyright © 2000 - 2009 Mantis Group |