MAC OS X and DSOs
| From: | Andi Gutmans | Date: | Thu, 03 Jun 2004 13:43:27 +0000 |
| Subject: | MAC OS X and DSOs | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-10262@lists.php.net to get a copy of this message | ||
Hi guys,
There seem to be some problems with loading shared libraries on the MAC OS X platform. It seems that ./configure on MAC OS X defines HAVE_LIBDL in php_config.h which causes the following code in zend.h not to be used:
#elif defined(HAVE_MACH_O_DYLD_H)
# define DL_LOAD(libname) zend_mh_bundle_load(libname) # define DL_UNLOAD(handle) zend_mh_bundle_unload(handle) # define DL_FETCH_SYMBOL(h,s) zend_mh_bundle_symbol(h,s) # define DL_ERROR zend_mh_bundle_error # define DL_HANDLE void * # define ZEND_EXTENSIONS_SUPPORT 1After testing this stuff quite a bit it seems that in order for DSO's to work correctly on MAC OS X they should be defined. I am thinking of changing the following code in zend.h: #if defined(HAVE_LIBDL) to #if defined(HAVE_LIBDL) && !defined(HAVE_MACH_O_DYLD_H) Anyone have additional insight on this? Andi