bug-gnulib
[Top][All Lists]
Advanced

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

Re: m4 1.4.13 fails to compile and link on sparc-sun-sunos4.1.4


From: Eric Blake
Subject: Re: m4 1.4.13 fails to compile and link on sparc-sun-sunos4.1.4
Date: Wed, 13 May 2009 05:51:32 -0600
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.21) Gecko/20090302 Thunderbird/2.0.0.21 Mnenhy/0.7.6.666

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

According to Volker Borchert on 5/12/2009 10:44 PM:
> Should be pretty obvious - egrep should show. Anyway, see below. Between
> first and second attempt, I did
> 
> + #ifdef EILSEQ
>           errno = EILSEQ;
> + #else
> +         errno = EINVAL;
> + #endif
> 
> This is obviously not the way this should be done, instead, configure
> should test and then #define EILSEQ EINVAL in config.h or something
> like that, but catch22, see below.

>  CC  mbrtowc.o
> ../../lib/mbrtowc.c: In function `rpl_mbrtowc':
> ../../lib/mbrtowc.c:309: `EILSEQ' undeclared (first use in this function)
> ../../lib/mbrtowc.c:309: (Each undeclared identifier is reported only once
> ../../lib/mbrtowc.c:309: for each function it appears in.)
> gmake[4]: [mbrtowc.o] Error 1 (ignored)


Actually, the real fix is to enhance the gnulib errno module, adding
another unique value over 2000; for example, the file currently ends with:

# ifndef ECANCELED
#  define ECANCELED 2008
#  define GNULIB_defined_ECANCELED 1
# endif

> The problem was: to contribute patches, I'll need working autoconf and
> automake, and for that, I'll need working recent m4.

Does m4 1.4.5 fit the bill?  That is all the more that autoconf requires.

> 
> At a closer look, there are even more problems - for example, the
> definition of SNPRINTF_BUF(arg) in the non-USE_SNPRINTF case which is
> used here relies on sprintf returning the count of characters written
> (sys5-ish) whereas it returns a char* to the beginning of the buffer
> here.

>  CC  strnlen.o
> ../../lib/strnlen.c: In function `rpl_strnlen':
> ../../lib/strnlen.c:29: warning: initialization makes pointer from
integer without a cast

Again, something that could be fixed in gnulib, if it is deemed that
gnulib should bother porting to Solaris 4.

> 
> In the meantime, I managed to pamper a flakey sparc-sun-sunos5.7 to
> compile and install m4/autoconf/automake, so I might be able to do
> something useful ;-)
> 
> memmove() _did_ exist, and not too long ago:
> -rw-r--r--    1 tools    tools         673 Aug 28  2007 
> coreutils-6.11/lib/memmove.c
> I'll try to pull it in.
> 
> raise() should be similar.

These two were recently marked obsolete in gnulib, under the impression
that there are no longer any reasonable porting targets where the lack of
these functions is a hindrance.  In other words, m4 1.4.13 no longer works
around them because it dropped the modules once they were marked obsolete.
 Again, the question at hand is whether you can convince the gnulib
developers that there is still enough interest in the outdated Solaris 4
to be worth reviving these modules as non-obsolete.

>  CC  memchr2.o
> ../../lib/memchr2.c: In function `memchr2':
> ../../lib/memchr2.c:57: warning: return makes pointer from integer without a 
> cast

An instance of missing memchr, also on gnulib's obsolete list.

- --
Don't work too hard, make some time for fun as well!

Eric Blake             address@hidden
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkoKtEMACgkQ84KuGfSFAYB2NwCgmLXwk4iiDQXvQ8Z22Xom4fWN
k7gAoKtIFAZvUUQuKqgWaR0RMTUJJulG
=8X0r
-----END PGP SIGNATURE-----




reply via email to

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