On Wed, 2007-11-14 at 00:39 +0000, Neil Jerram wrote: > "Kevin Brott" <[EMAIL PROTECTED]> writes: > > > Still baffled - but haven't given up yet. > > Going back to your original report... all of the compile errors were > triggered on lines containing "func_data". Is it possible that you're > somehow pulling in a header which #defines func_data to be something > else (including a .) ? What happens if you change all occurrences of > "func_data" to "xxx_func_data" and then build again? > > Also, looking through the thread, I became confused about which gcc > version / OS combinations exhibit this problem, and which don't. > Could you give a summary all in one place? > > Regards, > Neil >
okay - fairly simple (I hope): AIX 5.2 + gcc 4.2.2 = guile 1.8.3 w/not compile Ubuntu 7.10 + gcc 4.1.2 = guile 1.8.3 compiles BUT - when you try to compile the code snips out of hooks.h that the error refers to - both the Linux and AIX gcc's spew identical errors. I'm working through the gcc compile line that explodes - and I've found one thing rather interesting --- the last compile line in guile-1.8.3/libguile that explodes is: gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I.. -I/opt/phs/include -D_THREAD_SAFE -O2 -mcpu=power2 -pthread -Wall -Wmissing-prototypes -Werror -MT libguile_la-discouraged.lo -MD -MP -MF deps/libguile_la-discouraged.Tpo -c discouraged.c -DPIC -o .libs/libguile_la-discouraged.o Which gives this: In file included from ../libguile/gc.h:27, from ../libguile.h:73, from discouraged.c:22: ./libguile/hooks.h:43: error: expected ';', ',' or ')' before '.' token ./libguile/hooks.h:48: error: expected specifier-qualifier-list before 'scm_t_c_hook_function' ./libguile/hooks.h:62: error: expected declaration specifiers or '...' before 'scm_t_c_hook_function' ./libguile/hooks.h:63: error: expected ';', ',' or ')' before '.' token ./libguile/hooks.h:66: error: expected declaration specifiers or '...' before 'scm_t_c_hook_function' ./libguile/hooks.h:67: error: expected ';', ',' or ')' before '.' token gmake[3]: *** [libguile_la-discouraged.lo] Error 1 Now if I cd into libguile and hand-execute that line - without the -I.. elements it compiles without errors. Which argues that something else I'm not seeing is being included that is causing the problem. Code-monkey friend of mine suggested that the problem is with the cpp output, but when I do this: cpp discouraged.c -o foo.c && gcc -c foo.c I get foo.o and no errors. Now bear in mind that I'm a C/C++ newb and that last bit probably means nada. You sir have hit a nail on the head - at least the compile got past discouraged.c anyway ... perl -pi -e 's/func_data/xxx_func_data/g' libguile/hooks.h gmake clean && gmake ... gets down to: gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I.. -I/opt/phs/include -I/opt/freeware/include -D_THREAD_SAFE -g -O2 -Wall -Wmissing-prototypes -Werror -MT libguile_la-gc.lo -MD -MP -MF .deps/libguile_la-gc.Tpo -c gc.c -DPIC -o libs/libguile_la-gc.o gc.c:974: error: expected ';', ',' or ')' before '.' token gc.c: In function 'scm_init_gc': gc.c:1023: error: 'mark_gc_async' undeclared (first use in this function) gc.c:1023: error: (Each undeclared identifier is reported only once gc.c:1023: error: for each function it appears in.) gmake[3]: *** [libguile_la-gc.lo] Error 1 Oh look ! gc.c:974: void *func_data SCM_UNUSED, more perlfoo on gc.c gmake clean && gmake ... gets down to: gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I.. -I/opt/phs/include -I/opt/freeware/include -D_THREAD_SAFE -g -O2 -Wall -Wmissing-prototypes -Werror -MT libguile_la-hooks.lo -MD -MP -MF .deps/libguile_la-hooks.Tpo -c hooks.c -DPIC -o libs/libguile_la-hooks.o hooks.c:53: error: expected ';', ',' or ')' before '.' token hooks.c:70: error: expected ';', ',' or ')' before '.' token gmake[3]: *** [libguile_la-hooks.lo] Error 1 more perlfoo on hooks.c gmake clean && gmake ... gets down to: gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I.. -I/opt/phs/include -I/opt/freeware/include -D_THREAD_SAFE -g -O2 -Wall -Wmissing-prototypes -Werror -MT libguile_la-numbers.lo -MD -MP -MF .deps/libguile_la-numbers.Tpo -c numbers.c -DPIC -o libs/libguile_la-numbers.o cc1: warnings being treated as errors numbers.c: In function 'guile_ieee_init': numbers.c:617: warning: dereferencing type-punned pointer will break strict-aliasing rules numbers.c:640: warning: dereferencing type-punned pointer will break strict-aliasing rules numbers.c: In function 'scm_exp': numbers.c:6081: error: '__I' undeclared (first use in this function) numbers.c:6081: error: (Each undeclared identifier is reported only once numbers.c:6081: error: for each function it appears in.) gmake[3]: *** [libguile_la-numbers.lo] Error 1 Which is : 6078 if (SCM_COMPLEXP (z)) 6079 { 6080 #if HAVE_COMPLEX_DOUBLE && HAVE_CEXP 6081 return scm_from_complex_double (cexp (SCM_COMPLEX_VALUE (z))); 6082 #else 6083 return scm_c_make_polar (exp (SCM_COMPLEX_REAL (z)), 6084 SCM_COMPLEX_IMAG (z)); 6085 #endif 6086 } And I'm stuck again :p running a 'find' now to see if func_data is showing up somewhere else being sneaky. -- #include <stddisclaimer.h> /* Kevin Brott <[EMAIL PROTECTED]> * Unix Systems Engineer - SA Group - Provtech * Providence Health Systems, Tigard, OR */ DISCLAIMER: This message is intended for the sole use of the addressee, and may contain information that is privileged, confidential and exempt from disclosure under applicable law. If you are not the addressee you are hereby notified that you may not use, copy, disclose, or distribute to anyone the message or any information contained in the message. If you have received this message in error, please immediately advise the sender by reply email and delete this message. _______________________________________________ Guile-user mailing list Guile-user@gnu.org http://lists.gnu.org/mailman/listinfo/guile-user