#4858 closed defect (fixed)
AMIGAOS4: Compiler errors on ./configure
Reported by: | raziel- | Owned by: | salty-horse |
---|---|---|---|
Priority: | normal | Component: | Port: AmigaOS4 |
Version: | Keywords: | build | |
Cc: | Game: |
Description
Somewhere between r48599 and 48603 /the configure changes) my build broke
Running ScummVM configure... Looking for C++ compiler... g++ Checking for compiler version... assertion "cached == 0" failed: file "../../gcc/libcpp/line-map.c", line 277 cc1: internal compiler error: Aborted Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://www.sf.net/projects/adtools/> for instructions. SDK:Local/C/head: `-1' option is obsolete; use `-n 1' Try `SDK:Local/C/head --help' for more information. assertion "cached == 0" failed: file "../../gcc/libcpp/line-map.c", line 277 cc1: internal compiler error: Aborted Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://www.sf.net/projects/adtools/> for instructions. SDK:Local/C/head: `-1' option is obsolete; use `-n 1' Try `SDK:Local/C/head --help' for more information. assertion "cached == 0" failed: file "../../gcc/libcpp/line-map.c", line 277 cc1: internal compiler error: Aborted Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://www.sf.net/projects/adtools/> for instructions. SDK:Local/C/head: `-1' option is obsolete; use `-n 1' Try `SDK:Local/C/head --help' for more information. 4.2.4, bad
The version of your compiler is not supported at this time Please ensure you are using GCC >= 2.95 Running ./configure with the last specified parameters LDFLAGS="" CXX="" \ CXXFLAGS="" CPPFLAGS="" \ ASFLAGS="" WINDRESFLAGS="" \ ./configure Running ScummVM configure... Looking for C++ compiler... g++ Checking for compiler version... assertion "cached == 0" failed: file "../../gcc/libcpp/line-map.c", line 277 cc1: internal compiler error: Aborted Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://www.sf.net/projects/adtools/> for instructions. SDK:Local/C/head: `-1' option is obsolete; use `-n 1' Try `SDK:Local/C/head --help' for more information. assertion "cached == 0" failed: file "../../gcc/libcpp/line-map.c", line 277 cc1: internal compiler error: Aborted Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://www.sf.net/projects/adtools/> for instructions. SDK:Local/C/head: `-1' option is obsolete; use `-n 1' Try `SDK:Local/C/head --help' for more information. assertion "cached == 0" failed: file "../../gcc/libcpp/line-map.c", line 277 cc1: internal compiler error: Aborted Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://www.sf.net/projects/adtools/> for instructions. SDK:Local/C/head: `-1' option is obsolete; use `-n 1' Try `SDK:Local/C/head --help' for more information. 4.2.4, bad
The version of your compiler is not supported at this time Please ensure you are using GCC >= 2.95 gmake: *** [config.h] Error 1
Ticket imported from: #2985480. Ticket imported from: bugs/4858.
Attachments (2)
Change History (19)
comment:1 by , 15 years ago
Owner: | set to |
---|
comment:2 by , 15 years ago
comment:4 by , 15 years ago
Thanks. Can you please cut&paste the C code from the log file (lines 3 to 8) into a new test.cpp file, then compile it using
g++ ./test.cpp -o ./test -c
Then once again with
g++ ./test.cpp -c
FInally, if both produce the same crash, could you change the text "syntax error" to "#error not gcc"
Thanks!
comment:6 by , 15 years ago
They don't ? But configure still crashes? Dang.
Can you run sh -x ../configure
and attach the output? I.e. run sh -x ../configure > verbose-config.log and send us verbose-config.log
by , 15 years ago
Attachment: | verbose-config_.log added |
---|
comment:8 by , 15 years ago
After speaking with raziel_, this is the command that crashes: g++ -dM -E - < /dev/null
The compiler is from The Amiga Development Tools (adtools). It seems to try and compile the input file despite the -E flag.
A bug will be filed there, and in the meantime, I will attempt the least-hacky fix to configure depending what the amiga gcc DOES accept.
comment:9 by , 15 years ago
Thanks for the help salty-horse
Here is the cross reference link: https://sourceforge.net/tracker/?func=detail&aid=2987653&group_id=142043&atid=751301
comment:10 by , 15 years ago
Well, it may be due to a bug in g++, but fact is, a compiler that was once working now is not. So this is a regression and should be fixed ASAP.
Can't you just create an empty temporary file as input and use that as input for the compiler?
comment:11 by , 15 years ago
Ah I just looked at the other bug report you filed, an empty file does not work either. Serious bug in their compiler, of course, but what about using a file that only contains something like int main(int, char**) { return 0; } or int x; or so?
comment:12 by , 15 years ago
I'm thinking of using something like the following, but waiting for confirmation from raziel about the exact behavior. Specifically, whether warnings are printed to stderr that should be silenced
# Handle buggy amiga compiler if test "$_host_os" = amigaos ; then echo "int main(void) { return 0; }" > $TMPC $CXX -dM -E -o $TMPO $TMPC | fgrep "$1" | head -n1 | cut -d ' ' -f 3- rm -f $TMPC $TMPO else $CXX -dM -E - < /dev/null | fgrep "$1" | head -n1 | cut -d ' ' -f 3- fi
comment:13 by , 15 years ago
Why make this AmigaOS specific and not just applicable to all systems?
As for warnings, what about adding a simple 2>/dev/null to get rid of any?
comment:14 by , 15 years ago
I think it should be AmigaOS-specific in order to stress that it is a hack for a buggy compiler. Correct compilers might exhibit different results.
I'm waiting for raziel to test things. If the compiler is buggy, I'm not sure what goes to stdout and what to stderr.
comment:15 by , 15 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:17 by , 6 years ago
Component: | → Port: AmigaOS4 |
---|
I just committed a change which should address the "head -1" part of the error.
Could you please re-run configure and attach the config.log file it produced?