#26462 [Csd->Opn]: bcmath doesn't compile as module
ID: 26462
User updated by: jdolecek at NetBSD dot org
Reported By: jdolecek at NetBSD dot org
-Status: Closed
+Status: Open
Bug Type: BC math related
Operating System: NetBSD 1.6ZF
PHP Version: 4.3.4
Assigned To: sniper
New Comment:
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.
Previous Comments:
------------------------------------------------------------------------
[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
Thread (10 messages)