bug-m4
[Top][All Lists]
Advanced

[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







reply via email to

[Prev in Thread] Current Thread [Next in Thread]