Re: [Gems-users] Ruby and Opal Compile error (searched mail list already)


Date: Fri, 9 Apr 2010 07:29:10 -0600
From: Dan Gibson <degibson@xxxxxxxx>
Subject: Re: [Gems-users] Ruby and Opal Compile error (searched mail list already)
Zhen,
Congratulations on possibly the most complete gems-users post I have ever seen.

Now, to address your issue...

1. Make sure you have properly set all paths. The failed mkdir is in the 'build the simics library' portion of the build, which is basically out of our hands and run entirely by Simics. It can fail when a path isn't properly set or Simics isn't properly configured.

2. You're going to want to use g++ in some form, not gcc, to compile everything. That could be causing your Ruby build issue. Otherwise, you may have found a bison+flex+gcc version combination that don't like each other. (All those *AST's are autogenerated garbagecode).

Regards,
Dan

On Thu, Apr 8, 2010 at 5:07 PM, Michael Zhen WANG <zhen.wang@xxxxxxxx> wrote:
Hi,

I'm new to GEMS and Simics. I installed GEMS 2.1.1 and Simics 3.0.31 following instructions on http://www.cs.wisc.edu/gems/doc/gems-wiki/moin.cgi/Setup_for_Simics_3.0.X and the GEMS-Ubuntu instructions. I got compile error on both Ruby and Opal.

The Ruby compile error is similar to https://lists.cs.wisc.edu/archive/gems-users/2006-February/msg00042.shtml , they solve the problem by reinstalling the GEMS, no real solution found. I restalled the GEMS following all the instructions carefully, still same problem. Other post of the compile errors seem to be different from my case.

The Opal compile error is shorter. I got permission denied on creating directory in /obj/. Is this related to some path setting?

The system is Debian lenny 2.6.26, x86.
gcc version 3.4 (the system also has gcc-4.3, 4.2, 4.1, but I already export CC=gcc-3.4 and changed the versions in those Makefiles. g++ version is 4.3.2, I don't know whether this matters. I changed the CC path setting to /usr/bin/gcc-3.4 in Makefiles.common already. Originally, it was set to /usr/bin/g++.)
bison version 2.3
flex version 2.5.35


The detailed error message is attached here. Any idea how to solve this?
Opal Compile error: (I'm not the administrator of the server running GEMS and simics)
MichaelZhenWANG@ecg:~/gems/opal$ make module DESTINATION=MOSI_SMP_bcast
Opal: building module
make generated/generated
make[1]: Entering directory `/home/MichaelZhenWANG/gems/opal'
make[1]: `generated/generated' is up to date.
make[1]: Leaving directory `/home/MichaelZhenWANG/gems/opal'
make BUILD_FLAGS=-DSIMICS module_go
make[1]: Entering directory `/home/MichaelZhenWANG/gems/opal'
mkdir -p /obj/
mkdir: cannot create directory `/obj/': Permission denied
make[1]: Leaving directory `/home/MichaelZhenWANG/gems/opal'
make: *** [module] Error 2


Ruby Compile error: (very long, this is a sample of the error messages)
ast/TypeFieldEnumAST.h:84: error: syntax error before '*' token
ast/TypeFieldEnumAST.h:84: error: redefinition of parameter 'generate'
ast/TypeFieldMemberAST.h:88: error: previous definition of 'generate' was here
ast/TypeFieldEnumAST.h:85: error: syntax error before '&' token
ast/TypeFieldEnumAST.h:85: error: redefinition of parameter 'print'
ast/TypeFieldMemberAST.h:89: error: previous definition of 'print' was here
ast/TypeFieldEnumAST.h:105: warning: type defaults to `int' in declaration of `ostream'
ast/TypeFieldEnumAST.h:105: error: storage class specified for parameter `ostream'
ast/TypeFieldEnumAST.h:105: error: redefinition of parameter 'ostream'
ast/TypeFieldMemberAST.h:110: error: previous definition of 'ostream' was here
ast/TypeFieldEnumAST.h:105: error: syntax error before '&' token
(a lot of similar errors here, on different .h files ...)

In file included from ast/ASTs.h:114,
                 from parser/parser.y:65:
ast/ReturnStatementAST.h:81: error: syntax error before '&' token
ast/ReturnStatementAST.h:81: error: redefinition of parameter 'generate'
ast/CheckStopSlotsStatementAST.h:81: error: previous definition of 'generate' was here
ast/ReturnStatementAST.h:82: error: syntax error before '<' token
ast/ReturnStatementAST.h:82: error: redefinition of parameter 'findResources'
ast/CheckStopSlotsStatementAST.h:82: error: previous definition of 'findResources' was here
ast/ReturnStatementAST.h:83: error: syntax error before '&' token
ast/ReturnStatementAST.h:83: error: redefinition of parameter 'print'
ast/CheckStopSlotsStatementAST.h:83: error: previous definition of 'print' was here
ast/ReturnStatementAST.h:102: warning: type defaults to `int' in declaration of `ostream'
ast/ReturnStatementAST.h:102: error: storage class specified for parameter `ostream'
ast/ReturnStatementAST.h:102: error: redefinition of parameter 'ostream'
ast/CheckStopSlotsStatementAST.h:104: error: previous definition of 'ostream' was here
ast/ReturnStatementAST.h:102: error: syntax error before '&' token
(new types of errors starting here ...)
parser/parser.y:78: error: syntax error before "string"
parser/parser.y:78: warning: no semicolon at end of struct or union
generated/parser.c:273: error: storage class specified for parameter `yytype_uint8'
generated/parser.c:280: error: storage class specified for parameter `yytype_int8'
generated/parser.c:288: error: storage class specified for parameter `yytype_uint16'
generated/parser.c:294: error: storage class specified for parameter `yytype_int16'
generated/parser.c:427: error: syntax error before "yytype_int16"
generated/parser.c:427: warning: no semicolon at end of struct or union
generated/parser.c:498: warning: type defaults to `int' in declaration of `yytype_uint8'
generated/parser.c:498: error: storage class specified for parameter `yytype_uint8'
generated/parser.c:498: error: conflicting types for 'yytype_uint8'
generated/parser.c:273: error: previous definition of 'yytype_uint8' was here
generated/parser.c:498: error: syntax error before "yytranslate"
generated/parser.c:630: error: storage class specified for parameter `yytname'
generated/parser.c:630: error: parameter `yytname' is initialized
generated/parser.c:632: warning: initialization from incompatible pointer type
generated/parser.c:632: warning: excess elements in scalar initializer
generated/parser.c:632: warning: (near initialization for `yytname')
generated/parser.c:632: warning: excess elements in scalar initializer
generated/parser.c:632: warning: (near initialization for `yytname')
generated/parser.c:632: warning: excess elements in scalar initializer
generated/parser.c:632: warning: (near initialization for `yytname')
generated/parser.c:632: warning: excess elements in scalar initializer
generated/parser.c:632: warning: (near initialization for `yytname')
generated/parser.c:632: warning: excess elements in scalar initializer
generated/parser.c:632: warning: (near initialization for `yytname')
(a lot of similar warnings here, on different lines of parser.c ...)
generated/parser.c:649: warning: excess elements in scalar initializer
generated/parser.c:649: warning: (near initialization for `yytname')
generated/parser.c:668: warning: type defaults to `int' in declaration of `yytype_uint8'
generated/parser.c:668: error: storage class specified for parameter `yytype_uint8'
generated/parser.c:668: error: redefinition of parameter 'yytype_uint8'
generated/parser.c:498: error: previous definition of 'yytype_uint8' was here
generated/parser.c:668: error: syntax error before "yyr1"
(a lot of similar errors here, on different lines of parser.c ...)
generated/parser.c:878: warning: type defaults to `int' in declaration of `yytype_int16'
generated/parser.c:878: error: storage class specified for parameter `yytype_int16'
generated/parser.c:878: error: redefinition of parameter 'yytype_int16'
generated/parser.c:802: error: previous definition of 'yytype_int16' was here
generated/parser.c:878: error: syntax error before "yycheck"
generated/parser.c:956: warning: type defaults to `int' in declaration of `yytype_uint8'
generated/parser.c:956: error: storage class specified for parameter `yytype_uint8'
generated/parser.c:956: error: redefinition of parameter 'yytype_uint8'
generated/parser.c:704: error: previous definition of 'yytype_uint8' was here
generated/parser.c:956: error: syntax error before "yystos"
generated/parser.c:1277: error: storage class specified for parameter `yystrlen'
generated/parser.c:1277: error: syntax error before '{' token
generated/parser.c:1304: error: parameter `yys' is initialized
generated/parser.c:1304: error: `yysrc' undeclared (first use in this function)
generated/parser.c:1304: error: (Each undeclared identifier is reported only once
generated/parser.c:1304: error: for each function it appears in.)
generated/parser.c:1304: confused by earlier errors, bailing out
make[2]: *** [x86-linux/obj/parser.o] Error 1
make[2]: Leaving directory `/home/MichaelZhenWANG/gems/slicc'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/MichaelZhenWANG/gems/slicc'
make: *** [all] Error 2

Thanks a lot!
-Zhen
-- 
==================================================
Zhen WANG
Ph.D. Student
Department of Electrical and Computer Engineering
Rice University, Houston, Texas
http://www.owlnet.rice.edu/~zw3/
http://www.recg.org/
==================================================

_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/" to your search.





--
http://www.cs.wisc.edu/~gibson [esc]:wq!
[← Prev in Thread] Current Thread [Next in Thread→]