Bug 49013 - building httpd-2.3.5-alpha on mac os x snow leopard: Undefined symbols
Summary: building httpd-2.3.5-alpha on mac os x snow leopard: Undefined symbols
Status: RESOLVED INVALID
Alias: None
Product: Apache httpd-2
Classification: Unclassified
Component: Build (show other bugs)
Version: 2.5-HEAD
Hardware: Macintosh Mac OS X 10.4
: P2 normal (vote)
Target Milestone: ---
Assignee: Apache HTTPD Bugs Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-03-28 17:43 UTC by dev66
Modified: 2010-03-28 20:48 UTC (History)
0 users



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description dev66 2010-03-28 17:43:13 UTC
hello,

trying to compile httpd-2.3.5-alpha on mac os x results in this error which seems to be related to aprutils...

> CFLAGS="-arch i386" ./configure --prefix=/tools/apache-2.3.5 --enable-so --enable-cgi --enable-info --enable-rewrite --enable-speling --enable-usertrack --enable-deflate --enable-ssl --enable-mime-magic

[...]
Configuring Apache Portable Runtime library ...

checking for APR... yes
  setting CC to "gcc"
  setting CPP to "gcc -E"
  adding "-g" to CFLAGS
  adding "-O2" to CFLAGS
  setting CPPFLAGS to " -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp"
  setting LDFLAGS to " "

Configuring Apache Portable Runtime Utility library...

checking for APR-util... yes
  adding "-L/sw/lib" to LDFLAGS
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for pcre-config... /sw/bin/pcre-config
configure: Using external PCRE library from /sw/bin/pcre-config
  setting PCRE_INCLUDES to "-I/sw/include"
  setting PCRE_LIBS to "-L/sw/lib -lpcre"
  setting HTTPD_LDFLAGS to "$(PCRE_LIBS)"
[...]


> make
/sw/share/apache2/build-1/libtool --silent --mode=compile gcc -g -O2  -arch i386  -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp    -I. -I/var/tmp/httpd-2.3.5-alpha/os/unix -I/var/tmp/httpd-2.3.5-alpha/include -I/sw/include/apache2 -I/sw/include -I/var/tmp/httpd-2.3.5-alpha/modules/aaa -I/var/tmp/httpd-2.3.5-alpha/modules/cache -I/var/tmp/httpd-2.3.5-alpha/modules/core -I/var/tmp/httpd-2.3.5-alpha/modules/database -I/var/tmp/httpd-2.3.5-alpha/modules/filters -I/var/tmp/httpd-2.3.5-alpha/modules/ldap -I/var/tmp/httpd-2.3.5-alpha/modules/loggers -I/var/tmp/httpd-2.3.5-alpha/modules/lua -I/var/tmp/httpd-2.3.5-alpha/modules/proxy -I/var/tmp/httpd-2.3.5-alpha/modules/session -I/var/tmp/httpd-2.3.5-alpha/modules/ssl -I/var/tmp/httpd-2.3.5-alpha/modules/test -I/var/tmp/httpd-2.3.5-alpha/modules/arch/unix -I/var/tmp/httpd-2.3.5-alpha/modules/dav/main -I/var/tmp/httpd-2.3.5-alpha/modules/generators -I/var/tmp/httpd-2.3.5-alpha/modules/mappers  -prefer-non-pic -static -c modules.c && touch modules.lo
gcc -g -O2  -arch i386  -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp    -I. -I/var/tmp/httpd-2.3.5-alpha/os/unix -I/var/tmp/httpd-2.3.5-alpha/include -I/sw/include/apache2 -I/sw/include -I/var/tmp/httpd-2.3.5-alpha/modules/aaa -I/var/tmp/httpd-2.3.5-alpha/modules/cache -I/var/tmp/httpd-2.3.5-alpha/modules/core -I/var/tmp/httpd-2.3.5-alpha/modules/database -I/var/tmp/httpd-2.3.5-alpha/modules/filters -I/var/tmp/httpd-2.3.5-alpha/modules/ldap -I/var/tmp/httpd-2.3.5-alpha/modules/loggers -I/var/tmp/httpd-2.3.5-alpha/modules/lua -I/var/tmp/httpd-2.3.5-alpha/modules/proxy -I/var/tmp/httpd-2.3.5-alpha/modules/session -I/var/tmp/httpd-2.3.5-alpha/modules/ssl -I/var/tmp/httpd-2.3.5-alpha/modules/test -I/var/tmp/httpd-2.3.5-alpha/modules/arch/unix -I/var/tmp/httpd-2.3.5-alpha/modules/dav/main -I/var/tmp/httpd-2.3.5-alpha/modules/generators -I/var/tmp/httpd-2.3.5-alpha/modules/mappers  -c /var/tmp/httpd-2.3.5-alpha/server/buildmark.c
/sw/share/apache2/build-1/libtool --silent --mode=link gcc -g -O2  -arch i386   -L/sw/lib   -o httpd  modules.lo buildmark.o -L/sw/lib -lpcre -export-dynamic server/libmain.la modules/aaa/libmod_authn_file.la modules/aaa/libmod_authn_core.la modules/aaa/libmod_authz_host.la modules/aaa/libmod_authz_groupfile.la modules/aaa/libmod_authz_user.la modules/aaa/libmod_authz_core.la modules/aaa/libmod_access_compat.la modules/aaa/libmod_auth_basic.la modules/aaa/libmod_auth_form.la modules/core/libmod_so.la modules/filters/libmod_buffer.la modules/filters/libmod_ratelimit.la modules/filters/libmod_reqtimeout.la modules/filters/libmod_request.la modules/filters/libmod_include.la modules/filters/libmod_filter.la modules/filters/libmod_deflate.la modules/loggers/libmod_log_config.la modules/metadata/libmod_env.la modules/metadata/libmod_mime_magic.la modules/metadata/libmod_usertrack.la modules/metadata/libmod_setenvif.la modules/metadata/libmod_version.la modules/ssl/libmod_ssl.la modules/http/libmod_http.la modules/http/libmod_mime.la modules/arch/unix/libmod_unixd.la modules/generators/libmod_status.la modules/generators/libmod_autoindex.la modules/generators/libmod_asis.la modules/generators/libmod_info.la modules/generators/libmod_cgid.la modules/generators/libmod_cgi.la modules/mappers/libmod_negotiation.la modules/mappers/libmod_dir.la modules/mappers/libmod_actions.la modules/mappers/libmod_speling.la modules/mappers/libmod_userdir.la modules/mappers/libmod_alias.la modules/mappers/libmod_rewrite.la server/mpm/event/libevent.la os/unix/libos.la                  -lz       -lssl -lcrypto -lz                 /sw/lib/libaprutil.la /sw/lib/libapr.la -lpthread
Undefined symbols:
  "_apr_global_mutex_lockfile", referenced from:
      _init_child in libmod_rewrite.a(mod_rewrite.o)
      _ssl_mutex_reinit in libmod_ssl.a(ssl_engine_mutex.o)
      _ssl_stapling_mutex_reinit in libmod_ssl.a(ssl_util_stapling.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[1]: *** [httpd] Error 1
make: *** [all-recursive] Error 1


here apr-related packages installed on the system:

> fink apropos libapr

Information about 8737 packages read in 1 seconds.
     apr-shlibs                    1:0.9.12-16            OBSOLETE use libapr0-shlibs instead
     apr-ssl-shlibs                1:0.9.12-16            OBSOLETE use libapr0-shlibs instead
 i   libapr.0-dev                  1.3.3-6                Headers and static libraries for APR
 i   libapr.0-shlibs               1.3.3-6                Apache Portable Runtime shared libraries
     libapr0-shlibs                1:0.9.12-16            Apache Portable Runtime
     libapreq2                     2.08-1003              Library for parsing HTTP data
     libapreq2-pm588               2.08-1003              Perl modules for libapreq2
     libapreq2-shlibs              2.08-1003              Library for parsing HTTP data
 i   libaprutil.0-dev              1.3.4-9                Headers and static libraries for APRUTIL
     libaprutil.0-mysql            1.3.4-9                APRUTIL mysql backend
     libaprutil.0-odbc             1.3.4-9                APRUTIL odbc backend
     libaprutil.0-postgresql       1.3.4-9                APRUTIL postgresql backend
 i   libaprutil.0-shlibs           1.3.4-9                APRUTIL shared libraries
     libaprutil.0-sqlite2          1.3.4-9                APRUTIL sqlite2 backend
     libaprutil.0-sqlite3          1.3.4-9                APRUTIL sqlite3 backend
     libaprutil0-shlibs            1:0.9.12-16            Apache Portable Runtime


My setup:
platform: mac mini
os: OS X, Darwin moria.local.pc 10.2.0 Darwin Kernel Version 10.2.0: Tue Nov  3 23:08:29 PST 2009; root:xnu-1486.2.11~3/RELEASE_I386 i386

help would be greatly appreciated,
TIA
Comment 1 William A. Rowe Jr. 2010-03-28 19:50:13 UTC
httpd 2.3 requires APR 1.4, while ./configure detected your installation of
APR 1.3.  Upgrade APR to 1.4 and try again.
Comment 2 dev66 2010-03-28 20:48:32 UTC
(In reply to comment #1)
> httpd 2.3 requires APR 1.4, while ./configure detected your installation of
> APR 1.3.  Upgrade APR to 1.4 and try again.



OK. This works.

in the directory srclib I put apr-1.4.2 and apr-util-1.3.9 and created the symlinks apr and apr-util.
To configure I added --with-included-apr.

thanks again.