From: Brian Bennion (brian_at_youkai.llnl.gov)
Date: Tue Sep 16 2003 - 10:06:33 CDT

Hello Jeroen,

What version of linux are you using? Is it a redhat 8 or 9 distro?
What version is your bison? (ie >>bison -V)
What version is you flex?

The newest versions of bison (1.35--1.85) are "broken" and it has kept
me from successfully compiling a cvs source of VMD.
 
Brian

 
On Tue, 16 Sep 2003, Jeroen Akershoek wrote:

> Hello,
>
> I'm trying to get VMD 1.8.1 to work on our CAVE system, but for some reason I can't get it to compile (I also tried today's CVS version, which has the same problem). It seems to be something wrong with the lexer itself (flex, version 2.5.31) or the .l file. I'm not really a flex-guru, so maybe somebody here can help me with this.
>
> Our configure.options file is
> LINUX OPENGL CAVE ACTC TK TCL PTHREADS GCC
>
> Thanks and regards,
> Jeroen
>
> --8<---
> Converting AtomLexer.l --> AtomLexer.o ...
> mv -f lex.yy.c lex.yy.C
> g++ -fno-for-scope -Wall -Wno-deprecated -O3 -march=i586 -fomit-frame-pointer -DARCH_LINUX -DVMDOPENGL -DVMDGRAPHICS -D
> VMDCAVE -DVMDACTC -DVMDTHREADS -DUSEPOSIXTHREADS -D_REENTRANT -DVMDSURF -DVMDMSMS -DVMDISOSURFACE -DVMDTCL -DVMDTK -DVMD
> STATICPLUGINS -I/usr/X11R6/include -I../lib/cave/include -I../lib/actc/include -I../lib/tcl/include -I../lib/tk/includ
> e -I../plugins/include -I../plugins/LINUX/molfile -I/usr/include/tcl8.4 -I/usr/include/tk8.4 -I. -I../src -c lex.yy.C \
> -o ../LINUX/AtomLexer.o
> lex.yy.c:794: error: syntax error before `(' token
> lex.yy.c:797: error: register name not specified for `char*yy_cp'
> lex.yy.c:797: error: register name not specified for `char*yy_bp'
> lex.yy.c:798: error: register name not specified for `int yy_act'
> lex.yy.c:804: error: syntax error before `if'
> lex.yy.c:823: error: ISO C++ forbids declaration of `yy_buffer_stack' with no
> type
> lex.yy.c:823: error: variable-size type declared outside of any function
> lex.yy.c:823: error: conflicting types for `int yy_buffer_stack[2]'
> lex.yy.c:247: error: previous declaration as `yy_buffer_state**yy_buffer_stack'
> lex.yy.c:825: error: syntax error before `}' token
> lex.yy.c:827: error: ISO C++ forbids declaration of `yy_load_buffer_state' with
> no type
> lex.yy.c:827: error: new declaration `int yy_load_buffer_state()'
> lex.yy.c:288: error: ambiguates old declaration `void yy_load_buffer_state()'
> lex.yy.c:828: error: syntax error before `}' token
> lex.yy.c:835: error: ISO C++ forbids declaration of `yy_cp' with no type
> lex.yy.c:835: error: conflicting types for `int*yy_cp'
> lex.yy.c:797: error: previous declaration as `char*yy_cp'
> lex.yy.c:840: error: ISO C++ forbids declaration of `yy_bp' with no type
> lex.yy.c:840: error: conflicting types for `int yy_bp'
> lex.yy.c:797: error: previous declaration as `char*yy_bp'
> lex.yy.c:842: error: ISO C++ forbids declaration of `yy_current_state' with no
> type
> lex.yy.c:843: error: syntax error before `:' token
> lex.yy.c:850: error: ISO C++ forbids declaration of `yy_last_accepting_cpos'
> with no type
> lex.yy.c:850: error: conflicting types for `int yy_last_accepting_cpos'
> lex.yy.c:537: error: previous declaration as `char*yy_last_accepting_cpos'
> lex.yy.c:851: error: syntax error before `}' token
> lex.yy.c:858: error: ISO C++ forbids declaration of `yy_current_state' with no
> type
> lex.yy.c:858: error: redefinition of `int yy_current_state'
> lex.yy.c:842: error: `int yy_current_state' previously declared here
> lex.yy.c:858: error: `yy_c' was not declared in this scope
> lex.yy.c:859: error: syntax error before `++' token
> lex.yy.c:863: error: syntax error before `:' token
> lex.yy.c:868: error: ISO C++ forbids declaration of `yy_current_state' with no
> type
> lex.yy.c:868: error: redefinition of `int yy_current_state'
> lex.yy.c:858: error: `int yy_current_state' previously defined here
> lex.yy.c:869: error: ISO C++ forbids declaration of `yy_act' with no type
> lex.yy.c:869: error: redefinition of `int yy_act'
> lex.yy.c:798: error: `int yy_act' previously declared here
> lex.yy.c:870: error: syntax error before `}' token
> lex.yy.c:872: error: ISO C++ forbids declaration of `yytext' with no type
> lex.yy.c:872: error: conflicting types for `int yytext'
> lex.yy.c:549: error: previous declaration as `char*yytext'
> lex.yy.c:872: error: ISO C++ forbids declaration of `yyleng' with no type
> lex.yy.c:872: error: redefinition of `int yyleng'
> lex.yy.c:267: error: `int yyleng' previously declared here
> lex.yy.c:872: error: ISO C++ forbids declaration of `yy_hold_char' with no type
> lex.yy.c:872: error: conflicting types for `int yy_hold_char'
> lex.yy.c:265: error: previous declaration as `char yy_hold_char'
> lex.yy.c:872: error: ISO C++ forbids declaration of `yy_cp' with no type
> lex.yy.c:872: error: redefinition of `int*yy_cp'
> lex.yy.c:835: error: `int*yy_cp' previously defined here
> lex.yy.c:872: error: ISO C++ forbids declaration of `yy_c_buf_p' with no type
> lex.yy.c:872: error: conflicting types for `int yy_c_buf_p'
> lex.yy.c:270: error: previous declaration as `char*yy_c_buf_p'
> lex.yy.c:874: error: syntax error before `:' token
> lex.yy.c:881: error: ISO C++ forbids declaration of `yy_cp' with no type
> lex.yy.c:881: error: conflicting types for `int yy_cp'
> lex.yy.c:872: error: previous declaration as `int*yy_cp'
> lex.yy.c:882: error: ISO C++ forbids declaration of `yy_current_state' with no
> type
> lex.yy.c:882: error: redefinition of `int yy_current_state'
> lex.yy.c:868: error: `int yy_current_state' previously declared here
> lex.yy.c:883: error: syntax error before `goto'
> AtomLexer.l:133: error: syntax error before `.' token
> AtomLexer.l:135: error: syntax error before `.' token
> AtomLexer.l:137: error: syntax error before `.' token
> AtomLexer.l:139: error: syntax error before `.' token
> AtomLexer.l:140: error: syntax error before `.' token
> AtomLexer.l:146: error: syntax error before `.' token
> AtomLexer.l:148: error: syntax error before `.' token
> AtomLexer.l:150: error: syntax error before `.' token
> AtomLexer.l:152: error: syntax error before `.' token
> AtomLexer.l:153: error: syntax error before `.' token
> AtomLexer.l:196: error: syntax error before `.' token
> AtomLexer.l:197: error: syntax error before `.' token
> AtomLexer.l:206: error: syntax error before `.' token
> AtomLexer.l:207: error: syntax error before `.' token
> AtomLexer.l:210: error: syntax error before `if'
> lex.yy.c:1199: error: ISO C++ forbids declaration of `yy_cp' with no type
> lex.yy.c:1199: error: conflicting types for `int*yy_cp'
> lex.yy.c:881: error: previous declaration as `int yy_cp'
> lex.yy.c:1202: error: syntax error before `if'
> lex.yy.c:1214: error: syntax error before `->' token
> lex.yy.c:1215: error: syntax error before `->' token
> lex.yy.c:1229: error: ISO C++ forbids declaration of `yy_c_buf_p' with no type
> lex.yy.c:1229: error: redefinition of `int yy_c_buf_p'
> lex.yy.c:872: error: `int yy_c_buf_p' previously defined here
> lex.yy.c:1229: error: `yy_amount_of_matched_text' was not declared in this
> scope
> lex.yy.c:1231: error: ISO C++ forbids declaration of `yy_current_state' with no
> type
> lex.yy.c:1231: error: redefinition of `int yy_current_state'
> lex.yy.c:882: error: `int yy_current_state' previously declared here
> lex.yy.c:1242: error: ISO C++ forbids declaration of `yy_next_state' with no
> type
> lex.yy.c:1244: error: ISO C++ forbids declaration of `yy_bp' with no type
> lex.yy.c:1244: error: redefinition of `int yy_bp'
> lex.yy.c:840: error: `int yy_bp' previously defined here
> lex.yy.c:1246: error: syntax error before `if'
> lex.yy.c:1250: error: ISO C++ forbids declaration of `yy_current_state' with no
> type
> lex.yy.c:1250: error: redefinition of `int yy_current_state'
> lex.yy.c:1231: error: `int yy_current_state' previously declared here
> lex.yy.c:1251: error: syntax error before `goto'
> lex.yy.c:1280: error: ISO C++ forbids declaration of `yy_act' with no type
> lex.yy.c:1280: error: redefinition of `int yy_act'
> lex.yy.c:869: error: `int yy_act' previously declared here
> lex.yy.c:1281: error: syntax error before `goto'
> lex.yy.c:1296: error: ISO C++ forbids declaration of `yy_current_state' with no
> type
> lex.yy.c:1296: error: redefinition of `int yy_current_state'
> lex.yy.c:1250: error: `int yy_current_state' previously declared here
> lex.yy.c:1298: error: ISO C++ forbids declaration of `yy_cp' with no type
> lex.yy.c:1298: error: conflicting types for `int yy_cp'
> lex.yy.c:1199: error: previous declaration as `int*yy_cp'
> lex.yy.c:1299: error: ISO C++ forbids declaration of `yy_bp' with no type
> lex.yy.c:1299: error: redefinition of `int yy_bp'
> lex.yy.c:1244: error: `int yy_bp' previously declared here
> lex.yy.c:1300: error: syntax error before `goto'
> lex.yy.c:1306: error: ISO C++ forbids declaration of `yy_current_state' with no
> type
> lex.yy.c:1306: error: redefinition of `int yy_current_state'
> lex.yy.c:1296: error: `int yy_current_state' previously declared here
> lex.yy.c:1308: error: ISO C++ forbids declaration of `yy_cp' with no type
> lex.yy.c:1308: error: redefinition of `int yy_cp'
> lex.yy.c:1298: error: `int yy_cp' previously defined here
> lex.yy.c:1309: error: ISO C++ forbids declaration of `yy_bp' with no type
> lex.yy.c:1309: error: redefinition of `int yy_bp'
> lex.yy.c:1299: error: `int yy_bp' previously declared here
> lex.yy.c:1310: error: syntax error before `goto'
> lex.yy.c: In function `int yy_get_next_buffer()':
> lex.yy.c:1331: error: base operand of `->' is not a pointer
> lex.yy.c:1332: error: invalid conversion from `int' to `char*'
> lex.yy.c:1336: error: base operand of `->' is not a pointer
> lex.yy.c:1340: error: base operand of `->' is not a pointer
> lex.yy.c:1367: error: base operand of `->' is not a pointer
> lex.yy.c:1371: error: base operand of `->' is not a pointer
> lex.yy.c:1376: error: base operand of `->' is not a pointer
> lex.yy.c:1382: error: invalid conversion from `int' to `yy_buffer_state*'
> lex.yy.c:1385: error: invalid operands of types `int' and `char*' to binary `
> operator-'
> lex.yy.c:1408: error: invalid conversion from `char*' to `int'
> lex.yy.c:1410: error: base operand of `->' is not a pointer
> lex.yy.c:1420: error: base operand of `->' is not a pointer
> lex.yy.c:1422: error: base operand of `->' is not a pointer
> lex.yy.c:1436: error: base operand of `->' is not a pointer
> lex.yy.c:1445: error: base operand of `->' is not a pointer
> lex.yy.c:1446: error: base operand of `->' is not a pointer
> lex.yy.c:1448: error: base operand of `->' is not a pointer
> lex.yy.c: In function `yy_state_type yy_get_previous_state()':
> lex.yy.c:1462: error: invalid conversion from `int' to `char*'
> lex.yy.c:1462: error: ISO C++ forbids comparison between pointer and integer
> lex.yy.c:1468: error: invalid conversion from `char*' to `int'
> lex.yy.c: In function `yy_state_type yy_try_NUL_trans(int)':
> lex.yy.c:1490: error: invalid conversion from `int' to `char*'
> lex.yy.c:1496: error: invalid conversion from `char*' to `int'
> lex.yy.c: In function `void yyunput(int, char*)':
> lex.yy.c:1514: error: invalid conversion from `int' to `char*'
> lex.yy.c:1519: error: base operand of `->' is not a pointer
> lex.yy.c:1523: error: base operand of `->' is not a pointer
> lex.yy.c:1524: error: base operand of `->' is not a pointer
> lex.yy.c:1526: error: base operand of `->' is not a pointer
> lex.yy.c:1528: error: base operand of `->' is not a pointer
> lex.yy.c:1533: error: base operand of `->' is not a pointer
> lex.yy.c:1534: error: base operand of `->' is not a pointer
> lex.yy.c:1536: error: base operand of `->' is not a pointer
> lex.yy.c:1542: error: invalid conversion from `char*' to `int'
> lex.yy.c:1544: error: invalid conversion from `char*' to `int'
> lex.yy.c: In function `int yyinput()':
> lex.yy.c:1557: error: invalid type argument of `unary *'
> lex.yy.c:1559: error: invalid type argument of `unary *'
> lex.yy.c:1565: error: base operand of `->' is not a pointer
> lex.yy.c:1567: error: invalid type argument of `unary *'
> lex.yy.c:1614: error: invalid type argument of `unary *'
> lex.yy.c:1615: error: invalid type argument of `unary *'
> lex.yy.c: In function `void yyrestart(FILE*)':
> lex.yy.c:1632: error: invalid conversion from `yy_buffer_state*' to `int'
> lex.yy.c:1635: error: invalid conversion from `int' to `yy_buffer_state*'
> lex.yy.c: In function `void yy_switch_to_buffer(yy_buffer_state*)':
> lex.yy.c:1652: error: ISO C++ forbids comparison between pointer and integer
> lex.yy.c:1658: error: invalid type argument of `unary *'
> lex.yy.c:1659: error: base operand of `->' is not a pointer
> lex.yy.c:1660: error: base operand of `->' is not a pointer
> lex.yy.c:1663: error: invalid conversion from `yy_buffer_state*' to `int'
> lex.yy.c: In function `void yy_load_buffer_state()':
> lex.yy.c:1675: error: new declaration `void yy_load_buffer_state()'
> lex.yy.c:827: error: ambiguates old declaration `int yy_load_buffer_state()'
> lex.yy.c: In function `void yy_load_buffer_state()':
> lex.yy.c:1676: error: base operand of `->' is not a pointer
> lex.yy.c:1677: error: base operand of `->' is not a pointer
> lex.yy.c:1678: error: base operand of `->' is not a pointer
> lex.yy.c:1679: error: invalid type argument of `unary *'
> lex.yy.c: In function `void yy_delete_buffer(yy_buffer_state*)':
> lex.yy.c:1722: error: ISO C++ forbids comparison between pointer and integer
> lex.yy.c:1723: error: invalid conversion from `yy_buffer_state*' to `int'
> lex.yy.c: In function `void yy_init_buffer(yy_buffer_state*, FILE*)':
> lex.yy.c:1753: error: ISO C++ forbids comparison between pointer and integer
> lex.yy.c: In function `void yy_flush_buffer(yy_buffer_state*)':
> lex.yy.c:1786: error: ISO C++ forbids comparison between pointer and integer
> lex.yy.c: In function `void yypush_buffer_state(yy_buffer_state*)':
> lex.yy.c:1807: error: invalid type argument of `unary *'
> lex.yy.c:1808: error: base operand of `->' is not a pointer
> lex.yy.c:1809: error: base operand of `->' is not a pointer
> lex.yy.c:1815: error: invalid conversion from `yy_buffer_state*' to `int'
> lex.yy.c: In function `void yypop_buffer_state()':
> lex.yy.c:1831: error: invalid conversion from `int' to `yy_buffer_state*'
> lex.yy.c:1832: warning: assignment to non-pointer type `int' from NULL
> lex.yy.c:1832: warning: argument to non-pointer type `int' from NULL
> lex.yy.c: In function `void yyensure_buffer_stack()':
> lex.yy.c:1858: error: incompatible types in assignment of `yy_buffer_state**'
> to `int[2]'
> lex.yy.c:1876: error: incompatible types in assignment of `yy_buffer_state**'
> to `int[2]'
> lex.yy.c: In function `char* yyget_text()':
> lex.yy.c:2038: error: invalid conversion from `int' to `char*'
> lex.yy.c: In function `int yylex_destroy()':
> lex.yy.c:2083: error: invalid conversion from `int' to `yy_buffer_state*'
> lex.yy.c:2084: warning: assignment to non-pointer type `int' from NULL
> lex.yy.c:2084: warning: argument to non-pointer type `int' from NULL
> lex.yy.c:2090: error: incompatible types in assignment of `int' to `int[2]'
> lex.yy.c: In function `void __static_initialization_and_destruction_0(int, int)
> ':
> lex.yy.c:835: warning: statement with no effect
> lex.yy.c:840: warning: statement with no effect
> lex.yy.c:850: warning: statement with no effect
> lex.yy.c:872: warning: statement with no effect
> lex.yy.c:872: warning: statement with no effect
> lex.yy.c:872: warning: statement with no effect
> lex.yy.c:1298: warning: statement with no effect
> lex.yy.c: At top level:
> lex.yy.c:872: warning: `int yy_c_buf_p' defined but not used
> lex.yy.c:271: warning: `int yy_init' defined but not used
>
>

-- 
*****************************************************************
**Brian Bennion, Ph.D.                                         **
**Computational and Systems Biology Division                   **
**Biology and Biotechnology Research Program                   **
**Lawrence Livermore National Laboratory                       **
**P.O. Box 808, L-448    bennion1_at_llnl.gov                     **
**7000 East Avenue       phone: (925) 422-5722                 **
**Livermore, CA  94550   fax:   (925) 422-6605                 **
*****************************************************************