#42568 [Opn]: Compile fails when using --with-gmp option
| From: | jerry at scene-naturally dot dyndns dot org | Date: | Fri, 07 Sep 2007 02:30:57 +0000 |
| Subject: | #42568 [Opn]: Compile fails when using --with-gmp option | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-117253@lists.php.net to get a copy of this message | ||
ID: 42568
User updated by: jerry at scene-naturally dot dyndns dot org
Reported By: jerry at scene-naturally dot dyndns dot org
Status: Open
Bug Type: Compile Failure
Operating System: OS X 10.4.10
PHP Version: 5.2.4
New Comment:
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).
Previous Comments:
------------------------------------------------------------------------
[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] jani@php.net
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] jani@php.net
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=42568&edit=1