Thanks to a suggestion from Stefan which pointed me in the right direction, I eventually tracked down my problem and was able to build successfully.
The problem was that I was using a build machine that was used for a previous build where we build a number of different libraries: expat pcre openssl zlib apr apr-util and httpd In this case, since my last build many months ago: expat was unchanged pcre had updated from 8.42 to 8.43 openssl was being upgraded from 1.0.2 to 1.1.1 zlib was unchanged apr had updated from 1.6.3 to 1.7.0 apr-util was unchanged httpd was updated from 2.4.34 to 2.4.39 For versions that were updated, I rebuilt the library. However, for unchanged libraries, I just used the original build from X months ago. This worked fine for expat and zlib which are self contained, But apr-util links to apr and therefore was linking in apr-1.6.3 and its libtool settings were injecting the apr-1.6.3 path into the rpath linker settings during the httpd build. The result was include settings for the httpd build that were pointing at apr-1.7.0/include, but linker settings pointing at the original apr-util linked apr-1.6.3/lib. Rebuilding apr-util against apr-1.7.0 sorted out the problem and all is well now. I discovered this by running the failing apr-1.7.0/build-1/libtool command using the --verbose option and discovering the following: COLLECT_GCC_OPTIONS='-std=gnu99' '-g' '-O2' '-pthread' '-o' 'httpd' '-v' '-L/myhome/expat-2.2.5/lib' '-L/myhome/pcre-8.43/lib' '-pthread' '-mtune=generic' /usr/libexec/gcc/x86_64-redhat-linux/4.4.7/collect2 --eh-frame-hdr --build-id -m elf_x86_64 --hash-style=gnu -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o httpd /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.4.7/crtbegin.o -L/myhome/expat-2.2.5/lib -L/myhome/pcre-8.43/lib -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../.. modules.o buildmark.o --export-dynamic server/.libs/libmain.a modules/core/.libs/libmod_so.a modules/http/.libs/libmod_http.a server/mpm/worker/.libs/libworker.a os/unix/.libs/libos.a /myhome/pcre-8.43/lib/libpcre.so /myhome/apr-util-1.6.1/lib/libaprutil-1.so /myhome/apr-1.6.3/lib/libapr-1.so /myhome/expat-2.2.5/lib/libexpat.so /myhome/apr-1.7.0/lib/libapr-1.so -luuid -lrt -lcrypt -lpthread -rpath /myhome/pcre-8.43/lib -rpath /myhome/apr-util-1.6.1/lib -rpath /myhome/apr-1.6.3/lib -rpath /myhome/expat-2.2.5/lib -rpath /myhome/apr-1.7.0/lib -rpath /myhome/pcre-8.43/lib -rpath /myhome/apr-util-1.6.1/lib -rpath /myhome/apr-1.6.3/lib -rpath /myhome/expat-2.2.5/lib -rpath /myhome/apr-1.7.0/lib -lgcc --as-needed -lgcc_s --no-as-needed -lpthread -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-redhat-linux/4.4.7/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crtn.o Steve Bush From: BUSH Steve [mailto:steven.b...@3ds.com] Sent: Tuesday, June 04, 2019 2:47 PM To: dev@apr.apache.org Subject: Problem compiling httpd-2.4.39 with apr-1.7.0 on Linux RH 6.5 I’m having a problem compiling httpd-2.4.39 on a Linux RH 6.5 system with apr-1.7.0, gcc version 4.4.7 However, compiling the same httpd version with apr-1.6.3 works fine. If this should be sent to the httpd mailing list instead, please let me know. Given that apachehaus has a download with httpd-2.4.39 and apr-1.7.0 (https://www.apachehaus.com/cgi-bin/download.plx ) and I can’t find anyone who has run into this (httpd Bugzilla, apr Bugzilla, apachelounge, apache httpd mailing list archives), it’s likely that I’m doing something incorrect here, but I’m stuck at the moment. I compiled and installed both apr-1.6.3 and apr-1.7.0 using the following commands: ./configure --prefix=/myhome/apr-1.6.3 make make install ./configure --prefix=/myhome/apr-1.7.0 make make install I then downloaded and attempted to compile apache using the following commands: ./configure <VARIOUS OPTIONS: modules, openssl, etc.> --with-apr=/myhome/apr-1.6.3 --with-apr-util=/myhome/apr-util-1.6.1 --prefix=/myhome/httpd-2.4.39 make then with a fresh httpd-2.4.39 folder, I did the following ./configure <VARIOUS OPTIONS: modules, openssl, etc.> --with-apr=/myhome/apr-1.7.0 --with-apr-util=/myhome/apr-util-1.6.1 --prefix=/myhome/httpd-2.4.39 make In the first case with apr-1.6.3, the httpd-2.4.39 compile successfully completes With apr-1.7.0, however, I run into the following undefined reference errors after a little bit: <SNIP> make[2]: Leaving directory `/myhome/dev/httpd-2.4.39/support' make[1]: Leaving directory `/myhome/dev/httpd-2.4.39/support' make[1]: Entering directory `/myhome/dev/httpd-2.4.39' /myhome/apr-1.7.0/build-1/libtool --silent --mode=compile gcc -std=gnu99 -g -O2 -pthread -DLINUX -D_REENTRANT -D_GNU_SOURCE -I. -I/myhome/dev/httpd-2.4.39/os/unix -I/myhome/dev/httpd-2.4.39/include -I/myhome/apr-1.7.0/include/apr-1 -I/myhome/apr-util-1.6.1/include/apr-1 -I/myhome/expat-2.2.5/include -I/myhome/pcre-8.43/include -I/myhome/dev/httpd-2.4.39/modules/aaa -I/myhome/dev/httpd-2.4.39/modules/cache -I/myhome/dev/httpd-2.4.39/modules/core -I/myhome/dev/httpd-2.4.39/modules/database -I/myhome/dev/httpd-2.4.39/modules/filters -I/myhome/dev/httpd-2.4.39/modules/ldap -I/myhome/dev/httpd-2.4.39/server -I/myhome/dev/httpd-2.4.39/modules/loggers -I/myhome/dev/httpd-2.4.39/modules/lua -I/myhome/dev/httpd-2.4.39/modules/proxy -I/myhome/dev/httpd-2.4.39/modules/http2 -I/myhome/dev/httpd-2.4.39/modules/session -I/myhome/dev/httpd-2.4.39/modules/ssl -I/myhome/dev/httpd-2.4.39/modules/test -I/myhome/dev/httpd-2.4.39/server -I/myhome/dev/httpd-2.4.39/modules/md -I/myhome/dev/httpd-2.4.39/modules/arch/unix -I/myhome/dev/httpd-2.4.39/modules/dav/main -I/myhome/dev/httpd-2.4.39/modules/generators -I/myhome/dev/httpd-2.4.39/modules/mappers -prefer-non-pic -static -c modules.c && touch modules.lo gcc -std=gnu99 -g -O2 -pthread -DLINUX -D_REENTRANT -D_GNU_SOURCE -I. -I/myhome/dev/httpd-2.4.39/os/unix -I/myhome/dev/httpd-2.4.39/include -I/myhome/apr-1.7.0/include/apr-1 -I/myhome/apr-util-1.6.1/include/apr-1 -I/myhome/expat-2.2.5/include -I/myhome/pcre-8.43/include -I/myhome/dev/httpd-2.4.39/modules/aaa -I/myhome/dev/httpd-2.4.39/modules/cache -I/myhome/dev/httpd-2.4.39/modules/core -I/myhome/dev/httpd-2.4.39/modules/database -I/myhome/dev/httpd-2.4.39/modules/filters -I/myhome/dev/httpd-2.4.39/modules/ldap -I/myhome/dev/httpd-2.4.39/server -I/myhome/dev/httpd-2.4.39/modules/loggers -I/myhome/dev/httpd-2.4.39/modules/lua -I/myhome/dev/httpd-2.4.39/modules/proxy -I/myhome/dev/httpd-2.4.39/modules/http2 -I/myhome/dev/httpd-2.4.39/modules/session -I/myhome/dev/httpd-2.4.39/modules/ssl -I/myhome/dev/httpd-2.4.39/modules/test -I/myhome/dev/httpd-2.4.39/server -I/myhome/dev/httpd-2.4.39/modules/md -I/myhome/dev/httpd-2.4.39/modules/arch/unix -I/myhome/dev/httpd-2.4.39/modules/dav/main -I/myhome/dev/httpd-2.4.39/modules/generators -I/myhome/dev/httpd-2.4.39/modules/mappers -c /myhome/dev/httpd-2.4.39/server/buildmark.c /myhome/apr-1.7.0/build-1/libtool --silent --mode=link gcc -std=gnu99 -g -O2 -pthread -L/myhome/expat-2.2.5/lib -o httpd modules.lo buildmark.o -export-dynamic server/libmain.la modules/core/libmod_so.la modules/http/libmod_http.la server/mpm/worker/libworker.la os/unix/libos.la -L/myhome/pcre-8.43/lib -lpcre /myhome/apr-util-1.6.1/lib/libaprutil-1.la -lexpat /myhome/apr-1.7.0/lib/libapr-1.la -luuid -lrt -lcrypt -lpthread server/.libs/libmain.a(exports.o):(.data+0x98): undefined reference to `apr_atomic_read64' server/.libs/libmain.a(exports.o):(.data+0xa0): undefined reference to `apr_atomic_set64' server/.libs/libmain.a(exports.o):(.data+0xa8): undefined reference to `apr_atomic_add64' server/.libs/libmain.a(exports.o):(.data+0xb0): undefined reference to `apr_atomic_sub64' server/.libs/libmain.a(exports.o):(.data+0xb8): undefined reference to `apr_atomic_inc64' server/.libs/libmain.a(exports.o):(.data+0xc0): undefined reference to `apr_atomic_dec64' server/.libs/libmain.a(exports.o):(.data+0xc8): undefined reference to `apr_atomic_cas64' server/.libs/libmain.a(exports.o):(.data+0xd0): undefined reference to `apr_atomic_xchg64' server/.libs/libmain.a(exports.o):(.data+0x180): undefined reference to `apr_encode_base64' server/.libs/libmain.a(exports.o):(.data+0x188): undefined reference to `apr_encode_base64_binary' server/.libs/libmain.a(exports.o):(.data+0x190): undefined reference to `apr_pencode_base64' server/.libs/libmain.a(exports.o):(.data+0x198): undefined reference to `apr_pencode_base64_binary' server/.libs/libmain.a(exports.o):(.data+0x1a0): undefined reference to `apr_decode_base64' server/.libs/libmain.a(exports.o):(.data+0x1a8): undefined reference to `apr_decode_base64_binary' server/.libs/libmain.a(exports.o):(.data+0x1b0): undefined reference to `apr_pdecode_base64' server/.libs/libmain.a(exports.o):(.data+0x1b8): undefined reference to `apr_pdecode_base64_binary' server/.libs/libmain.a(exports.o):(.data+0x1c0): undefined reference to `apr_encode_base32' server/.libs/libmain.a(exports.o):(.data+0x1c8): undefined reference to `apr_encode_base32_binary' server/.libs/libmain.a(exports.o):(.data+0x1d0): undefined reference to `apr_pencode_base32' server/.libs/libmain.a(exports.o):(.data+0x1d8): undefined reference to `apr_pencode_base32_binary' server/.libs/libmain.a(exports.o):(.data+0x1e0): undefined reference to `apr_decode_base32' server/.libs/libmain.a(exports.o):(.data+0x1e8): undefined reference to `apr_decode_base32_binary' server/.libs/libmain.a(exports.o):(.data+0x1f0): undefined reference to `apr_pdecode_base32' server/.libs/libmain.a(exports.o):(.data+0x1f8): undefined reference to `apr_pdecode_base32_binary' server/.libs/libmain.a(exports.o):(.data+0x200): undefined reference to `apr_encode_base16' server/.libs/libmain.a(exports.o):(.data+0x208): undefined reference to `apr_encode_base16_binary' server/.libs/libmain.a(exports.o):(.data+0x210): undefined reference to `apr_pencode_base16' server/.libs/libmain.a(exports.o):(.data+0x218): undefined reference to `apr_pencode_base16_binary' server/.libs/libmain.a(exports.o):(.data+0x220): undefined reference to `apr_decode_base16' server/.libs/libmain.a(exports.o):(.data+0x228): undefined reference to `apr_decode_base16_binary' server/.libs/libmain.a(exports.o):(.data+0x230): undefined reference to `apr_pdecode_base16' server/.libs/libmain.a(exports.o):(.data+0x238): undefined reference to `apr_pdecode_base16_binary' server/.libs/libmain.a(exports.o):(.data+0x5c8): undefined reference to `apr_global_mutex_timedlock' server/.libs/libmain.a(exports.o):(.data+0x718): undefined reference to `apr_sockaddr_zone_set' server/.libs/libmain.a(exports.o):(.data+0x720): undefined reference to `apr_sockaddr_zone_get' server/.libs/libmain.a(exports.o):(.data+0xad0): undefined reference to `apr_proc_mutex_timedlock' server/.libs/libmain.a(exports.o):(.data+0xed0): undefined reference to `apr_thread_mutex_timedlock' collect2: ld returned 1 exit status make[1]: *** [httpd] Error 1 make[1]: Leaving directory `/myhome/dev/httpd-2.4.39' make: *** [all-recursive] Error 1 Steve Bush This email and any attachments are intended solely for the use of the individual or entity to whom it is addressed and may be confidential and/or privileged. If you are not one of the named recipients or have received this email in error, (i) you should not read, disclose, or copy it, (ii) please notify sender of your receipt by reply email and delete this email and all attachments, (iii) Dassault Systèmes does not accept or assume any liability or responsibility for any use of or reliance on this email. Please be informed that your personal data are processed according to our data privacy policy as described on our website. Should you have any questions related to personal data protection, please contact 3DS Data Protection Officer at 3ds.compliance-priv...@3ds.com<mailto:3ds.compliance-priv...@3ds.com> For other languages, go to https://www.3ds.com/terms/email-disclaimer This email and any attachments are intended solely for the use of the individual or entity to whom it is addressed and may be confidential and/or privileged. If you are not one of the named recipients or have received this email in error, (i) you should not read, disclose, or copy it, (ii) please notify sender of your receipt by reply email and delete this email and all attachments, (iii) Dassault Systèmes does not accept or assume any liability or responsibility for any use of or reliance on this email. Please be informed that your personal data are processed according to our data privacy policy as described on our website. Should you have any questions related to personal data protection, please contact 3DS Data Protection Officer at 3ds.compliance-priv...@3ds.com<mailto:3ds.compliance-priv...@3ds.com> For other languages, go to https://www.3ds.com/terms/email-disclaimer