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

Reply via email to