I just compiled Samba-2.2.8pre2 on 4 different systems:
1) Solaris 7 + cc: WorkShop Compilers 5.0 98/12/15 C 5.0 2) Solaris 9 + cc: WorkShop Compilers 5.0 98/12/15 C 5.0 3) Solaris 9 + cc: Forte Developer 7 C 5.4 2002/03/09 4) IRIX 6.5 + MIPSpro Compilers: Version 7.30
It compiled OK on all systems. I only ran it on 2) since the other systems are 'production' systems. It seems to run OK.
There were a number of compiler warnings though.
Two of the warnings looks like they could be serious:
CLITAR ======
"client/clitar.c", line 688: warning: argument #4 is incompatible with prototype: prototype: pointer to uint : "include/proto.h", line 303 argument : pointer to ullong
A 64 bit integer being used where a 32 bit integer is expected? smbtar make not work on bigendian machines? smbtar may not work for files over 2GB on little endian machines?
IRIX TDBUTIL ============
cc-1164 cc: WARNING File = tdb/tdbutil.c, Line = 46 Argument of type "SIG_ATOMIC_T *" is incompatible with parameter of type "sig_atomic_t *".
tdb_set_lock_alarm(&gotalarm);
A fuller list of warnings is:
On 1) I got the following
"rpc_parse/parse_spoolss.c", line 1209: warning: assignment type mismatch: pointer to uchar "=" pointer to char "rpc_parse/parse_spoolss.c", line 6666: warning: assignment type mismatch: pointer to uchar "=" pointer to char
"passdb/secrets.c", line 291: warning: argument #2 is incompatible with prototype: prototype: pointer to char : "include/proto.h", line 5018 argument : pointer to const char
"lib/util.c", line 62: warning: initializer does not fit or is out of range: -1
"tdb/tdbutil.c", line 46: warning: argument #1 is incompatible with prototype: prototype: pointer to int : "include/../tdb/tdb.h", line 130 argument : pointer to volatile int
"smbd/quotas.c", line 404: warning: argument #2 is incompatible with prototype: prototype: pointer to int : "/usr/include/rpc/xdr.h", line 340 argument : pointer to uint "smbd/quotas.c", line 408: warning: argument #2 is incompatible with prototype: prototype: pointer to int : "/usr/include/rpc/xdr.h", line 340 argument : pointer to uint "smbd/quotas.c", line 412: warning: argument #2 is incompatible with prototype: prototype: pointer to int : "/usr/include/rpc/xdr.h", line 340 argument : pointer to uint
"client/clitar.c", line 688: warning: argument #4 is incompatible with prototype: prototype: pointer to uint : "include/proto.h", line 303 argument : pointer to ullong
Compiling tdb/tdbutil.c with -KPIC "tdb/tdbutil.c", line 46: warning: argument #1 is incompatible with prototype: prototype: pointer to int : "include/../tdb/tdb.h", line 130 argument : pointer to volatile int
Compiling nsswitch/winbind_nss.c with -KPIC
"nsswitch/winbind_nss.c", line 600: warning: argument #2 is incompatible with prototype:
prototype: pointer to int : "nsswitch/winbind_nss.c", line 529
argument : pointer to uint
(plus about 20 similar messages in nsswitch/winbind_nss.c).
On 2) I get the same warnings as 1).
On 3) I get the same as 1) and 2) with the following additions/changes:
Compiling passdb/pass_check.c "passdb/pass_check.c", line 669: warning: implicit function declaration: crypt
Compiling client/clitar.c "client/clitar.c", line 688: warning: argument #4 is incompatible with prototype: prototype: pointer to unsigned int : "include/proto.h", line 303 argument : pointer to unsigned long long
Compiling smbwrapper/smbw.c with -KPIC "smbwrapper/smbw.c", line 1413: warning: implicit function declaration: _fork Compiling smbwrapper/smbw_dir.c with -KPIC "smbwrapper/smbw_dir.c", line 570: warning: implicit function declaration: _getcwd
Compiling smbwrapper/wrapped.c with -KPIC "smbwrapper/wrapped.c", line 39: warning: implicit function declaration: smbw_path "smbwrapper/wrapped.c", line 40: warning: implicit function declaration: smbw_open (plus lots of similar messages).
On 4) I there are lots of warnings but these are the most interesting ones:
Compiling smbd/password.c cc-1164 cc: WARNING File = smbd/password.c, Line = 664 Argument of type "const char *" is incompatible with parameter of type "char \ *" .
setnetgrent(group); ^ Compiling smbd/reply.c cc-1552 cc: WARNING File = smbd/reply.c, Line = 2575 The variable "data" is set but never used.
char *data; ^ cc-1552 cc: WARNING File = rpc_server/srv_spoolss_nt.c, Line = 335 The variable "i" is set but never used.
int i;
Compiling rpc_parse/parse_spoolss.c cc-1515 cc: WARNING File = rpc_parse/parse_spoolss.c, Line = 1209 A value of type "char *" cannot be assigned to an entity of type "unsigned char *".
r_u->data = prs_alloc_mem(ps, r_u->size); ^
cc-1515 cc: WARNING File = rpc_parse/parse_spoolss.c, Line = 6666 A value of type "char *" cannot be assigned to an entity of type "unsigned char *".
r_u->data = prs_alloc_mem(ps, r_u->size); ^ Compiling passdb/passdb.c cc-1552 cc: WARNING File = passdb/passdb.c, Line = 879 The variable "pwd" is set but never used.
struct passwd *pwd = NULL; ^
Compiling passdb/secrets.c cc-1164 cc: WARNING File = passdb/secrets.c, Line = 291 Argument of type "const char *" is incompatible with parameter of type "char \ *" .
ret = tdb_lock_bystring(tdb, name, timeout); ^
Compiling lib/kanji.c cc-1188 cc: WARNING File = lib/kanji.c, Line = 117 The indicated type qualifier is meaningless on cast type.
if (is_shift_jis (*s1)) { (repeated lots times).
cc-1552 cc: WARNING File = lib/util.c, Line = 1376 The variable "n" is set but never used.
int n; ^
cc-1164 cc: WARNING File = tdb/tdbutil.c, Line = 46 Argument of type "SIG_ATOMIC_T *" is incompatible with parameter of type "sig_atomic_t *".
tdb_set_lock_alarm(&gotalarm);
Compiling client/clitar.c cc-1164 cc: WARNING File = client/clitar.c, Line = 688 Argument of type "unsigned long long *" is incompatible with parameter of typ\ e "size_t *".
if (!cli_getattrE(cli, fnum, &finfo.mode, &finfo.size, NULL, &finfo.a\ time, &finfo.mtime)) {
^
Compiling nsswitch/winbindd_user.c cc-1552 cc: WARNING File = nsswitch/winbindd_user.c, Line = 331 The variable "status" is set but never used.
NTSTATUS status; ^ cc-1185 cc: WARNING File = nsswitch/winbindd_cache.c, Line = 653 An enumerated type is mixed with another type.
*type = centry_uint32(centry); ^ (repeated severla times).
Compiling nsswitch/winbindd_pam.c cc-1552 cc: WARNING File = nsswitch/winbindd_pam.c, Line = 33 The variable "passlen" is set but never used.
int passlen; ^