httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Greg Stein <gst...@lyra.org>
Subject Re: problems using symlinks for apr and apr-utils
Date Tue, 27 Feb 2001 00:04:57 GMT
On Mon, Feb 26, 2001 at 08:46:38PM +0100, Martin Kraemer wrote:
> On Sun, Feb 25, 2001 at 03:41:59PM -0800, Greg Stein wrote:
> > On Sun, Feb 25, 2001 at 08:37:33AM -0800, rbb@covalent.net wrote:
> > > On Sun, 25 Feb 2001, Jim Jagielski wrote:
> > > 
> > > > This is (I'm almost sure) because my apr and apr-utils in httpd-2.0/srclib
> > > > are actually symlinks to the real locations. It may bite a few other people.
> > > > Just a FYI.
> 
> Yes, it bit me.

I saw your note about the recent CVS being busted for you, and figured this
might be it. Just getting to my mail, so I didn't write earlier...

> > > I thoroughly dislike this.  We have built into Apache a specific location,
> > > that is REALLY annoying.  I would really like to be able to do something
> > > like:
> > > 
> > > ./buildconf --with-apr=...  --with-apr-util=...
> > > 
> > > This would allow us to put these libraries anyplace.
> > 
> > We cannot move apr. We might be able to move apr-util.
> > 
> > The problem is that Apache's autoconf script includes pieces from APR. It
> > does this using "sinclude(srclib/apr/build/whatever)". To change the APR
> > location, we'd have to rewrite configure.in.
> 
> No, but you can "normalize" all known base directories 
> (like: HTTPD_BASE=`pwd`; APR_BASE=`cd ...wherever...; pwd`; ...)
> and then only use the absolute base paths + any relative stuff, instead of
> blindly relying on a "cd ../" to something which is strictly outside of
> apr's responsibility.

Two separate problems.

1) above. Apache uses relative, known paths to pick up functionality from
   APR's autoconf scripts

2) APRUTIL *does* normalize the path. Apache passes in "../expat-lite" as
   the pathname. APRUTIL does: abs_expatdir="`cd $withval && pwd`". The
   problem is that (because of the symlink), the ../expat-lite that Apache
   passes in doesn't work.

Note that Apache passes ../apr to APRUTIL, too. If you don't happen to have
them sitting next to each, then the symlink thing will break there, too.
This isn't isolated to the expat stuff.

Lastly, I'll be nuking that switch today anyways. We'll get a fallback to
a builtin expat, or it will use the system's expat. It'll all just work
magically :-)

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/

Mime
View raw message