From: Jeroen Akershoek (jeroena_at_sara.nl)
Date: Tue Sep 16 2003 - 05:38:11 CDT

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

-- 
Jeroen Akershoek, VR Specialist
SARA Computing and Network Services
tel: +31 20 5923000     fax:   +31 20 6683167
A polar bear is a rectangular bear after a coordinate transform.