ID: 42568 User updated by: jerry at scene-naturally dot dyndns dot org Reported By: jerry at scene-naturally dot dyndns dot org -Status: Feedback +Status: Open Bug Type: Compile Failure Operating System: OS X 10.4.10 PHP Version: 5.2.4 New Comment:
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. Previous Comments: ------------------------------------------------------------------------ [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) ------------------------------------------------------------------------ [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). ------------------------------------------------------------------------ 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=42568&edit=1