On Wed, 2018-10-17 at 18:36 -0400, Brian Matheson wrote: > It did indeed (tested by simply pulling in relevant definitions from > centos) but fails to link. I don't currently have the build in front > of me, so cannot report details right now. > > I've started down the path of building glibc in alpine but don't know > off hand how long the dependency chain will be. > > If there's interest on the list, I'll keep you posted. We define the MALLOPT and MX_FAST as a work around to a glibc issue though. Could we actually just #ifdef check what libc we have to prevent this leaking into other platforms/libc types? > > Thanks again for the help, > Brian > > On Wed, Oct 17, 2018, 5:27 PM Mark Reynolds <mreynolds@xxxxxxxxxx> > wrote: > > On 10/17/18 12:07 PM, Mark Reynolds wrote: > > > On 10/17/18 12:01 PM, 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 > > > > > > Actually you would need to define MX_FAST as well. Perhaps > > > "alpine' is not registering as a LINUX platform. In that case > > > try this code change: > > > > > > diff --git a/ldap/servers/slapd/libglobs.c > > > b/ldap/servers/slapd/libglobs.c > > > index a31a340ff..7098c8189 100644 > > > --- a/ldap/servers/slapd/libglobs.c > > > +++ b/ldap/servers/slapd/libglobs.c > > > @@ -128,9 +128,7 @@ > > > #endif /* USE_SYSCONF */ > > > #include "slap.h" > > > #include "plhash.h" > > > -#if defined(LINUX) > > > #include <malloc.h> > > > -#endif > > > > > > #define REMOVE_CHANGELOG_CMD "remove" > > > > Hi Brian, > > Did you make this code change above? Did it solve it? > > Thanks, > > Mark > > > > > > > HTH, > > > > Mark > > > > > > > > > Thanks much, > > > > > Brian > > > > > > > > > > > > > > > _______________________________________________ > > > > > 389-devel mailing list -- 389-devel@xxxxxxxxxxxxxxxxxxxxxxx > > > > > To unsubscribe send an email to 389-devel-leave@lists.fedorap > > > > > roject.org > > > > > 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 > > > > > > > > > > > > _______________________________________________ > > > > 389-devel mailing list -- 389-devel@xxxxxxxxxxxxxxxxxxxxxxx > > > > To unsubscribe send an email to 389-devel-leave@lists.fedorapro > > > > ject.org > > > > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.h > > > > tml > > > > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_gu > > > > idelines > > > > List Archives: https://lists.fedoraproject.org/archives/list/38 > > > > 9-devel@xxxxxxxxxxxxxxxxxxxxxxx > > _______________________________________________ > 389-devel mailing list -- 389-devel@xxxxxxxxxxxxxxxxxxxxxxx > To unsubscribe send an email to 389-devel-leave@lists.fedoraproject.o > rg > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelin > es > List Archives: https://lists.fedoraproject.org/archives/list/389-deve > l@xxxxxxxxxxxxxxxxxxxxxxx _______________________________________________ 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