[gambit-list] Latest sources don't build on RHEL 4.2

Bradley Lucier lucier at math.purdue.edu
Sat Jan 26 14:59:47 EST 2008


The expanded sources for os_io.c on RHEL 4.2 show

> # 23 "/usr/include/bits/sigset.h" 3 4
> typedef int __sig_atomic_t;
>
>
>
>
> typedef struct
>   {
>     unsigned long int __val[(1024 / (8 * sizeof (unsigned long  
> int)))];
>   } __sigset_t;

then

> # 35 "/usr/include/sys/select.h" 2 3 4
>
>
>
> typedef __sigset_t sigset_t;


then

> # 5958 "os_io.c"
> typedef sigset_t sigset_type;
>
>
>
>
> static sigset_type block_signal
>    (int signum)
>
>
> {
>   sigset_type oldmask = 0;
>
>
>
>   sigset_type toblock;
>
>   sigemptyset (&toblock);
>   sigaddset (&toblock, signum);
>   sigprocmask (0, &toblock, &oldmask);
> # 5986 "os_io.c"
>   return oldmask;
> }


and gcc rightly complains:

> gcc -I../include -I. -Wall -W -Wno-unused -O1 -fno-math-errno - 
> fschedule-insns2 -fno-trapping-math -fno-strict-aliasing -fwrapv - 
> fomit-frame-pointer -fPIC -fno-common -mieee-fp -save-temps - 
> DHAVE_CONFIG_H -D___PRIMAL -D___LIBRARY -D___GAMBCDIR="\"/pkgs/ 
> Gambit-C//v4.1.2\"" -D___SYS_TYPE_CPU="\"x86_64\"" - 
> D___SYS_TYPE_VENDOR="\"unknown\"" -D___SYS_TYPE_OS="\"linux-gnu\"" - 
> c os_io.c
> os_io.c: In function â:
> os_io.c:5968: error: invalid initializer


So I suggest you change os_io.c from

> ___HIDDEN sigset_type block_signal
>    ___P((int signum),
>         (signum)
> int signum;)
> {
>   sigset_type oldmask = 0;


to

> ___HIDDEN sigset_type block_signal
>    ___P((int signum),
>         (signum)
> int signum;)
> {
>   sigset_type oldmask;

Brad




More information about the Gambit-list mailing list