Apache
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
 
User Name:
Password:
Remember me
Go Back   Web Development Archives Mailing Lists Apache

Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Display Modes
 
Unread Web Development Archives Sponsor:
  #1  
Old July 2nd, 2008, 06:10 PM
Andy Wang
Guest
Dev Archives Newbie (0 - 499 posts)
 
Posts: n/a  
Time spent in forums:
Reputation Power:
Apache 2.2.9 default bindist/apr library problem

Hi all,
We noticed that with Apache 2.2.9 when the bundled APR is used, the
bindist installation ends up having the following structure in bindist/lib:
/pkgconfig
/pkgconfig/apr-1.pc
/pkgconfig/apr-util-1.pc
/libapr-1.so.0.3.0
/libapr-1.so.0
/libapr-1.so
/libapr-1.la
/libapr-1.a
/apr.exp
/apr-util-1
/apr-util-1/apr_ldap-1.so
/apr-util-1/apr_ldap.so
/apr-util-1/apr_ldap.la
/apr-util-1/apr_ldap.a
/libexpat.so.0.1.0
/libexpat.so.0
/libexpat.so
/libexpat.la
/libexpat.a
/libaprutil-1.so.0.3.0
/libaprutil-1.so.0
/libaprutil-1.so
/libaprutil-1.la
/libaprutil-1.a
/aprutil.exp

There's the addition of apr-util-1/apr_ldap* files.

The default envvars script is still built with only
/usr/local/apache2/lib in the LD_LIBRARY_PATH and apr-util/Makefile defines:
LINK_MDULE = $(LIBTL) $(LTFLAGS) $(CC) $(LT_LDFLAGS)
$(ALL_CFLAGS) $(ALL_LDFLAGS) $(APRUTIL_LDFLAGS) -release
$(APRUTIL_MAJR_VERSIN) -module -rpath $(APU_DSLIBDIR)
APU_DSLIBDIR = ${libdir}/apr-util-1

so the libraries are pathed with ${libdir}/apr-util-1 directory in their
path.

As a result, the bindist installed Apache 2.2.9 isn't able to find
apr_ldap*.so.

Simple enough to workaround in envvars, but is the intention to continue
to put libraries in subdirectories under apache/lib or was this an
oversite? Either way, envvars needs to be updated to include any new
libraries for a bindist situation correct?

Andy

Reply With Quote
  #2  
Old July 3rd, 2008, 01:50 PM
Andy Wang
Guest
Dev Archives Newbie (0 - 499 posts)
 
Posts: n/a  
Time spent in forums:
Reputation Power:
Apache 2.2.9 default bindist/apr library problem

William A. Rowe, Jr. wrote:
Eric Covener wrote:
>>

>case to keep on the radar: There can be configuration mechanisms
>for the loader outside of the SHLIB_PATH envvar. If this is apr-util
>in /usr/lib, so no shlib-path-var is in use, would we be able to find
>/
>>

>Do the various loaders permit an argument resembling
>"apr-util-1/bar.so" to consult the non-envvar loader configuration?
>

The apr-util's apu-prefix=/foo becomes /foo/lib/apr-util-1/ so this is
and
isn't addressed, and really can't be. Unless dlopen supports finding
these
'default' platform directories, we are at a loss.
>
>


In a non relocated installation, this really isn't a problem though
right? As long as the library remains in the path that the linker
initially was told it'd be at, this is a non issue, and one would expect
in a non SHLIB_PATH situation, that would be the case,

In a case where it is relocated, envvar just needs to be updated right?

Thanks,
Andy

Reply With Quote
  #3  
Old July 4th, 2008, 12:01 PM
Andy Wang
Guest
Dev Archives Newbie (0 - 499 posts)
 
Posts: n/a  
Time spent in forums:
Reputation Power:
Apache 2.2.9 default bindist/apr library problem

William A. Rowe, Jr. wrote:
>
>In a case where it is relocated, envvar just needs to be updated right?
>

As a workaround, yes.
>

In the long term, we have to fix apr-util, really not httpd's problem,
to teach apr-util's apu_dso to hunt in each shlibpath dir and its
apr-1-config subdir.
>

As for traditional yet relocated builds, say with /bogus/path
and installed in /usr/lib, well that will require an envvar fixup
regardless.
>

Based on the comment that was attached to the bug I filed on this
there's an even easier option when configuring. I was
unaware this was disableable, but should have looked at the apr-util
configure

That seems to be the simplest solution for bindist or otherwise
relocated apr/apache builds.

Andy

Reply With Quote
  #4  
Old July 7th, 2008, 12:21 PM
Andy Wang
Guest
Dev Archives Newbie (0 - 499 posts)
 
Posts: n/a  
Time spent in forums:
Reputation Power:
Apache 2.2.9 default bindist/apr library problem

William A. Rowe, Jr. wrote:
You can certainly do this; it reverts to apr-1.2 behavior.
>

Sadly, mainline packages are exactly what the dso option was added for.
When building httpd for the mass consumer, it's not possible to predict
which of 6 sql, 4 db and ldap modules they will actually use. The
combined
footprint of these at runtime is asinine.
I would think that in the case of a mainline package, the final
installation path would be predictable (at least if it's something like
a Linux distribution or something like that) so the apr-util-1 directory
would be the same as what it was configured/built for.
course; this is no different
that a typical monolithic php build, and loading both, apr-util dso will
save you little except for a few additional relocs since these libs were
already slurped in ;-)
Yeah, I think given the targeted use we bundle apache for the
"workaround" of using is really the solution for the
problem for us.

Thanks for the info and help,
Andy

Reply With Quote
Reply

Viewing: Web Development Archives Mailing Lists Apache > Apache 2.2.9 default bindist/apr library problem


Thread Tools  Search this Thread 
Search this Thread:

Advanced Search
Display Modes  Rate This Thread 
Rate This Thread:


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are Off
[IMG] code is On
HTML code is Off
View Your Warnings | New Posts | Latest Threads | Shoutbox
Forum Jump


Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
  
 





© 2003-2008 by Developer Shed. All rights reserved. DS Cluster 2 hosted by Hostway
Stay green...Green IT