Samba 3.0.21pre1 Available for Download (empty structs)

Nicholas Brealey nick at brealey.org
Wed Oct 19 22:29:31 GMT 2005


The empty structs in libmsrpc.h seem to upset the latest
Sun Studio 10 compiler on Solaris 10:

cc -V
cc: Sun C 5.7 Patch 117836-04 2005/07/19

uname -a
SunOS xxxxxxx 5.10 Generic_118822-19 sun4u sparc SUNW,Sun-Fire-V250

$ make
Using FLAGS =  -O -g -errtags=yes -D_SAMBA_BUILD_ -I./popt -Iinclude 
-I/usr/local/src/samba-3.0.21pre1/source/include 
-I/usr/local/src/samba-3.0.21pre1/source/ubiqx 
-I/usr/local/src/samba-3.0.21pre1/source/tdb  -I. -I/usr/sfw/include 
-I/opt/sfw/include -D_LARGEFILE_SOURCE -D_REENTRANT 
-D_FILE_OFFSET_BITS=64 -DSUNOS5 -I/usr/local/src/samba-3.0.21pre1/source
       LIBS = -lsendfile -lresolv -lsocket -lnsl -lsec
       LDSHFLAGS = -G -O -g -errtags=yes -D_SAMBA_BUILD_ 
-L/usr/sfw/lib:/opt/sfw/lib -R/usr/sfw/lib:/opt/sfw/lib -lthread
       LDFLAGS = -L/usr/sfw/lib:/opt/sfw/lib -R/usr/sfw/lib:/opt/sfw/lib 
-lthread
       PIE_CFLAGS =
       PIE_LDFLAGS =
Compiling libmsrpc/libmsrpc.c with -KPIC
"include/libmsrpc.h", line 1003: zero-sized struct/union
"include/libmsrpc.h", line 1029: zero-sized struct/union
cc: acomp failed for libmsrpc/libmsrpc.c
*** Error code 2
The following command caused the error:
cc -I. -I/usr/local/src/samba-3.0.21pre1/source  -O -g -errtags=yes 
-D_SAMBA_BUILD_ -I./popt -Iinclude 
-I/usr/local/src/samba-3.0.21pre1/source/include 
-I/usr/local/src/samba-3.0.21pre1/source/ubiqx 
-I/usr/local/src/samba-3.0.21pre1/source/tdb  -I. -I/usr/sfw/include 
-I/opt/sfw/include -D_LARGEFILE_SOURCE -D_REENTRANT 
-D_FILE_OFFSET_BITS=64 -DSUNOS5 -I/usr/local/src/samba-3.0.21pre1/source 
    -KPIC -c libmsrpc/libmsrpc.c -o libmsrpc/libmsrpc.po.o
make: Fatal error: Command failed for target `libmsrpc/libmsrpc.po.o'

The offending lines in libmsrpc.h are:

983     struct LsaRemovePrivileges {
984        struct {
985           /**An open handle to the LSA*/
986           POLICY_HND *pol;
987
988           /**(Optional) The account SID (must specify at least sid 
or name)*/
989           DOM_SID *sid;
990
991           /**(Optional) The account name (must specify at least sid 
or name)*/
992           char *name;
993
994           /**The privilege names of the privileges to remove from 
the account*/
995           char **priv_names;
996
997           /**The number of privileges in the priv_names array*/
998           uint32 num_privs;
999
1000       } in;
1001
1002       struct {
1003       } out;
1004    };


and

1016    struct LsaClearPrivileges {
1017       struct {
1018          /**An open handle to the LSA*/
1019          POLICY_HND *pol;
1020
1021          /**(Optional) The user's SID (must specify at least sid or 
name)*/
1022          DOM_SID *sid;
1023
1024          /**(Optional) The user's name (must specify at least sid 
or name)*/
1025          char *name;
1026       } in;
1027
1028       struct {
1029       } out;
1030    };


Regards

Nick


More information about the samba-technical mailing list