Re: build break: gnome-keyring



Murray Cumming wrote:

>On Fri, 2005-07-15 at 12:13 +0100, Ross Burton wrote:
>  
>
>>On Fri, 2005-07-15 at 11:59 +0200, Murray Cumming wrote:
>>    
>>
>>>Yes, this is Ubuntu Breezy (unstable).
>>>
>>>Using readlink() in a tiny C test case works, but it doesn't work in
>>>that file even if I put it right at the top after the #include
>>><unistd.h>. I guess some other unistd.h is being picked up, or some
>>>define is being set somewhere.
>>>      
>>>
>>readlink() is X/OPEN and BSD, I bet some header or pkg-config file is
>>changing the code expected.
>>
>>Try adding AC_GNU_SOURCE to configure.in.
>>    
>>
>
>I don't understand how, but that fixed it. Alex, may I commit that?
>  
>
glibc has a number of flags used to define what standards you want to
use.  By default you get everything (I think), but you can define flags
such that prototypes for only POSIX functions are defined (as an example).

The fact that you are running into this but people not on Ubuntu Breezy
might indicate a problem with one of the Breezy packages defining this
in their headers or as cflags in their pkg-config files.

The preprocessor symbols generally look something like "_XXX_SOURCE". 
It would be helpful if you could check whether any of the libraries are
defining one of these symbols.

The AC_GNU_SOURCE macro fixes the problem by defining "_GNU_SOURCE",
which makes sure pretty much everything is turned on.

James.



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