Folks,
I've run into a problem compiling bonnie++ 0.99f and 3.4-STABLE.
Normally, I would ask a question about this on the -stable list, but
from discussions with the author, it's my understanding that this
will probably be fixed in the next revision of the code.
However, this has brought up an interesting question. It is my
understanding that X/Open requires that this union be defined within
the client source code (which is why Russell is going to fix his
code), and not within standard system headers. However, looking in
this file under 3.2-RELEASE and 3.4-STABLE, I find that FreeBSD does
go ahead and define this object.
Is this changed in -CURRENT? If not, are there any plans to
change it in -CURRENT? Or has the X/Open standard changed, and
FreeBSD is following the new standard in this area?
My understanding is that the other BSDs follow the X/Open
standard, as does Linux. I'm trying to understand why FreeBSD is
different in this regard.
I'm also curious to know why there is a difference in how this
object is defined under Linux and FreeBSD. Linux apparently defines
it like so:
union semun {
int val; /* value for SETVAL */
struct semid_ds *buf; /* buffer for IPC_STAT, IPC_SET */
unsigned short int *array; /* array for GETALL, SETALL */
struct seminfo *__buf; /* buffer for IPC_INFO */
};
#endif
Whereas looking in /usr/include/sys/sem.h, FreeBSD defines it like so:
union semun {
int val; /* value for SETVAL */
struct semid_ds *buf; /* buffer for IPC_STAT & IPC_SET */
u_short *array; /* array for GETALL & SETALL */
};
At the end of the day, I'm just trying to get a working bonnie++.
However, I'm also interested as to who is "right" on this issue, and
more importantly, why they are "right".
Thanks!
--
These are my opinions and should not be taken as official Skynet policy
_________________________________________________________________________
|o| Brad Knowles, <[EMAIL PROTECTED]> Belgacom Skynet NV/SA |o|
|o| Systems Architect, Mail/News/FTP/Proxy Admin Rue Col. Bourg, 124 |o|
|o| Phone/Fax: +32-2-706.13.11/726.93.11 B-1140 Brussels |o|
|o| http://www.skynet.be Belgium |o|
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Unix is like a wigwam -- no Gates, no Windows, and an Apache inside.
Unix is very user-friendly. It's just picky who its friends are.
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message