Samba 3.0.23c fails to build "out of the box" under Tru64 Unix 4.0f: . . . cc: Info: include/proto.h, line 8119: In this declaration, type "unsigned long long" is a language extension. (longlongtype) SMB_BIG_UINT *dfree, SMB_BIG_UINT *dsize); -------------------------------^ cc: Info: include/proto.h, line 8119: In this declaration, type "unsigned long long" is a language extension. (longlongtype) SMB_BIG_UINT *dfree, SMB_BIG_UINT *dsize); ----------------------------------------------------^ cc: Info: include/proto.h, line 8227: In this declaration, type "unsigned long long" is a language extension. (longlongtype) int vfs_allocate_file_space(files_struct *fsp, SMB_BIG_UINT len); -----------------------------------------------^ *** Exit 1 Stop. After researching the problem and applying the recommended patch from bugzilla bug 2144, it fails again with: . . . cc: Error: include/proto.h, line 1087: In this parameter list, "uint32_t" must either be a type or must be followed by a ",". (badparseparam) struct timeval timeval_current_ofs(uint32_t secs, uint32_t usecs); -----------------------------------^ cc: Error: include/proto.h, line 3528: Ill-formed parameter type list. (parmtyplist) BOOL lookup_global_sam_name(const char *user, int flags, uint32_t *rid, ---------------------------------------------------------^ cc: Error: include/proto.h, line 4278: Ill-formed parameter type list. (parmtyplist) uint32_t flags, -------------------------------------^ cc: Error: include/proto.h, line 5424: Ill-formed parameter type list. (parmtyplist) uint32_t flags); ------------------------------^ *** Exit 1 Stop. I was finally able to build Samba 3.0.24c after changing all references to typedef uint32_t (and uint64_t) in all modules and header files the compiler complained about.
Created attachment 2197 [details] output from make "out of the box"
Created attachment 2198 [details] output from make after applying bug 2144 workaround
Oops, I meant to say Samba 3.0.23c below...
you should get it compiled (I HATE autoconf) by hacking this *after* doing ./configure cat >> include/config.h<<'_EOF_' #ifndef __uint32_t_defined typedef unsigned int uint32_t; #define __uint32_t_defined #endif #ifndef __uint64_t_defined typedef unsigned long int uint64_t; #define __uint64_t_defined #endif _EOF_ the problem is just that these types simply do not exist on osf4.0 .... and it seems to be modern programming style to let autoconf decide. yes I know, this is dirty ... but hey, it works 8)
Samba doesn't really support systems without C99 any more and the systems to detect types etc has totally changed since. Closing. Sorry!