[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: sigset prototype not included on Linux platforms (ITS#603)



At 04:54 PM 6/23/00 GMT, geksiong@sendmail.com wrote:
>Full_Name: Gek Low
>Version: 1.2
>OS: Linux
>URL: ftp://ftp.openldap.org/incoming/
>Submission from: (NULL) (63.211.143.38)
>
>
>I am trying to build OpenLDAP on the IA64 (Linux OS) and I found out that it is
>not 
>including the prototype for sigset(), so the compiler is assuming it returns
>int, which 
>is bad on a 64-bit system, because ints are only 32 bits. The prototype must be
>included
>to generate correct code.
>
>The sigset() prototype on Linux systems is contained within the __USE_UNIX98
>ifdef in
>signal.h, so it is not included at all. However, there is a sigset function in
>libc,
>so everything links. The OpenLDAP configure script correctly/incorrectly says
>sigset() 
>exist on Linux, but the missing prototype will not work for 64-bit Linux.

I suggest using:
	env ac_cv_func_sigset=no ./configure

to workaround this problem.  I do not suggest defining __USE_UNIX98.
This macro is internal to the implementation of the C library and,
as such, applications should not muck with it.

Kurt