[Help-gnutls] Re: duplicate symbols complaint on Mac OS X 10.5.2
Simon Josefsson
simon at josefsson.org
Thu Apr 10 10:35:53 CEST 2008
ludo at gnu.org (Ludovic Courtès) writes:
> Hi,
>
> Simon Josefsson <simon at josefsson.org> writes:
>
>> I'm still not sure whether this is a guile or gnutls problem. Before
>> making changes in gnutls to override gnulib's gnu99 default, or adding
>> thinks like -fgnu89-inline, I want to understand the problem better.
>> Adding workarounds like that is easy to do, but years later the
>> workaround often start to cause new problems and it will be difficult to
>> know what to do. (Compare the -D_REENTRANT flag..)
>>
>> Would this problem go away if we removed all 'inline' tags from
>> functions in GnuTLS?
>
> No. What happens is that GMP declares/defines various functions as
> "extern inline" and expects the GNU semantics [0]. It properly guards
> against the C99 semantic change (at least GMP 4.2.2 does) using the
> recommended method [1].
Thanks, I now understand this better. I'll ask if gnulib can stop
placing the compiler in gnu99 mode by default, it seems that is only
done for some rather esoteric problem.
> /* Apple's gcc build >5400 (since Xcode 3.0) doesn't support GNU inline in C99 mode */
> #if __APPLE_CC__ > 5400 && !defined(C99_INLINE_SEMANTICS) && __STDC_VERSION__ >= 199901L
> #define C99_INLINE_SEMANTICS 1
> #endif
>
> So I suppose GMP and Guile just have to go ahead and duplicate this?
Or ask Apple to fix their compiler. Isn't it possible to build gcc on
mac os x manually? Then it wouldn't have this problem, I guess.
/Simon
More information about the Gnutls-help
mailing list