On May 3, 2008, at 9:18 AM, Jean-François Mertens wrote:

>
> On 03 May 2008, at 14:20, Martin Costabel wrote:
>
>> Alexander Hansen wrote:
>> []
>>>>> gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include   -I/sw/
>>>>> include  -g
>>>>> -O2 -D_REENTRANT -D_THREAD_SAFE -g -Wall -c demo.c
>>>>> In file included from demo.c:37:
>>>>> /usr/include/stdlib.h:223: error: conflicting types for 'rand'
>>>>> /usr/include/stdlib.h:175: error: previous declaration of 'rand'
>>>>> was
>>>>> here
>>>>> ...
>>>> The issue seems more related to 10.5 than to pangocairo.
>>>> On 10.4 I can't reproduce this.
>>>> A conflict within the same (so standard ..) header looks
>>>> suspicious..
>>>> (no ill-defined macros could be involved ?)
>>
>> The two "conflictiong" macros #define rand and random, respectively.
>> They conflict only because demo.c #defines random rand, and this
>> happens
>> because apparently configure wrongly #undefs HAVE_RANDOM. So there is
>> something wrong with the configure phase of libggi2.
>> Sorry, no more time to find out what.
>
> I get indeed on 10.4
> checking for random ...yes
> and :
> config.h:#define HAVE_RANDOM 1
>
> Sorry, can't do more w/o a 10.5 (except of course caching the  
> result ..)
>
> JF
>

Ah.  On 10.5, I get

checking for random... no

And from config.log the only references to "random" (in a case  
insensitive search) are:

configure:6963: checking for random
configure:6991: gcc -o conftest.dSYM -g -O2 -I/sw2/include -L/sw2/lib  
conftest.c  1>&5
error: Not a directory - unable to create 'conftest.dSYM/Contents'  
bundle directory.
configure: failed program was:
#line 6968 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char random(); below.  */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error.  */
/* We use char because int might match the return type of a gcc2
     builtin and then its argument prototype would still apply.  */
char random();

int main() {

/* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
#if defined (__stub_random) || defined (__stub___random)
choke me
#else
random();


-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel

Reply via email to