Bug 4204 - Compilation fails under Tru64 Unix 4.0f
Summary: Compilation fails under Tru64 Unix 4.0f
Status: RESOLVED WONTFIX
Alias: None
Product: Samba 3.0
Classification: Unclassified
Component: Build environment (show other bugs)
Version: 3.0.23c
Hardware: Alpha OSF/1
: P3 minor
Target Milestone: none
Assignee: Tim Potter
QA Contact: Samba QA Contact
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-11-02 10:38 UTC by Scott McAskill (mail address dead)
Modified: 2019-06-11 21:24 UTC (History)
2 users (show)

See Also:


Attachments
output from make "out of the box" (28.18 KB, text/plain)
2006-11-02 10:40 UTC, Scott McAskill (mail address dead)
no flags Details
output from make after applying bug 2144 workaround (2.07 KB, text/plain)
2006-11-02 10:41 UTC, Scott McAskill (mail address dead)
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Scott McAskill (mail address dead) 2006-11-02 10:38:01 UTC
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.
Comment 1 Scott McAskill (mail address dead) 2006-11-02 10:40:38 UTC
Created attachment 2197 [details]
output from make "out of the box"
Comment 2 Scott McAskill (mail address dead) 2006-11-02 10:41:43 UTC
Created attachment 2198 [details]
output from make after applying bug 2144 workaround
Comment 3 Scott McAskill (mail address dead) 2006-11-02 10:43:22 UTC
Oops, I meant to say Samba 3.0.23c below...
Comment 4 Peter Marquardt 2006-11-08 04:55:56 UTC
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)
Comment 5 Andrew Bartlett 2019-06-11 13:12:07 UTC
Samba doesn't really support systems without C99 any more and the systems to detect types etc has totally changed since. 

Closing.  Sorry!