#42568 [Opn-Fbk]: Compile fails when using --with-gmp option in MacOSX
ID: 42568 Updated by: [EMAIL PROTECTED] Reported By: jerry at scene-naturally dot dyndns dot org -Status: Open +Status: Feedback Bug Type: GNU MP related Operating System: MacOSX 10.4.10 PHP Version: 5.2.4 New Comment: Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows: http://windows.php.net/snapshots/ Previous Comments: [2007-11-05 19:12:04] [EMAIL PROTECTED] I'm afraid I don't know what to do with this - I don't have OS X readily available and OS linkage is quite exotic so I couldn't figure it out using other systems... [2007-09-13 10:18:12] [EMAIL PROTECTED] Assigned to the ext/gmp maintainer. [2007-09-11 15:55:51] jerry at scene-naturally dot dyndns dot org This is from the gmp folks: Well, I can only wish you luck since there is really nothing I can do about this. You need to dig in PHP to debug this. You need to provide me with a test case that violates the documented GMP behavior, then I will fix the error. Therein is a problem, when gmp is build according to the developer's instructions, using it when building PHP is the only place things break, which does not violate the docs for gmp. [2007-09-11 12:32:27] [EMAIL PROTECTED] I have no idea how to fix this in PHP. And to me it seems more like a bug in either the tools in OSX used to compile/link and/or in libgmp. It works fine on Linux. :) Can you try and find out what the libgmp folks think might be wrong with PHP build system which might cause this kind of error? (I have no MacOSX machine to test anything so..) [2007-09-07 16:15:36] jerry at scene-naturally dot dyndns dot org I had a chance to try the following; GMP build via: ./configure \ --prefix=/usr/local \ --enable-cxx \ --disable-shared \ ABI=mode32 PHP configure: ./configure \ --with-gmp=/usr/local \ --disable-shared as requested, but running make for this configuration still crashes with the error /usr/bin/ld: /usr/local/lib/libgmp.a(popcount.o) has local relocation entries in non-writable section (__TEXT,__text) The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/42568 -- Edit this bug report at http://bugs.php.net/?id=42568edit=1
#42568 [Opn-Fbk]: Compile fails when using --with-gmp option
ID: 42568 Updated by: [EMAIL PROTECTED] Reported By: jerry at scene-naturally dot dyndns dot org -Status: Open +Status: Feedback Bug Type: Compile Failure Operating System: OS X 10.4.10 PHP Version: 5.2.4 New Comment: I have no idea how to fix this in PHP. And to me it seems more like a bug in either the tools in OSX used to compile/link and/or in libgmp. It works fine on Linux. :) Can you try and find out what the libgmp folks think might be wrong with PHP build system which might cause this kind of error? (I have no MacOSX machine to test anything so..) Previous Comments: [2007-09-07 16:15:36] jerry at scene-naturally dot dyndns dot org I had a chance to try the following; GMP build via: ./configure \ --prefix=/usr/local \ --enable-cxx \ --disable-shared \ ABI=mode32 PHP configure: ./configure \ --with-gmp=/usr/local \ --disable-shared as requested, but running make for this configuration still crashes with the error /usr/bin/ld: /usr/local/lib/libgmp.a(popcount.o) has local relocation entries in non-writable section (__TEXT,__text) [2007-09-07 14:42:07] jerry at scene-naturally dot dyndns dot org Actually that is the default for PHP -- to build with out shared libraries on OS X checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes checking dynamic linker characteristics... darwin8.10.0 dyld checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... no checking whether to build static libraries... yes But I will try explicitly building using the --disable-shared option and see if that makes a difference. [2007-09-07 08:52:02] [EMAIL PROTECTED] My question is: Does it work? :D You could try building PHP as well with --disable-shared.. [2007-09-07 02:30:57] jerry at scene-naturally dot dyndns dot org In order to be complete, I did check as you asked compiling gmp via: ./configure \ --prefix=/usr/local \ --enable-cxx \ ABI=mode32 and using the resulting library to compile PHP via: ./configure \ --with-gmp=/usr/local PHP did configure and compile. This leads to a conundrum though, Comparing the two libraries (libgmp.a built via the developers specs to libgmp.a built via your request) leads to 242 differences between the two static libraries. This kind of throws cold waters on the hope of the idea of using the static library built the second way and tossing out the shared libraries (which come from not using the --disable-shared option). [2007-09-07 01:26:41] jerry at scene-naturally dot dyndns dot org There are serious problems with doing that. Libtool will switch to using CC instead of GCC to build the resulting shared library, which means most things that would in use the gmp library break because they need the GCC version, which is why the folks at GMP say to use the -- disabled-shared option for OS X. The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/42568 -- Edit this bug report at http://bugs.php.net/?id=42568edit=1
#42568 [Opn-Fbk]: Compile fails when using --with-gmp option
ID: 42568 Updated by: [EMAIL PROTECTED] Reported By: jerry at scene-naturally dot dyndns dot org -Status: Open +Status: Feedback Bug Type: Compile Failure Operating System: OS X 10.4.10 PHP Version: 5.2.4 New Comment: My question is: Does it work? :D You could try building PHP as well with --disable-shared.. Previous Comments: [2007-09-07 02:30:57] jerry at scene-naturally dot dyndns dot org In order to be complete, I did check as you asked compiling gmp via: ./configure \ --prefix=/usr/local \ --enable-cxx \ ABI=mode32 and using the resulting library to compile PHP via: ./configure \ --with-gmp=/usr/local PHP did configure and compile. This leads to a conundrum though, Comparing the two libraries (libgmp.a built via the developers specs to libgmp.a built via your request) leads to 242 differences between the two static libraries. This kind of throws cold waters on the hope of the idea of using the static library built the second way and tossing out the shared libraries (which come from not using the --disable-shared option). [2007-09-07 01:26:41] jerry at scene-naturally dot dyndns dot org There are serious problems with doing that. Libtool will switch to using CC instead of GCC to build the resulting shared library, which means most things that would in use the gmp library break because they need the GCC version, which is why the folks at GMP say to use the -- disabled-shared option for OS X. [2007-09-06 22:27:55] [EMAIL PROTECTED] What if you compile GMP without --disable-shared ?? [2007-09-06 14:51:11] jerry at scene-naturally dot dyndns dot org I tried this three different ways; (all crashed). First way: a usual full list. Second way: ./configure \ --prefix=/usr/local/apache2/php \ --with-config-file-path=/usr/local/apache2/php/lib \ --with-apxs2=/usr/local/apache2/bin/apxs \ --with-gmp=/usr/local This crashed as well, as did ./configure \ --with-gmp=/usr/local All done with fresh versions of PHP. [2007-09-06 11:06:29] [EMAIL PROTECTED] What was the full configure line for PHP? The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/42568 -- Edit this bug report at http://bugs.php.net/?id=42568edit=1
#42568 [Opn-Fbk]: Compile fails when using --with-gmp option
ID: 42568 Updated by: [EMAIL PROTECTED] Reported By: jerry at scene-naturally dot dyndns dot org -Status: Open +Status: Feedback Bug Type: Compile Failure Operating System: OS X 10.4.10 PHP Version: 5.2.4 New Comment: What was the full configure line for PHP? Previous Comments: [2007-09-05 16:47:35] jerry at scene-naturally dot dyndns dot org Description: When PHP is compiled using the option --with-gmp=/usr/local (gmp being installed in /usr/local) PHP will not compile, failing with the error as noted below. I have chatted with the developer for libgmp, and the gist of the result of the discussion is that this is a PHP bug. Reproduce code: --- gmp is compiled using ./configure \ --prefix=/usr/local \ --enable-cxx \ --disable-shared \ ABI=mode32 as per the developer directions for installing libgmp on Mac OS X. (The subsequent build of GMP passes all tests.) Expected result: The usual result of a successful compile. Actual result: -- /usr/bin/ld: /usr/local/lib/libgmp.a(popcount.o) has local relocation entries in non-writable section (__TEXT,__text) -- Edit this bug report at http://bugs.php.net/?id=42568edit=1
#42568 [Opn-Fbk]: Compile fails when using --with-gmp option
ID: 42568 Updated by: [EMAIL PROTECTED] Reported By: jerry at scene-naturally dot dyndns dot org -Status: Open +Status: Feedback Bug Type: Compile Failure Operating System: OS X 10.4.10 PHP Version: 5.2.4 New Comment: What if you compile GMP without --disable-shared ?? Previous Comments: [2007-09-06 14:51:11] jerry at scene-naturally dot dyndns dot org I tried this three different ways; (all crashed). First way: a usual full list. Second way: ./configure \ --prefix=/usr/local/apache2/php \ --with-config-file-path=/usr/local/apache2/php/lib \ --with-apxs2=/usr/local/apache2/bin/apxs \ --with-gmp=/usr/local This crashed as well, as did ./configure \ --with-gmp=/usr/local All done with fresh versions of PHP. [2007-09-06 11:06:29] [EMAIL PROTECTED] What was the full configure line for PHP? [2007-09-05 16:47:35] jerry at scene-naturally dot dyndns dot org Description: When PHP is compiled using the option --with-gmp=/usr/local (gmp being installed in /usr/local) PHP will not compile, failing with the error as noted below. I have chatted with the developer for libgmp, and the gist of the result of the discussion is that this is a PHP bug. Reproduce code: --- gmp is compiled using ./configure \ --prefix=/usr/local \ --enable-cxx \ --disable-shared \ ABI=mode32 as per the developer directions for installing libgmp on Mac OS X. (The subsequent build of GMP passes all tests.) Expected result: The usual result of a successful compile. Actual result: -- /usr/bin/ld: /usr/local/lib/libgmp.a(popcount.o) has local relocation entries in non-writable section (__TEXT,__text) -- Edit this bug report at http://bugs.php.net/?id=42568edit=1