[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Compiling M4-1.4.10
From: |
Eric Blake |
Subject: |
Re: Compiling M4-1.4.10 |
Date: |
Tue, 7 Aug 2007 22:34:13 +0000 (UTC) |
User-agent: |
Loom/3.14 (http://gmane.org/) |
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