Dagobert Michelsen <dam(a)baltic-online.de> writes:
>> I am trying to compile gnutls 2.12.3 with libnettle 2.1 and get the
>> following errors. From the output I assume an incompatibility between
>> different gnulib inclusions.
For the record, nettle does not use gnulib. It uses AX_CREATE_STDINT_H,
iirc I copied that from autoconf-archive, long ago.
>> "/opt/csw/include/nettle/nettle-stdint.h", line 237: identifier redeclared: gl_int_fast8_t
>> current : signed char
>> previous: long : "./../gl/stdint.h", line 241
This is puzzling. On Solaris, nettle-stdint.h is expected to contain
/* generated using gnu compiler gcc (GCC) 3.4.5 */
#define _STDINT_HAVE_STDINT_H 1
/* ................... shortcircuit part ........................... */
#if defined HAVE_STDINT_H || defined _STDINT_HAVE_STDINT_H
#include <stdint.h>
#else
... lots of irrelevant stuff...
#endif
And there seems to be a /usr/include/stdint.h on the system I look, so I
don't think it's a gcc-specific include file. What does your
nettle-stdin.h look like? If it is different, something went wrong at
configure time when nettle was installed..
And what is "./../gl/stdint.h", that's from gnulib? nettle-stdint.h does
not refer gl_int_fast8_t as far as I can see, so I guess there's a
#define int_fast8_t gl_int_fast8_t somewhere.
The failures seem to all be related to the various *_fast_*_t type,
where the spec leaves a lot of room for the implementation. So if
different packages defines these them selves, it's not very surprising
that they might have different ideas about what they should be. But in
the Solaris case, the right thing is most likely to use the definitions
from /usr/include/stdint.h, and *no* others. I haven't looked at gnulib,
but I *hope* it has some short-circuit code like in nettle-stdint.h, to
fall back to the system's stdint.h or inttypes.h if one of them exists
and works.
/Niels
PS. Sorry the nettle-bugs list is members only, if you want to reply and
are not on that list, please use my personal address instead of
nettle-bugs(a)lists.lysator.liu.se.
--
Niels Möller. PGP-encrypted email is preferred. Keyid C0B98E26.
Internet email is subject to wholesale government surveillance.