#26462 [Fbk->Opn]: bcmath doesn't compile as module
| From: | jdolecek at NetBSD dot org | Date: | Mon, 01 Dec 2003 08:26:17 +0000 |
| Subject: | #26462 [Fbk->Opn]: bcmath doesn't compile as module | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-51445@lists.php.net to get a copy of this message | ||
ID: 26462
User updated by: jdolecek at NetBSD dot org
Reported By: jdolecek at NetBSD dot org
-Status: Feedback
+Status: Open
Bug Type: BC math related
Operating System: NetBSD 1.6ZF
PHP Version: 4.3.4
Assigned To: sniper
New Comment:
Sorry about not providing the steps at first.
Here it is:
1. tar xzf php-4.3.4.tar.bz2 php-4.3.4/ext/bcmath
2. cd php-4.3.4/ext/bcmath
3. patch < patch1; patch < patch2
4. phpize
5. ./configure --enable-bcmath
6. gmake
patch1 and patch2 are your two patches.
These steps get me reliably to the same compilation failure, as pasted
in previous feedback.
Previous Comments:
------------------------------------------------------------------------
[2003-11-30 03:36:26] sniper@php.net
Exactly HOW is the configure run? Give the full process, not just some
part of it..
------------------------------------------------------------------------
[2003-11-29 08:59:44] jdolecek at NetBSD dot org
No, compile still fails with:
cc
-I/usr/obj/pkgsrc/math/php4-bcmath/work/php-4.3.4/ext/bcmath/libbcmath/src
-I. -I/usr/obj/pkgsrc/math/php4-bcmath/work/php-4.3.4/ext/bcmath
-DPHP_ATOM_INC
-I/usr/obj/pkgsrc/math/php4-bcmath/work/php-4.3.4/ext/bcmath/include
-I/usr/obj/pkgsrc/math/php4-bcmath/work/php-4.3.4/ext/bcmath/main
-I/usr/obj/pkgsrc/math/php4-bcmath/work/php-4.3.4/ext/bcmath
-I/usr/obj/pkgsrc/math/php4-bcmath/work/.buildlink/include/php
-I/usr/obj/pkgsrc/math/php4-bcmath/work/.buildlink/include/php/main
-I/usr/obj/pkgsrc/math/php4-bcmath/work/.buildlink/include/php/Zend
-I/usr/obj/pkgsrc/math/php4-bcmath/work/.buildlink/include/php/TSRM
-I/usr/obj/pkgsrc/math/php4-bcmath/work/.buildlink/include
-DHAVE_CONFIG_H -O2 -pipe
-I/usr/obj/pkgsrc/math/php4-bcmath/work/.buildlink/include -c
/usr/obj/pkgsrc/math/php4-bcmath/work/php-4.3.4/ext/bcmath/libbcmath/src/init.c
-fPIC -DPIC -o libbcmath/src/.libs/init.o
/usr/obj/pkgsrc/math/php4-bcmath/work/php-4.3.4/ext/bcmath/libbcmath/src/init.c:
In function `bc_init_numbers':
/usr/obj/pkgsrc/math/php4-bcmath/work/php-4.3.4/ext/bcmath/libbcmath/src/init.c:105:
error: `_zero_' undeclared (first use in this function)
/usr/obj/pkgsrc/math/php4-bcmath/work/php-4.3.4/ext/bcmath/libbcmath/src/init.c:105:
error: (Each undeclared identifier is reported only once
/usr/obj/pkgsrc/math/php4-bcmath/work/php-4.3.4/ext/bcmath/libbcmath/src/init.c:105:
error: for each function it appears in.)
/usr/obj/pkgsrc/math/php4-bcmath/work/php-4.3.4/ext/bcmath/libbcmath/src/init.c:105:
error: invalid lvalue in assignment
/usr/obj/pkgsrc/math/php4-bcmath/work/php-4.3.4/ext/bcmath/libbcmath/src/init.c:106:
error: `_one_' undeclared (first use in this function)
/usr/obj/pkgsrc/math/php4-bcmath/work/php-4.3.4/ext/bcmath/libbcmath/src/init.c:106:
error: invalid lvalue in assignment
/usr/obj/pkgsrc/math/php4-bcmath/work/php-4.3.4/ext/bcmath/libbcmath/src/init.c:107:
error: invalid type argument of `->'
/usr/obj/pkgsrc/math/php4-bcmath/work/php-4.3.4/ext/bcmath/libbcmath/src/init.c:108:
error: `_two_' undeclared (first use in this function)
/usr/obj/pkgsrc/math/php4-bcmath/work/php-4.3.4/ext/bcmath/libbcmath/src/init.c:108:
error: invalid lvalue in assignment
/usr/obj/pkgsrc/math/php4-bcmath/work/php-4.3.4/ext/bcmath/libbcmath/src/init.c:109:
error: invalid type argument of `->'
/usr/obj/pkgsrc/math/php4-bcmath/work/php-4.3.4/ext/bcmath/libbcmath/src/init.c:
In function `bc_init_num':
/usr/obj/pkgsrc/math/php4-bcmath/work/php-4.3.4/ext/bcmath/libbcmath/src/init.c:128:
error: `_zero_' undeclared (first use in this function)
/usr/obj/pkgsrc/math/php4-bcmath/work/php-4.3.4/ext/bcmath/libbcmath/src/init.c:128:
warning: passing arg 1 of `bc_copy_num' makes pointer from integer
without a cast
*** Error code 1
Stop.
make: stopped in
/usr/obj/pkgsrc/math/php4-bcmath/work/php-4.3.4/ext/bcmath
*** Error code 1
Stop.
make: stopped in /usr/pkgsrc/math/php4-bcmath
*** Error code 1
Stop.
make: stopped in /usr/pkgsrc/math/php4-bcmath
I believe this is caused by libbcmath/init.c picking up 'wrong'
config.h.
------------------------------------------------------------------------
[2003-11-29 08:36:58] sniper@php.net
Fixed in CVS, here's the patch:
http://www.php.net/~jani/patches/bug26462.patch
------------------------------------------------------------------------
[2003-11-29 08:15:52] sniper@php.net
I'm working on this. (btw. The patch here is not ok..)
------------------------------------------------------------------------
[2003-11-29 07:34:08] jdolecek at NetBSD dot org
Description:
------------
NetBSD pkgsrc compiles modules individually, using phpize et.al. bcmath
config.m4 doesn't have correct paths, so some includes are not properly
found and compile fails. Furthermore, it still insists on number.c
being present, which is apparently not needed (it used to be needed in
past, I guess).
Note some care needs to be taken for the include
paths, since some files include "config.h", which
need to pick up the proper one - bcmath configure
or libbcmath one - appropriately.
Compile ends up with something along:
In file included from
/usr/obj/pkgsrc/math/php4-bcmath/work/php-4.3.4/ext/bcmath/php_bcmath.h:26,
from
/usr/obj/pkgsrc/math/php4-bcmath/work/php-4.3.4/ext/bcmath/bcmath.c:30:
/usr/obj/pkgsrc/math/php4-bcmath/work/php-4.3.4/ext/bcmath/libbcmath/src/bcmath.h:56:35:
ext/bcmath/php_bcmath.h: No such file or directory
Following patch fixes the problem:
--- config.m4.orig 2002-03-07 15:18:01.000000000 +0100
+++ config.m4 2003-08-31 18:24:27.000000000 +0200
@@ -7,11 +7,11 @@
if test "$PHP_BCMATH" != "no"; then
AC_DEFINE(WITH_BCMATH, 1, [Whether you have bcmath])
- PHP_NEW_EXTENSION(bcmath, bcmath.c number.c \
+ PHP_NEW_EXTENSION(bcmath, bcmath.c \
libbcmath/src/add.c libbcmath/src/div.c libbcmath/src/init.c
libbcmath/src/neg.c libbcmath/src/outofmem.c libbcmath/src/raisemod.c
libbcmath/src/rt.c libbcmath/src/sub.c \
libbcmath/src/compare.c libbcmath/src/divmod.c libbcmath/src/int2num.c
libbcmath/src/num2long.c libbcmath/src/output.c libbcmath/src/recmul.c
\
libbcmath/src/sqrt.c libbcmath/src/zero.c libbcmath/src/debug.c
libbcmath/src/doaddsub.c libbcmath/src/nearzero.c
libbcmath/src/num2str.c libbcmath/src/raise.c \
libbcmath/src/rmzero.c libbcmath/src/str2num.c,
- $ext_shared,,-I@ext_srcdir@/libbcmath/src)
+ $ext_shared,,-I@ext_srcdir@ -I@ext_srcdir@/../..
-I@ext_srcdir@/libbcmath/src)
PHP_ADD_BUILD_DIR($ext_builddir/libbcmath/src)
fi
The patch is also available on NetBSD CVSweb server:
http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/pkgsrc/math/php4-bcmath/patches/patch-aa?rev=1.2&content-type=text/plain
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=26462&edit=1