bug-m4
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Error in m4 make


From: David Sterba
Subject: Re: Error in m4 make
Date: Sat, 25 May 2002 21:11:28 +0200

Hi,

> libm4.a(error.o) : error LNK2001: unresolved external symbol _sys_nerr
> OLDNAMES.lib(sys_nerr.obj) : error LNK2001: unresolved external symbol
> _sys_nerr
> OLDNAMES.lib(sys_nerr.obj) : error LNK2001: unresolved external symbol
> __sys_nerr
The variable sys_nerr seems holds the maximal value of valid entry in
sys_errlist.
Configure detects if your system supports 'strerror' function.
If not, m4 defines its own strerror wrapper 'private_strerror' in m4/error.c 
and assumes, that sys_errlist and sys_nerr are present on current system.
However, these are system specific and your system does not define
sys_nerr.

Check manually, if your system has the 'strerror' function.

Try this patch. I don't know what does your compiler define as
a system macro. I mean such as WIN32, __WIN32__ etc.
Change to the correct macro accordingly.
You should find it in your compiler documentation.

bye
David

--- error.c.orig        Sat May 25 21:04:30 2002
+++ error.c     Sat May 25 21:05:53 2002
@@ -97,11 +97,14 @@
 private_strerror (errnum)
      int errnum;
 {
+#ifndef WIN32
   extern char *sys_errlist[];
   extern int sys_nerr;

   if (errnum > 0 && errnum <= sys_nerr)
     return _(sys_errlist[errnum]);
+#endif
+
   return _("Unknown system error");
 }
 #   define strerror private_strerror




reply via email to

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