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

Reply via email to