httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pier Fumagalli <>
Subject Re: an old Darwin issue... what is the solution?
Date Thu, 11 Apr 2002 21:28:29 GMT
"Jeff Trawick" <> wrote:

> Pier Fumagalli <> writes:
>> "Jeff Trawick" <> wrote:
>>> Pier's solution results in a cleaner build (a bunch of bogus
>>> basename invocations went away).  Neither version of libtool gets the
>>> library path into httpd for some reason (Darwin limitation?).
>> ???? That's odd... With my most recent build:
> I was apparently misinterpreting a symptom :)  My
> understanding/experience was that I had to set DYLD_LIBRARY_PATH to
> get the libraries found from the non-default location.  I figured that
> was because the executable din't have the right search path built in.
> But if the path is in httpd as you show, that shouldn't be the case.
> I'll try again when I get a moment.

Nah, you don't need DYLD_LIBRARY_PATH configured... The Mach-O library
structure is very well done, once you get around and actually understand how
it works, you can just basically build anything you like and forget about
broken libs dependancies...

The only problem is doing it right, check out some of my patches on my home
page for the packages: for BerkeleyDB I have to re-link the libraries at the
end of the process because they don't get built right with their makefiles,
but then they work like a breeze anywhere you want to put them...

You should only need DYLD_LIBRARY_PATH when you linked against a library
which was in one place, and have been moved elsewhere after you built...

>>> *other than wasting a fair amount of time because APR configure bombs
>>> when I use --enable-mods-shared="foo1 foo2 foo3 foo4"
>>> Perhaps the logic to build the command-line for the APR sub-configure
>>> is busted on Darwin...  more research required :(
>> Hmm... Can you give me some more info? What's wrong with it?
> Here's an example symptom:
> ------------cut here------------
> trawick@localhost:~/apache/httpd-2.0% rm *cache
> trawick@localhost:~/apache/httpd-2.0% ./configure --prefix=/tmp/gobble
> --enable-mods-shared="autoindex dir"
> creating cache ./config.cache
> checking for chosen layout... Apache
> checking host system type... powerpc-apple-darwin5.3
> checking target system type... powerpc-apple-darwin5.3
> checking build system type... powerpc-apple-darwin5.3
> Configuring Apache Portable Runtime library ...
> updating cache ./config.cache
> configuring package in srclib/apr now
> loading cache /Users/trawick/apache/httpd-2.0/./config.cache
> checking host system type... Invalid configuration `dir': machine
> `dir' not recognized
> checking target system type... Invalid configuration `dir': machine
> `dir' not recognized
> checking build system type... Invalid configuration `dir': machine
> `dir' not recognized
> Configuring APR library
> ....
> -------cut here--------

Freaky ! :) Gotcha... It's an error in line 82 of
srclib/apr/build/apr_common.m4... Debugging it it comes out as:

/Users/pier/Desktop/httpd-2.0/srclib/apr/configure --prefix=/tmp/gobble
'--enable-mods-shared=autoindex dir' --cache-file=/dev/null
--srcdir=/Users/pier/Desktop/httpd-2.0/srclib/apr  --prefix=/tmp/gobble
--exec-prefix=${prefix} --libdir=${exec_prefix}/lib
--includedir=${prefix}/include --bindir=${exec_prefix}/bin
--datadir=${prefix} --with-installbuilddir=${datadir}/build

You see how --enable-mods-shared=autoindex dir is "quoted"? Well, the
problem is that that sucker is not expanded by a shell (DOH), so the two
parameters are read as "'--enable...." and "dir'"...

Patch to make it work:

cvs server: Diffing .
Index: apr_common.m4
RCS file: /home/cvspublic/apr/build/apr_common.m4,v
retrieving revision 1.29
diff -U3 -r1.29 apr_common.m4
--- apr_common.m4       23 Mar 2002 16:18:35 -0000      1.29
+++ apr_common.m4       11 Apr 2002 21:26:34 -0000
@@ -79,7 +79,7 @@
   # The eval makes quoting arguments work.
-  if eval $ac_abs_srcdir/configure $ac_configure_args
--cache-file=$ac_sub_cache_file --srcdir=$ac_abs_srcdir $2
+  if eval /bin/sh -c "$ac_abs_srcdir/configure $ac_configure_args
--cache-file=$ac_sub_cache_file --srcdir=$ac_abs_srcdir $2"
   then :
     echo "$1 configured properly"

I think that it's extremely foolish to name a server after the current U.S.
President.                                                 B.W. Fitzpatrick

View raw message