Hello Niels, nettle-stdint.h conflicts with gnulib's stdint.h on solaris. Is there any real reason for nettle to define the uint_t types in the exported API? Even if it wasn't for gnulib I would expect most applications to define those types if not available, thus a conflict would anyway occur.
---------- Forwarded message ---------- From: Dagobert Michelsen dam@opencsw.org Date: Wed, Jun 29, 2011 at 5:10 PM Subject: Problem compiling gnutls 2.12.7 on Solaris 9 To: gnutls-devel@gnu.org
Hi,
I am trying to compile gnutls 2.12.7 with libnettle 2.1 on Solaris 9 Sparc with Sun Studio 12 and get the following error:
gmake[6]: Entering directory `/home/dam/mgar/pkg/gnutls/trunk/work/solaris9-sparc/build-isa-sparcv8/gnutls-2.12.7/lib/nettle' CC pk.lo "/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 "/opt/csw/include/nettle/nettle-stdint.h", line 238: warning: modification of typedef with "int" ignored "/opt/csw/include/nettle/nettle-stdint.h", line 238: identifier redeclared: gl_int_fast16_t current : int previous: long : "./../gl/stdint.h", line 243 "/opt/csw/include/nettle/nettle-stdint.h", line 239: warning: modification of typedef with "int" ignored "/opt/csw/include/nettle/nettle-stdint.h", line 239: identifier redeclared: gl_int_fast32_t current : int previous: long : "./../gl/stdint.h", line 245 "/opt/csw/include/nettle/nettle-stdint.h", line 241: warning: typedef redeclared: int64_t "/opt/csw/include/nettle/nettle-stdint.h", line 244: identifier redeclared: gl_uint_fast8_t current : unsigned char previous: unsigned long : "./../gl/stdint.h", line 242 "/opt/csw/include/nettle/nettle-stdint.h", line 245: identifier redeclared: gl_uint_fast16_t current : unsigned int previous: unsigned long : "./../gl/stdint.h", line 244 "/opt/csw/include/nettle/nettle-stdint.h", line 246: identifier redeclared: gl_uint_fast32_t current : unsigned int previous: unsigned long : "./../gl/stdint.h", line 246 "/opt/csw/include/nettle/nettle-stdint.h", line 248: warning: typedef redeclared: uint64_t cc: acomp failed for pk.c
It looks like a gnulib incompatibility.
Best regards
-- Dago
-- "You don't become great by trying to be great, you become great by wanting to do something, and then doing it so hard that you become great in the process." - xkcd #896
_______________________________________________ Gnutls-devel mailing list Gnutls-devel@gnu.org https://lists.gnu.org/mailman/listinfo/gnutls-devel
Nikos Mavrogiannopoulos nmav@gnutls.org writes:
nettle-stdint.h conflicts with gnulib's stdint.h on solaris.
The same or a very similar issue was reported a while ago. On Solaris, I expect nettle-stdint.h to short circuit, and just include the system's stdint.h (or maybe inttypes.h).
What I'd like to know is if nettle's configure script sets up nettle-stdint.h to include the right system include file, as I expect it to:
* If no, that's clearly a bug in nettle's configure.ac or in the AX_CREATE_STDINT_H macro. To track it down, I would need to look at the installed nettle-stdint.h and at the config.log when nettle was built.
* If yes, then gnulib's definitions don't really conflict with *nettle*'s definitions, but with Solaris' definitions.
I'm also not sure if Sun's compiler and gcc agree on what, e.g. uint_fast32_t should be (they ought to agree though; these types should be nailed down by the relevant ABI specification, and then also gnulib should stick to that spec).
Regards, /Niels
nettle-bugs@lists.lysator.liu.se