#26462 [Csd->Opn]: bcmath doesn't compile as module

From: Date: Sat, 29 Nov 2003 13:59:45 +0000
Subject: #26462 [Csd->Opn]: bcmath doesn't compile as module
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-51332@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:           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)

« previous php.bugs (#51332) next »