ports/116783: php_db4 can not be built

Jacobus Geluk Jacobus.Geluk at gmail.com
Mon Oct 1 12:20:01 UTC 2007


>Number:         116783
>Category:       ports
>Synopsis:       php_db4 can not be built
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Oct 01 12:20:01 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Jacobus Geluk
>Release:        6.2-STABLE
>Organization:
>Environment:
FreeBSD *** 6.2-STABLE FreeBSD 6.2-STABLE #0: Mon Jul 23 00:51:09 UTC 2007     ***:/usr/obj/usr/src/sys/SMP  amd64
>Description:
The following does not work:

cd /usr/ports/databases/db46/work/db-4.6.19/php_db4
phpize
./configure
make

The make stops with an error because the include path has not been set correctly, it can't find db.h in the /usr/local/include/db46 directory or the db_cxx library in the /usr/local/lib/db46 directory...

/usr/local/bin/bash /usr/ports/databases/db46/work/db-4.6.19/php_db4/libtool --mode=compile g++  -I. -I/usr/ports/databases/db46/work/db-4.6.19/php_db4 -DPHP_ATOM_INC -I/usr/ports/databases/db46/work/db-4.6.19/php_db4/include -I/usr/ports/databases/db46/work/db-4.6.19/php_db4/main -I/usr/ports/databases/db46/work/db-4.6.19/php_db4 -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib  -DHAVE_CONFIG_H  -g -O2   -c /usr/ports/databases/db46/work/db-4.6.19/php_db4/db4.cpp -o db4.lo
mkdir .libs
 g++ -I. -I/usr/ports/databases/db46/work/db-4.6.19/php_db4 -DPHP_ATOM_INC -I/usr/ports/databases/db46/work/db-4.6.19/php_db4/include -I/usr/ports/databases/db46/work/db-4.6.19/php_db4/main -I/usr/ports/databases/db46/work/db-4.6.19/php_db4 -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /usr/ports/databases/db46/work/db-4.6.19/php_db4/db4.cpp  -fPIC -DPIC -o .libs/db4.o
In file included from /usr/ports/databases/db46/work/db-4.6.19/php_db4/db4.cpp:18:
/usr/ports/databases/db46/work/db-4.6.19/php_db4/php_db4.h:32: error: expected constructor, destructor, or type conversion before '*' token
/usr/ports/databases/db46/work/db-4.6.19/php_db4/php_db4.h:34: error: expected unqualified-id before numeric constant
/usr/ports/databases/db46/work/db-4.6.19/php_db4/php_db4.h:35: error: expected constructor, destructor, or type conversion before '*' token
/usr/ports/databases/db46/work/db-4.6.19/php_db4/db4.cpp:23:20: db_cxx.h: No such file or directory
/usr/ports/databases/db46/work/db-4.6.19/php_db4/db4.cpp:47: error: expected unqualified-id before numeric constant
/usr/ports/databases/db46/work/db-4.6.19/php_db4/db4.cpp:53: error: ISO C++ forbids declaration of `DBC' with no type
/usr/ports/databases/db46/work/db-4.6.19/php_db4/db4.cpp:53: error: expected `;' before '*' token
/usr/ports/databases/db46/work/db-4.6.19/php_db4/db4.cpp:64: error: ISO C++ forbids declaration of `DB_ENV' with no type
/usr/ports/databases/db46/work/db-4.6.19/php_db4/db4.cpp:64: error: expected `;' before '*' token
/usr/ports/databases/db46/work/db-4.6.19/php_db4/db4.cpp: In function `void _free_php_db_txn(zend_rsrc_list_entry*)':
/usr/ports/databases/db46/work/db-4.6.19/php_db4/db4.cpp:72: error: 'struct php_DB_TXN' has no member named 'db_txn'
/usr/ports/databases/db46/work/db-4.6.19/php_db4/db4.cpp:72: error: 'struct php_DB_TXN' has no member named 'db_txn'

continues....

>How-To-Repeat:
See description
>Fix:
Patch php_db4/config.m4 to select the right include and lib directories

Patch attached with submission follows:

--- ../php_db4/config.m4.orig	2007-10-01 13:46:47.000000000 +0200
+++ ../php_db4/config.m4	2007-10-01 13:48:06.000000000 +0200
@@ -19,36 +19,8 @@
 
 if test "$PHP_DB4" != "no"; then
   if test "$PHP_DB4" != "no"; then
-    for i in $PHP_DB4 /usr/local/BerkeleyDB.4.4 /usr/local /usr; do
-      if test -f "$i/db4/db.h"; then
-        THIS_PREFIX=$i
-        INC_DIR=$i/db4
-        THIS_INCLUDE=$i/db4/db.h
-        break
-      elif test -f "$i/include/db4/db.h"; then
-        THIS_PREFIX=$i
-        INC_DIR=$i/include/db4
-        THIS_INCLUDE=$i/include/db4/db.h
-        break
-      elif test -f "$i/include/db/db4.h"; then
-        THIS_PREFIX=$i
-        INC_DIR=$i/include/db4
-        THIS_INCLUDE=$i/include/db/db4.h
-        break
-      elif test -f "$i/include/db4.h"; then
-        THIS_PREFIX=$i
-        INC_DIR=$i/include
-        THIS_INCLUDE=$i/include/db4.h
-        break
-      elif test -f "$i/include/db.h"; then
-        THIS_PREFIX=$i
-        INC_DIR=$i/include
-        THIS_INCLUDE=$i/include/db.h
-        break
-      fi
-    done
-    PHP_ADD_INCLUDE($INC_DIR)
-    PHP_ADD_LIBRARY_WITH_PATH(db_cxx, $THIS_PREFIX/lib, DB4_SHARED_LIBADD)
+    PHP_ADD_INCLUDE(/usr/local/include/db46)
+    PHP_ADD_LIBRARY_WITH_PATH(db_cxx, /usr/local/lib/db46, DB4_SHARED_LIBADD)
   fi 
   AC_MSG_CHECKING([if we really need to link against mod_db4])
 


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list