iconv, OS X and .dylib

php.internals

Christian Stocker

20 years ago
Hi currently, iconv detection doesnt work on OS X (with 5_1), as it looks for iconv.so instead of iconv.dylib. The patch by andrei from last week broke that. http://cvs.php.net/viewcvs.cgi/php-src/acinclude.m4?r1=1.332.2.10&r2=1.332.2.11&pathrev=PHP_5_1 reverting it does help, but AFAICT andrei had his reasons to remove that part. chregu
-- christian stocker | Bitflux GmbH | schoeneggstrasse 5 | ch-8004 zurich phone +41 44 240 56 70 | mobile +41 76 561 88 60 | fax +41 1 240 56 71 http://www.bitflux.ch | christian.stocker@bitflux.ch | GPG 0x5CE1DECB

Andrei Zmievski

20 years ago
The problem is that SHLIB_SUFFIX_NAME is used for both bundles (.so) and dynamic libraries (.dylib) on Mac OS X. These are separate entities and need to be treated separately. We could probably set SHLIB_SUFFIX_NAME to .dylib on OSX and introduce an additional variable, something like BUNDLE_SUFFIX_NAME and set it to .so. The problem is in main.c where it registers PHP_SHLIB_SUFFIX: which define should it use? -Andrei On Apr 2, 2006, at 6:00 AM, Christian Stocker wrote:

Christian Stocker

20 years ago
On 4.4.2006 3:40 Uhr, Andrei Zmievski wrote:
> The problem is that SHLIB_SUFFIX_NAME is used for both bundles (.so) and > dynamic libraries (.dylib) on Mac OS X. These are separate entities and > need to be treated separately. We could probably set SHLIB_SUFFIX_NAME > to .dylib on OSX and introduce an additional variable, something like > BUNDLE_SUFFIX_NAME and set it to .so. The problem is in main.c where it > registers PHP_SHLIB_SUFFIX: which define should it use?
BUNDLE_SUFFIX_NAME sounds fine to me. But can we please revert your patch for 5.1.3? (Or introduce the proposed new variable). It doesn't configure at all right now on OS X. chregu
> > -Andrei > > > On Apr 2, 2006, at 6:00 AM, Christian Stocker wrote: > >> Hi >> >> currently, iconv detection doesnt work on OS X (with 5_1), as it looks >> for iconv.so instead of iconv.dylib. >> >> The patch by andrei from last week broke that. >> >> http://cvs.php.net/viewcvs.cgi/php-src/acinclude.m4?r1=1.332.2.10&r2=1.332.2.11&pathrev=PHP_5_1 >> >> >> reverting it does help, but AFAICT andrei had his reasons to remove >> that part. >> >> >> chregu >> >> --christian stocker | Bitflux GmbH | schoeneggstrasse 5 | ch-8004 zurich >> phone +41 44 240 56 70 | mobile +41 76 561 88 60 | fax +41 1 240 56 71 >> http://www.bitflux.ch | christian.stocker@bitflux.ch | GPG 0x5CE1DECB >> >> --PHP Internals - PHP Runtime Development Mailing List >> To unsubscribe, visit: http://www.php.net/unsub.php
-- christian stocker | Bitflux GmbH | schoeneggstrasse 5 | ch-8004 zurich phone +41 44 240 56 70 | mobile +41 76 561 88 60 | fax +41 1 240 56 71 http://www.bitflux.ch | christian.stocker@bitflux.ch | GPG 0x5CE1DECB

Andrei Zmievski

20 years ago
On Apr 3, 2006, at 9:26 PM, Christian Stocker wrote:
> On 4.4.2006 3:40 Uhr, Andrei Zmievski wrote: >> The problem is that SHLIB_SUFFIX_NAME is used for both bundles >> (.so) and dynamic libraries (.dylib) on Mac OS X. These are >> separate entities and need to be treated separately. We could >> probably set SHLIB_SUFFIX_NAME to .dylib on OSX and introduce an >> additional variable, something like BUNDLE_SUFFIX_NAME and set it >> to .so. The problem is in main.c where it registers >> PHP_SHLIB_SUFFIX: which define should it use? > > BUNDLE_SUFFIX_NAME sounds fine to me. But can we please revert your > patch for 5.1.3? (Or introduce the proposed new variable). It > doesn't configure at all right now on OS X.
Can people please try this patch: http://www.php.net/~andrei/shlib.diff It works on my Mac but we need to make sure it doesn't break build/dl () process for shared extensions on other platforms. -Andrei

Christian Stocker

20 years ago
On 4.4.2006 8:37 Uhr, Andrei Zmievski wrote:
> On Apr 3, 2006, at 9:26 PM, Christian Stocker wrote: > >> On 4.4.2006 3:40 Uhr, Andrei Zmievski wrote: >>> The problem is that SHLIB_SUFFIX_NAME is used for both bundles (.so) >>> and dynamic libraries (.dylib) on Mac OS X. These are separate >>> entities and need to be treated separately. We could probably set >>> SHLIB_SUFFIX_NAME to .dylib on OSX and introduce an additional >>> variable, something like BUNDLE_SUFFIX_NAME and set it to .so. The >>> problem is in main.c where it registers PHP_SHLIB_SUFFIX: which >>> define should it use? >> >> BUNDLE_SUFFIX_NAME sounds fine to me. But can we please revert your >> patch for 5.1.3? (Or introduce the proposed new variable). It doesn't >> configure at all right now on OS X. > > Can people please try this patch: > > http://www.php.net/~andrei/shlib.diff
If I change PHP_SHLIB_BUILD_SUFFIX_NAME to PHP_BUILD_SHLIB_SUFFIX_NAME in acinclude.m4 line 1885 it works for me too (on OS X) chregu
> > It works on my Mac but we need to make sure it doesn't break build/dl() > process for shared extensions on other platforms. > > -Andrei
-- christian stocker | Bitflux GmbH | schoeneggstrasse 5 | ch-8004 zurich phone +41 44 240 56 70 | mobile +41 76 561 88 60 | fax +41 1 240 56 71 http://www.bitflux.ch | christian.stocker@bitflux.ch | GPG 0x5CE1DECB