Disclosure: My autotools expertise is not that great. In fact, since
I've been in Ruby & Java mostly the last few years, I may be missing
something obvious at the ld or gcc level. This is all with a fresh
2.2.6 tarball downloaded earlier this week. This note to both
[EMAIL PROTECTED] & [EMAIL PROTECTED] because the problem seems to be in the crack
between them.
I got here because apr_global_mutex_create() was acting weird, so I
wanted to step into it with the debugger. So I went to apr and did
CFLAGS=-g ./configure
make
Oops...
network_io/unix/sendrecv.c:967:2: error: #error APR has detected
sendfile on your system, but nobody has written a
network_io/unix/sendrecv.c:968:2: error: #error version of it for APR
yet. To get past this, either write
network_io/unix/sendrecv.c:969:2: error: #error apr_socket_sendfile or
change APR_HAS_SENDFILE in apr.h to 0.
Hmph. So I tried changing APR_HAS_SENDFILE in apr.h to 0 and make/
make install worked.
But... I couldn't get httpd to build with my new APR living in /usr/
local/apr. I think this is because httpd's configure writes build/
config_vars.mk including this:
LDFLAGS = -L/usr/lib -L/usr/local/apr/lib
So, it's irrelevant how you go about building APR, you're gonna get
the one that Leopard ships in /usr/lib (and hey, it's nice that
Leopard ships with APR).
I tried a few ./configure options but couldn't find one to force it to
change the -L, so I eventually went and edited build/config_vars.mk,
blecch.
But then httpd wouldn't build, on the final "-o httpd" step I got
Undefined symbols:
"_apr_socket_sendfile", referenced from:
_ap_hack_apr_socket_sendfile in libmain.a(exports.o)
_sendfile_it_all in libmain.a(core_filters.o)
ld: symbol(s) not found
Hokay... I suspect it's most likely that's I'm just ignorant of
something obvious that Everybody Knows. If so, what is it?
It does seem like it shouldn't be this hard. -Tim