According to SUSv2: | The structure semid_ds contains the following members: | | struct ipc_perm sem_perm operation permission structure | unsigned short int sem_nsems number of semaphores in set | time_t sem_otime last semop^) time | time_t sem_ctime last time changed by semctl() but bits/sem.h defines struct semid_ds such that sem_nsems is an unsigned long. I can't see any reference to this in the changelog included in the package. This does not appear to have changed in the current Austin Group draft.
Does this bug cause some problems? Some architecture on linux defines sem_nsems as unsigned long int. Regards, -- gotom
It causes problems for things like TenDRA that try to use standards pedantry to their own ends - I've got a workaround in the TenDRA package because of this.
At Wed, 12 Mar 2003 08:16:37 +0000, Mark Brown wrote: So, what is the problem? TenDRA warns something? I rebuild TenDRA without any your debian patches, but the result of my build is not related any semid_ds issue. Repeatedly, some architecture defined it as unsigned long. sizeof(unsigned long) > sizeof(unsigned short). If we change it to unsigned short, then the data may be lost. Regards, -- gotom
TenDRA fails to compile when one of the patches is removed since it checks the exact type while building its APIs. IIRC it's one of the bits in this hunk but I can't remember which:--- tendra-4.1.2.orig/src/lib/machines/linux/80x86/startup/xpg3.h +++ tendra-4.1.2/src/lib/machines/linux/80x86/startup/xpg3.h @@ -4,8 +4,9 @@ #define _SVID_SOURCE 1 #define _BSD_SOURCE 1 #define __SVR4_I386_ABI_L1__ 1 -#define __semun_defined 1 #define __WRONG_XPG3_SEARCH_H #define __WRONG_XPG3_SEARCH_H_SRCH_OLD #define __WRONG_XPG3_SEARCH_H_SRCH_PROTO +#define __WRONG_XPG3_SYS_SEM_H +#define __WRONG_XPG3_SYS_SEM_H_SEM_PROTO One of the last two defines there. I can check further tonight if you want. Sorry, I don't know the best way to fix this in a glibc-style fashion. It's a rather pedantic bug at the best of times so making a fix only come into play when people particularly ask for standards conformance might be an option.
At Wed, 12 Mar 2003 13:53:23 +0000, Mark Brown wrote: Yes, please check. My build does not barf the error in sem.[ch] and sem_prot.[ch]. OK, I see the point is "pedantic" conformance analysis of glibc definition, not standard conformance. Regards, -- gotom
It's __WRONG_XPG3_SYS_SEM_H_SEM_PROTO that's working around the problem. Well, it's both really. The standard says X and glibc does Y so clearly there's a standards conformance thing here. It's just that it's only a pretty unusual application that's going to notice this particular thing.
At Thu, 13 Mar 2003 13:21:04 +0000, Mark Brown wrote: So did the prior error occur from this issue? Or I guess it's something other things which is already fixed in these days... TenDRA things are still "workaround" state, but at least I think glibc definition satisfies your requirement, linux definition and the standards (not strictly, but some degree). Could I close this bug? Regards, -- gotom
What prior error? If you mean the build failures due to this then they were introduced with glibc 2.1 or 2.2 and are still present in glibc 2.3. Nothing has changed since the bug was reported - I'd say leave it open. It's always possible someone will come along and implement a standard conforming wrapper.
At Fri, 14 Mar 2003 09:07:24 +0000, Mark Brown wrote: You said "It's __WRONG_XPG3_SYS_SEM_H_SEM_PROTO that's working around the problem". At least I think your problem is already fixed. You have not described the real error. Who have trouble? Provide me the _real example_, or your _build message_. So you contact to the upstream yourself. I don't think "we have to conform to the (sometimes old) standard everytime". Why do you want to conform the standard?
Herzlichen Gruß, wir sind eine Arbeitsvermittlungsagentur und freuen uns Ihnen einige für Sie passende Jobs vorschlagen zu können. Sind Sie nicht ganz ausgelastet und wollen nebenbei etwas dazu verdienen? Sind Sie in Rente oder ohne Arbeit? Sind Sie am liebsten Ihr eigener Vorgesetzter? Möchten Sie Ihre Arbeitszeit und Ihre Arbeitsstelle selbst gestalten? Dann haben wir garantiert etwas dass zu Ihnen passt. Wir vermitteln Arbeitsstellen EU weit und haben auch etwas für Sie in Ihrer Umgebung, und die Bezahlung beträgt im Schnitt ab 20 € die Stunde. Sollten Sie an dieser Arbeit Interesse haben, so schicken Sie uns ein knappes Bewerbungsschreiben an SuzySammlandgy@alumnidirector.com und Sie erhalten weitere Einzelheiten. Mit besten Grüßen Zimmermann Agentur