How does Mac OSX determine which dylib to load?

I am trying to run Apache on Mac OSX Yosemite using PHP (mod_php53.so) MacPorts. Please note that I am not using Apache Apache MacPorts, but Yosemite Apache with PHP MacPorts. This worked great with OSX Mavericks and Mountain Lion in the past.

I get this error when running / usr / sbin / apachectl -t in Yosemite:

httpd: Syntax error on line 228 from / private / etc / apache 2 / httpd.conf: Unable to load / opt / local / apache 2 / modules / mod_php53.so to server: dlopen (/ opt / local / apache2 / modules / mod_php53.so, 10): the library is not loaded: /opt/local/lib/libaprutil-1.0.dylib \ n Link to: /opt/local/apache2/modules/mod_php53.so \ n Reason: Incompatible version of the library: mod_php53. therefore version 6.0.0 or later is required, but libaprutil-1.0.dylib provides version 4.0.0

In fact, the current version of / opt / local / lib / libaprutil -1.0.dylib is 6.4.0, so it should work.

 otool -L /opt/local/lib/libaprutil-1.0.dylib
 /opt/local/lib/libaprutil-1.0.dylib:
 /opt/local/lib/libaprutil-1.0.dylib (compatibility version 6.0.0, current version 6.4.0)

I assume Apache loads the libaprutil-1.0.dylib system located in / usr / lib:

otool -L /usr/lib/libaprutil-1.0.dylib 
/usr/lib/libaprutil-1.0.dylib:
/usr/lib/libaprutil-1.0.dylib (compatibility version 4.0.0, current version 4.0.0)

, , libaprutil MacPorts - , , libaprutil , Apache libaprutil MacPorts.

DYLD_LIBRARY_PATH, .

?

+4
1

, DYLD_LIBRARY_PATH=/usr/lib. , .

OS X. /opt/local/apache2/modules/mod_php53.so /opt/local/lib/libaprutil-1.0.dylib, . DYLD_LIBRARY_PATH , DYLD_LIBRARY_PATH.

, , : , , /opt/local/lib/libaprutil-1.0.dylib ( ​​- env).

, MacPorts PHP MacPorts Apache, PHP- Apache. , .

+2

All Articles