when emerging apache 2.0.48 ist stops on : make[1]: Entering directory `/var/tmp/portage/apache-2.0.48/work/httpd-2.0.48' /var/tmp/portage/apache-2.0.48/work/httpd-2.0.48/srclib/apr/libtool --silent --mode=link gcc -mcpu=athlon -march=athlon -Os -pipe -fomit-frame-pointer -funroll-loops -ffast-math -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -DAP_HAVE_DESIGNATED_INITIALIZER -I/var/tmp/portage/apache-2.0.48/work/httpd-2.0.48/srclib/apr/include -I/var/tmp/portage/apache-2.0.48/work/httpd-2.0.48/srclib/apr-util/include -I. -I/var/tmp/portage/apache-2.0.48/work/httpd-2.0.48/os/unix -I/var/tmp/portage/apache-2.0.48/work/httpd-2.0.48/server/mpm/prefork -I/var/tmp/portage/apache-2.0.48/work/httpd-2.0.48/modules/http -I/var/tmp/portage/apache-2.0.48/work/httpd-2.0.48/modules/filters -I/var/tmp/portage/apache-2.0.48/work/httpd-2.0.48/modules/proxy -I/var/tmp/portage/apache-2.0.48/work/httpd-2.0.48/include -I/usr/include/openssl -I/var/tmp/portage/apache-2.0.48/work/httpd-2.0.48/modules/dav/main -export-dynamic -L/usr/lib -o apache2 modules.lo modules/http/mod_http.la modules/mappers/mod_so.la server/mpm/prefork/libprefork.la server/libmain.la os/unix/libos.la -lz -lssl -lcrypto /var/tmp/portage/apache-2.0.48/work/httpd-2.0.48/srclib/pcre/libpcre.la /var/tmp/portage/apache-2.0.48/work/httpd-2.0.48/srclib/apr-util/libaprutil-0.la -lldap -llber -lgdbm -ldb-4.0 -lexpat /var/tmp/portage/apache-2.0.48/work/httpd-2.0.48/srclib/apr/libapr-0.la -lrt -lm -lcrypt -lnsl -ldl server/.libs/libmain.al(exports.lo)(.data+0xb50): undefined reference to `apr_threadkey_private_delete' collect2: ld returned 1 exit status make[1]: *** [apache2] Fehler 1 make[1]: Leaving directory `/var/tmp/portage/apache-2.0.48/work/httpd-2.0.48' why it won't compile ? i think it uses the internal apr ?? Reproducible: Always Steps to Reproduce: 1.emerge apache 2.0.48 2. 3.
(this bug also appears in the apache bug database as bug #23837) It appears there is a symbol exported that should only be exported if HAVE_PTHREAD_KEY_DELETE is defined. My fix: ----- cut here ----- --- /tmp/apache-2.0.48-r1/work/httpd-2.0.48/srclib/apr/include/apr_thread_proc.h 2003-12-06 20:23:42.000000000 +1100 +++ ./srclib/apr/include/apr_thread_proc.h 2003-12-06 20:16:04.000000000 +1100 @@ -365,7 +365,9 @@ * Free the thread private memory * @param key The handle for the desired thread private memory */ +#ifdef HAVE_PTHREAD_KEY_DELETE APR_DECLARE(apr_status_t) apr_threadkey_private_delete(apr_threadkey_t *key); +#endif /** * Return the pool associated with the current threadkey. ----- cut here ----- With the above change, apache now compiles by hand with net-www/apache-2.0.48-r1.
will fix this shortly, been held up by some new repoman checks :) won't be long...
commited now (was committed a while ago, forgot to update bug :/ )
close