[MacPorts] #65622: samba4: configure freezes on Checking for setproctitle_init
MacPorts
noreply at macports.org
Sun Aug 7 02:54:58 UTC 2022
#65622: samba4: configure freezes on Checking for setproctitle_init
---------------------------+---------------------
Reporter: barracuda156 | Owner: (none)
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 2.7.2
Resolution: | Keywords: powerpc
Port: samba4 |
---------------------------+---------------------
Comment (by barracuda156):
So it freezes somewhere around this part of configure script:
{{{
# libbsd on some platforms provides strlcpy and strlcat
if not conf.CHECK_FUNCS('strlcpy strlcat'):
if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd',
headers='bsd/string.h',
checklibc=True):
strlcpy_in_bsd = True
if not conf.CHECK_FUNCS('getpeereid'):
conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h
bsd/unistd.h')
if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle',
headers='setproctitle.h'):
conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h
bsd/unistd.h')
if not conf.CHECK_FUNCS('setproctitle_init'):
conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd',
headers='sys/types.h bsd/unistd.h')
if not conf.CHECK_FUNCS('closefrom'):
conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
conf.CHECK_CODE('''
struct ucred cred;
socklen_t cred_len;
int ret = getsockopt(0, SOL_SOCKET, SO_PEERCRED, &cred,
&cred_len);''',
'HAVE_PEERCRED',
msg="Checking whether we can use SO_PEERCRED to get socket
credentials",
headers='sys/types.h sys/socket.h')
#Some OS (ie. freebsd) return EINVAL if the conversion could not be
done, it's not what we expect
#Let's detect those cases
if conf.CONFIG_SET('HAVE_STRTOLL'):
conf.CHECK_CODE('''
long long nb = strtoll("Text", NULL, 0);
if (errno == EINVAL) {
return 0;
} else {
return 1;
}
''',
msg="Checking correct behavior of strtoll",
headers = 'errno.h',
execute = True,
define = 'HAVE_BSD_STRTOLL',
)
conf.CHECK_FUNCS('if_nametoindex strerror_r')
conf.CHECK_FUNCS('syslog')
conf.CHECK_FUNCS('gai_strerror get_current_dir_name')
conf.CHECK_FUNCS('timegm getifaddrs freeifaddrs mmap setgroups syscall
setsid')
conf.CHECK_FUNCS('getgrent_r getgrgid_r getgrnam_r getgrouplist
getpagesize')
conf.CHECK_FUNCS('getpwent_r getpwnam_r getpwuid_r epoll_create')
conf.CHECK_FUNCS('port_create')
conf.CHECK_FUNCS('getprogname')
if not conf.CHECK_FUNCS('copy_file_range'):
conf.CHECK_CODE('''
syscall(SYS_copy_file_range,0,NULL,0,NULL,0,0);
''',
'HAVE_SYSCALL_COPY_FILE_RANGE',
headers='sys/syscall.h unistd.h',
msg='Checking whether we have copy_file_range
system call')
conf.SET_TARGET_TYPE('attr', 'EMPTY')
xattr_headers='sys/attributes.h attr/xattr.h sys/xattr.h'
# default to 1, we set it to 0 if we don't find any EA implementation
below:
conf.DEFINE('HAVE_XATTR_SUPPORT', 1)
if conf.CHECK_FUNCS_IN('getxattr', 'attr', checklibc=True,
headers=xattr_headers):
conf.DEFINE('HAVE_XATTR_XATTR', 1)
# Darwin has extra options to xattr-family functions
conf.CHECK_CODE('getxattr(NULL, NULL, NULL, 0, 0, 0)',
headers=xattr_headers, local_include=False,
define='XATTR_ADDITIONAL_OPTIONS',
msg="Checking whether xattr interface takes
additional options")
elif conf.CHECK_FUNCS_IN('attr_listf', 'attr', checklibc=True,
headers=xattr_headers):
conf.DEFINE('HAVE_XATTR_ATTR', 1)
elif conf.CHECK_FUNCS('extattr_list_fd'):
conf.DEFINE('HAVE_XATTR_EXTATTR', 1)
elif conf.CHECK_FUNCS('flistea'):
conf.DEFINE('HAVE_XATTR_EA', 1)
elif not conf.CHECK_FUNCS('attropen'):
conf.DEFINE('HAVE_XATTR_SUPPORT', 0)
conf.CHECK_FUNCS_IN('dlopen dlsym dlerror dlclose', 'dl',
checklibc=True, headers='dlfcn.h dl.h')
conf.CHECK_C_PROTOTYPE('dlopen', 'void *dlopen(const char* filename,
unsigned int flags)',
define='DLOPEN_TAKES_UNSIGNED_FLAGS',
headers='dlfcn.h dl.h')
}}}
--
Ticket URL: <https://trac.macports.org/ticket/65622#comment:1>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list