Bug 11357 - samba-4.2.1 build failed on HPUX11.23-ia64
samba-4.2.1 build failed on HPUX11.23-ia64
Status: NEW
Product: Samba 4.1 and newer
Classification: Unclassified
Component: Build
All All
: P2 major
: ---
Assigned To: Andreas Schneider
Samba QA Contact
Depends on:
  Show dependency treegraph
Reported: 2015-06-23 07:43 UTC by jinyunshuai
Modified: 2015-07-02 14:03 UTC (History)
3 users (show)

See Also:


Note You need to log in before you can comment on or make changes to this bug.
Description jinyunshuai 2015-06-23 07:43:19 UTC
I am trying to build samba-4.2.1 on HPUX11.23-ia64 platform, it will get following errors:
../source4/../lib/util/samba_util.h:877: warning: parameter has incomplete type
[1856/3438] Compiling lib/socket_wrapper/socket_wrapper.c
../lib/socket_wrapper/socket_wrapper.c: In function `swrap_socket':
../lib/socket_wrapper/socket_wrapper.c:2412: error: union has no member named `in6'
../lib/socket_wrapper/socket_wrapper.c: At top level:
../lib/socket_wrapper/socket_wrapper.c:3126: error: redefinition of 'fopen'
/opt/hp-gcc-3.4.5/lib/gcc/hppa1.1-hp-hpux11.11/3.4.5/include/stdio.h:878: error: previous definition of 'fopen' was here
Waf: Leaving directory `/home/samba-4.2.1/bin'
Build failed:  -> task failed (err #1): 
        {task: cc socket_wrapper.c -> socket_wrapper_1.o}
make: *** [all] Error 1
I can fix  the issue of "../lib/socket_wrapper/socket_wrapper.c:2412: error: union has no member named `in6'"

about redefinition of 'fopen' ,  according to my investigation, _APP32_64BIT_OFF_T have defined in hpux, if remove "_APP32_64BIT_OFF_T" definition in include/sys/stdsyms.h, it can around the issue of "redefinition of 'fopen'",

but after that, uid_wrapper.c will get following error, it is caused conflicting types, from the samba4 codes, HAVE_SETGROUPS_INT should be defined but not.
../lib/uid_wrapper/uid_wrapper.c:1026: error: conflicting types for 'setgroups'
/opt/hp-gcc-3.4.5/lib/gcc/ia64-hp-hpux11.23/3.4.5/include/sys/unistd.h:322: error: previous declaration of 'setgroups' was here


int setgroups(int size, const gid_t *list)
int setgroups(size_t size, const gid_t *list)
	if (!uid_wrapper_enabled()) {
		return libc_setgroups(size, list);

	return uwrap_setgroups(size, list);
extern int setgroups __((int, gid_t []));

have any opinion about it?

Comment 1 Andreas Schneider 2015-07-02 14:03:22 UTC
Don't build them, see