Обсуждение: Slack7.1/linux.2.4 compile error: storage size of `semun' isn't known
Slack7.1/linux.2.4 compile error: storage size of `semun' isn't known
От
pgsql-bugs@postgresql.org
Дата:
Andreas Hinz (news1@accci.dk) reports a bug with a severity of 4 The lower the number the more severe it is. Short Description Slack7.1/linux.2.4 compile error: storage size of `semun' isn't known Long Description Hi, I have a the following error compiling latest CVS of PostgreSQL: ipc.c: In function `IPCPrivateSemaphoreKill': ipc.c:246: storage size of `semun' isn't known ipc.c:246: warning: unused variable `semun' ipc.c: In function `IpcSemaphoreCreate': ipc.c:298: storage size of `semun' isn't known ipc.c:298: warning: unused variable `semun' ipc.c: In function `IpcSemaphoreKill': ipc.c:399: storage size of `semun' isn't known ipc.c:399: warning: unused variable `semun' ipc.c: In function `IpcSemaphoreGetCount': ipc.c:502: storage size of `dummy' isn't known ipc.c:502: warning: unused variable `dummy' ipc.c: In function `IpcSemaphoreGetValue': ipc.c:513: storage size of `dummy' isn't known ipc.c:513: warning: unused variable `dummy' make[4]: *** [ipc.o] Error 1 make[4]: Leaving directory `/usr/ah/src/pgsql/src/backend/storage/ipc' make[3]: *** [ipc-recursive] Error 2 make[3]: Leaving directory `/usr/ah/src/pgsql/src/backend/storage' make[2]: *** [storage-recursive] Error 2 make[2]: Leaving directory `/usr/ah/src/pgsql/src/backend' make[1]: *** [all] Error 2 make[1]: Leaving directory `/usr/ah/src/pgsql/src' make: *** [all] Error 2 From /usr/include/linux/sem.h: union semun { int val; /* value for SETVAL */ struct semid_ds *buf; /* buffer for IPC_STAT & IPC_SET */ unsigned short *array; /* array for GETALL & SETALL */ struct seminfo *__buf; /* buffer for IPC_INFO */ void *__pad; }; Removing "void *__pad;" from the above makes the compile finish. Slackware 7.1 linux-2.4.0-test9 Sample Code No file was uploaded with this report
pgsql-bugs@postgresql.org writes: > I have a the following error compiling latest CVS of PostgreSQL: Odd. Is configure defining HAVE_SYS_SEM_H in src/include/config.h? What was the last version you compiled successfully? > Removing "void *__pad;" from the above makes the compile finish. That doesn't make much sense to me either ---- if the union declaration is broken, why no complaint when the include file is read? regards, tom lane