Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm using a module in Apache that requires libapr-1.0.3.8, which is in my lib/ directory, but it appears my installation (via MacPorts) is using 1.0.4.5.

Can I force Apache to use the earlier version without breaking? If so, how would I go about specifying this?

share|improve this question
    
Which module requires this? –  Mark Wagner Jul 18 '11 at 23:30
add comment

migrated from superuser.com Jul 18 '11 at 22:41

This question came from our site for computer enthusiasts and power users.

1 Answer

up vote 1 down vote accepted

I'm inclined to think that your concerns are unfounded -- the differences between the libapr versions you've got should be non-existent. The big soname change for libapr was way back in version 0.9, and since you've got a newer version, it should be backwards compatible with the older version your module needs.

If you do think you need to force it, I'd say you might be able to force it in with LD_PRELOAD without breaking, but in practice I wouldn't risk it on a production site. You certainly can't load both versions at once, you'll get symbol collisions. I'd be fixing the module.

share|improve this answer
    
Thanks for the response. I agree that it's hideous. It's coming from FileMaker's mod_jk_fm as part of their PHP API. I get this when I try to include it in httpd.conf: Symbol not found: _apr_stat$INODE64. When I nm -arch all libapr-1.0.4.5 looking for apr_stat I don't get the INODE64, but I do in 1.0.3.8. Is there another way around this? Appreciate the help! –  Jed Jul 19 '11 at 3:04
    
I think you've got an archicture mismatch in your libraries -- what does file say about the two libraries? If my surmise is correct, force-feeding the wrong one to Apache isn't going to do you any good. –  womble Jul 19 '11 at 3:09
    
results of file: 1.0.3.8 is universal binary with 3 architectures (x86_64, i386, ppc7400), while 1.0.4.5 is dynamically linked shared library x86_64. Is there a way to rebuild apache with the additional architectures? I'm so clueless about architecture stuff. –  Jed Jul 19 '11 at 13:40
    
ignore my last question for now. i'm trying a reinstall with +universal specified in macports to see if it works. if not, i may need to take my question to a macports forum. thank you! –  Jed Jul 19 '11 at 13:51
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.