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

HTH,

Mark



Thanks much,
Brian

_______________________________________________
389-devel mailing list -- 389-devel@lists.fedoraproject.org
To unsubscribe send an email to 389-devel-leave@lists.fedoraproject.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@lists.fedoraproject.org