i'm building perl 5.10.0 on
Darwin Kernel Version 9.2.0: Tue Feb 5 16:15:19 PST 2008;
root:xnu-1228.3.13~1/RELEASE_PPC
powerpc-apple-darwin9-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5531)
currently,
make
dies @ "redef of 'union semun'"
cd /build/perl-5.10.0
make
...
In file included from miniperlmain.c:36:
perl.h:5431: error: redefinition of 'union semun'
make: *** [miniperlmain.o] Error 1
looking @ perl.h:5427
...
#ifdef HAS_SEM
# include <sys/ipc.h>
# include <sys/sem.h>
# ifndef HAS_UNION_SEMUN /* Provide the union semun. */
union semun {
int val;
struct semid_ds *buf;
unsigned short *array;
};
# endif
# ifdef USE_SEMCTL_SEMUN
# ifdef IRIX32_SEMUN_BROKEN_BY_GCC
union gccbug_semun {
int val;
struct semid_ds *buf;
unsigned short *array;
char __dummy[5];
};
# define semun gccbug_semun
# endif
# define Semctl(id, num, cmd, semun) semctl(id, num, cmd, semun)
# else
# ifdef USE_SEMCTL_SEMID_DS
# ifdef EXTRA_F_IN_SEMUN_BUF
# define Semctl(id, num, cmd, semun) semctl(id, num,
cmd, semun.buff)
# else
# define Semctl(id, num, cmd, semun) semctl(id, num,
cmd, semun.buf)
# endif
# endif
# endif
#endif
...
it looks like a HAS_UNION_SEMUN or HAS_SEM needs to be undef'd?
i don't see this issue w/ 5.8.8, so it might be perl-src ...
before I blindly undef/def symbols, can anyone comment/hint on this?
thanks.