On (17/10/18 12:01), Mark Reynolds wrote: > >On 10/17/18 11:27 AM, Brian Matheson wrote: >> Hi list, >> >> I'm attempting th build 389ds with gperftools under alpine linux, but >> have run into the following snag: >> >> /BUILD # make >> make all-am >> make[1]: Entering directory '/BUILD' >> /bin/bash ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. >> -I../389-ds-base -DBUILD_NUM=\"2018.290.1518\" >> -DVENDOR="\"389 Project\"" -DBRAND="\"389\"" -DCAPBRAND="\"389\"" >> -UPACKAGE_VERSION -UPACKAGE_TARNAME -UPACKAGE_STRING >> -UPACKAGE_BUGREPORT -I../389-ds-base/ldap/include >> -I../389-ds-base/ldap/servers/slapd -I../389-ds-base/include -I. >> -I../389-ds-base/src/nunc-stans/include/ -DLOCALSTATEDIR="\"/var\"" >> -DSYSCONFDIR="\"/etc\"" -DLIBDIR="\"/usr/lib64\"" >> -DBINDIR="\"/usr/bin\"" -DDATADIR="\"/usr/share\"" >> -DDOCDIR="\"/usr/share/doc/389-ds-base\"" -DSBINDIR="\"/usr/sbin\"" >> -DPLUGINDIR="\"/usr/lib64/dirsrv/plugins\"" >> -DTEMPLATEDIR="\"/usr/share/dirsrv/data\"" >> -DSYSTEMSCHEMADIR="\"/usr/share/dirsrv/schema\"" >> -I../389-ds-base/src/nunc-stans/include/ -I/usr/include >> -I/usr/include/nss -I/usr/include/nspr -I/usr/include/nspr >> -I/usr/include/sasl -I/usr/include -I/usr/include >> -I../389-ds-base/src/libsds/include/ >> -I../389-ds-base/src/libsds/external/ -I/usr/include/nspr >> -I../389-ds-base/src/svrcore/src/ -g -pipe -Wall -fexceptions >> -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -MT >> ldap/servers/slapd/libslapd_la-libglobs.lo -MD -MP -MF >> ldap/servers/slapd/.deps/libslapd_la-libglobs.Tpo -c -o >> ldap/servers/slapd/libslapd_la-libglobs.lo `test -f >> 'ldap/servers/slapd/libglobs.c' || echo >> '../389-ds-base/'`ldap/servers/slapd/libglobs.c >> libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../389-ds-base >> -DBUILD_NUM=\"2018.290.1518\" "-DVENDOR=\"389 Project\"" >> -DBRAND=\"389\" -DCAPBRAND=\"389\" -UPACKAGE_VERSION -UPACKAGE_TARNAME >> -UPACKAGE_STRING -UPACKAGE_BUGREPORT -I../389-ds-base/ldap/include >> -I../389-ds-base/ldap/servers/slapd -I../389-ds-base/include -I. >> -I../389-ds-base/src/nunc-stans/include/ -DLOCALSTATEDIR=\"/var\" >> -DSYSCONFDIR=\"/etc\" -DLIBDIR=\"/usr/lib64\" -DBINDIR=\"/usr/bin\" >> -DDATADIR=\"/usr/share\" -DDOCDIR=\"/usr/share/doc/389-ds-base\" >> -DSBINDIR=\"/usr/sbin\" -DPLUGINDIR=\"/usr/lib64/dirsrv/plugins\" >> -DTEMPLATEDIR=\"/usr/share/dirsrv/data\" >> -DSYSTEMSCHEMADIR=\"/usr/share/dirsrv/schema\" >> -I../389-ds-base/src/nunc-stans/include/ -I/usr/include >> -I/usr/include/nss -I/usr/include/nspr -I/usr/include/nspr >> -I/usr/include/sasl -I/usr/include -I/usr/include >> -I../389-ds-base/src/libsds/include/ >> -I../389-ds-base/src/libsds/external/ -I/usr/include/nspr >> -I../389-ds-base/src/svrcore/src/ -g -pipe -Wall -fexceptions >> -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -MT >> ldap/servers/slapd/libslapd_la-libglobs.lo -MD -MP -MF >> ldap/servers/slapd/.deps/libslapd_la-libglobs.Tpo -c >> ../389-ds-base/ldap/servers/slapd/libglobs.c -fPIC -DPIC -o >> ldap/servers/slapd/.libs/libslapd_la-libglobs.o >> ../389-ds-base/ldap/servers/slapd/libglobs.c: In function >> 'config_set_malloc_mxfast': >> ../389-ds-base/ldap/servers/slapd/libglobs.c:8107:9: warning: implicit >> declaration of function 'mallopt' [-Wimplicit-function-declaration] >> mallopt(M_MXFAST, mxfast); >> ^~~~~~~ >> ../389-ds-base/ldap/servers/slapd/libglobs.c:8107:17: error: >> 'M_MXFAST' undeclared (first use in this function) >> mallopt(M_MXFAST, mxfast); >> ^~~~~~~~ >> ../389-ds-base/ldap/servers/slapd/libglobs.c:8107:17: note: each >> undeclared identifier is reported only once for each function it >> appears in >> ../389-ds-base/ldap/servers/slapd/libglobs.c: In function >> 'config_set_malloc_trim_threshold': >> ../389-ds-base/ldap/servers/slapd/libglobs.c:8147:17: error: >> 'M_TRIM_THRESHOLD' undeclared (first use in this function) >> mallopt(M_TRIM_THRESHOLD, trim_threshold); >> ^~~~~~~~~~~~~~~~ >> ../389-ds-base/ldap/servers/slapd/libglobs.c: In function >> 'config_set_malloc_mmap_threshold': >> ../389-ds-base/ldap/servers/slapd/libglobs.c:8194:17: error: >> 'M_MMAP_THRESHOLD' undeclared (first use in this function) >> mallopt(M_MMAP_THRESHOLD, mmap_threshold); >> ^~~~~~~~~~~~~~~~ >> make[1]: *** [Makefile:9925: ldap/servers/slapd/libslapd_la-libglobs.lo] Error 1 >> make[1]: Leaving directory '/BUILD' >> make: *** [Makefile:4491: all] Error 2 >> >> I'm using the attached Dockerfile to conduct the build. Not sure what >> other info you might find relevant, but please let me know if there's >> more I can provide, or if I should ask on a different list. >> >> Is there a way around this? > >Hi Brian, > >Is M_MMAP_THRESHOLD defined in /usr/include/malloc.h? > >It is on Fedora/RHEL: > > include/malloc.h:#define M_MMAP_THRESHOLD -3 > > >The workaround would be to explicitly define M_MMAP_THRESHOLD in libglobs.c > I would say the biggest issue is that thefunction mallopt is implicitely defined. I assume it is cause by different implementation onf libc in alpine linux (uclibc instead of glibc) https://wiki.alpinelinux.org/wiki/Running_glibc_programs LS _______________________________________________ 389-devel mailing list -- 389-devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to 389-devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/389-devel@xxxxxxxxxxxxxxxxxxxxxxx