perl-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Darryl Miles <darryl-mailingli...@netbauds.net>
Subject Re: MP2.0.2 + HTTPD 2.2.0 Linux test failures (libaprutil-1.so.0: cannot open shared object file)
Date Mon, 08 May 2006 15:38:41 GMT
Philip M. Gollucci wrote:
> Darryl Miles wrote:
>> I think you completely miss the point of my comments, but thanks for 
>> your reply.
> No not really, I've fallen into this issue a plethora of times myself.

Hmm...


>> I agree *-0 and *-1 are different versions required for different 
>> version of apache-httpd.  As I stated I have a Linux distribution copy 
>> of Apache 2.0.x, which uses *-0 (and I dont expect my apache 2.2.x to 
>> use it in any way).
> The problem is the way configure is built in the APR distros .. it first 
> searches and uses your path regardless of any options you specify 
> (--with-apr, --with-apr-util).  I've brought this up on dev (at) apr 
> (dot) apache (dot) org before.  Also, if you search the archives of this 
> list, I believe joes commented on this too.  You (we) should take this 
> up there -- as mod_perl is just using what is reported to it by the 
> apr-1-config or apr-0-config.  I read both lists, so if you do move the 
> discussion, I'll follow it.

I dont understand this in the context of my original email.  Which only 
talks of "make test" test failures, under Linux with mod_perl-2.0.2 and 
Apache-httpd 2.2.0.  This seems Off Topic to me.


>> My concern is that, if I have installed a perfect copy of Apache 2.2.x 
>> using the Apache file layout then I should not need to configure 
>> anything special for it to work.  Nor configure anything special for 
>> mod_perl2 to find the /opt/apache2_prefork/lib/libaprutil-1.so which I 
>> have.  That should work out-the-box.
> You know I wish it would -- installing /usr/ports/subversion or anything 
> in FreeBSD/OpenBSD ports that installs an apr/apr-util in your default 
> path wreaks havoc in this fashion.

Hey thats *BSD :).  Any system admin who decides to alter their 
system-wise libraries not doing it through their package manager is 
really on their own here.  My understanding of *BSD ports is they are 
all installed into /usr/local from the package installed.  It sounds 
like you have an internal *BSD grumble at your ports maintainer(s), but 
this is unrelated to my problem.

My example cites /opt (which should be free on both platforms) for the 
system admin to install what the hell he wants.

I've been using /opt for over 10 years now to really great effect.  Its 
really simple for me, I turn off the distribution provided HTTPD (or 
dont install it at all) and I install my own to /opt and maintain my own 
  upgrade cycles.

Exactly what I want and from an installation point of view "the perfect 
install".


> The WORST problem is that even if you setup the LD_LIBRARY_PATH variable 
> correctly, ANY library in your path matching is still linked in.  This 
> will get you duplicate linking of libraries which I _gaurantee_ will 
> caus segfaults later (especially if they mix threads and no threads).
> 

LD_LIBRARY_PATH must work differently on Linux then.  If works just like 
the $PATH in a shell.  It finds the first and loads that and is happy.

I'm not sure there is a huge problem with Linux and thread and 
non-thread libraries in the most part it just works and its doing the 
correct thing.


 > AFAIK, the only solution to this to to move them out of the way while
 > building.

Again the problem here is "make test" so its only the mod-perl created 
instance of apache-httpd I am referring to.


As system administrator I shall consult apache-httpd documentation over 
the correct loading of libraries for the operational httpd server. 
Which in effect means my wrapper script for httpd 2.2.x is updated to 
setup LD_LIBRARY_PATH.


>> At this moment it does not work, I think thats very wrong.  At the 
>> least something like the ld.so environment variable equivalent 
>> LD_PRELOAD=/opt/apache2_prefork/lib/libaprutil-1.so should be set 
>> forcing a sane precedence order to load the DSOs.
> Sadly its not quite that simple as this path has to be permenately added 
> to your search path or start/restart will fail after a reboot or in a 
> different shell.

Again I think you are missing my point (and putting words in my mouth 
when doing so).  I am not talking about the operational start/restart 
function of apache-httpd.

My original email only talks about "make test" from "mod_perl-2.0.2" not 
working out of the box, for a Apache file layout installed copy of 
Apache 2.2.0.

Obviously you have other historical issues of your own and are somehow 
bundling them as the same as mine.  Please dont do this.



> This might be a good idea with a little more work, but before I go 
> changing anything if anyone else with a commit bit wants to chime in 
> that would be good.
> 
>> Maybe the ./configure script needs to add:
>>
>> export LD_LIBRARY_PATH="$apache_prefix/lib:"
> See above about about apr's configure

This works for me on Linux.  I can't talk of *BSD.  I suspect my script 
fragment would work too on my platform if integrated into the 
test-harness code that starts up apache-httpd server for the purpose of 
running "make test".



[warning] server localhost.localdomain:8529 shutdown
All tests successful.
Files=17, Tests=82, 32 wallclock secs (21.25 cusr +  5.64 csys = 26.89 CPU)



I dont mean to be harsh, but you seem to have other problems on your 
platform.

Darryl

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Mime
View raw message