STEVE555 <stevenward666 <at> hotmail.com> writes: > > > Hi to all,
Hi Steve, Thanks for the report; however, you left out several important details. > I've just tried compiling the latest M4.I have applied the latest > patch :xstrtol-upstream-change. Huh? Where did you get this patch? Are you referring to this thread [1]? If so, that was a patch applied to CVS head, and it is NOT applicable for 1.4.10. Are you trying to build from the 1.4.10 tarball directly from the GNU site, or did you get 1.4.10 plus patches through a distribution? Or are you trying to build M4 directly from CVS? [1] http://thread.gmane.org/gmane.comp.gnu.m4.patches/815 > However,I went to the M4 folder,opened Konsole from there,ran ./configure > then make. What platform are you on? I'm guessing a Linux variant, based on your mention of Konsole; but what distro? > > I got this error message when make got into the source directory: > > gcc -std=gnu99 -g -O2 -o m4 m4.o builtin.o debug.o eval.o format.o > freeze.o input.o macro.o output.o path.o symtab.o stackovf.o ../lib/libm4.a > ../lib/libm4.a(regex.o): In function `wcstouq': > /usr/include/wchar.h:585: multiple definition of `wcstouq' > ../lib/libm4.a(quotearg.o):/usr/include/wchar.h:585: first defined here Nowhere in the M4 source is there a mention of wcstouq. I'm suspecting that your /usr/include/wchar.h has a function that is _supposed_ to be inline, but in reality is getting extern'd. Hence, the multiple definition errors, when it gets linked into every .o file that used your broken system wchar.h. Can you please post your config.log; also, post your system's /usr/include/wchar.h (or at least the relevant lines around where wcstouq is declared). Also, what version of gcc are you using? Did you recently upgrade gcc? There is a known change in semantics in 'extern inline' functions, where gcc used to be non-compliant with C99, but where gcc 4.3 (not yet released) changes the behavior; in the process, functions that used to be local to a compilation unit are now exported. You can check this by seeing if __GNUC_STDC_INLINE__ is defined by your compiler. > > I hope someone can help me with this one. We probably can, but it will take some feedback from you along the way. -- Eric Blake _______________________________________________ Bug-m4 mailing list [email protected] http://lists.gnu.org/mailman/listinfo/bug-m4
