Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:10262 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 9235 invoked by uid 1010); 3 Jun 2004 13:43:41 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 9119 invoked from network); 3 Jun 2004 13:43:38 -0000 Received: from unknown (HELO mail.zend.com) (192.117.235.230) by pb1.pair.com with SMTP; 3 Jun 2004 13:43:38 -0000 Received: (qmail 30027 invoked from network); 3 Jun 2004 13:43:30 -0000 Received: from int.zend.com (HELO AndiNotebook.zend.com) (10.1.1.1) by int.zend.com with SMTP; 3 Jun 2004 13:43:30 -0000 Message-ID: <5.1.0.14.2.20040603164112.036018f0@127.0.0.1> X-Sender: andi@127.0.0.1 X-Mailer: QUALCOMM Windows Eudora Version 5.1 Date: Thu, 03 Jun 2004 16:43:27 +0300 To: internals@lists.php.net Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed Subject: MAC OS X and DSOs From: andi@zend.com (Andi Gutmans) 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 1 After 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