[php-maint] Build PHP5.3 on Debian Jessie

Jonas Meurer jonas at freesources.org
Wed Apr 30 15:41:00 UTC 2014


Hey Debian PHP Admins,

1111111111111111111111111111111111111111111111111111111111111111111111
I'm wondering whether anybody tried to build the PHP5.3 packages from
Debian/Squeeze on Debian Jessie yet.

Background is, that I need to setup a system with Apache 2.4 and PHP5.3
(don't ask me why, one of the pet PHP apps that require PHP 5.3 and
don't work even with 5.4).

I now spent some time trying to build from source, but I didn't succeed
to patch the configure properly so PHP5.3 builds against Berkeley DB 5.3
yet. I used the patch at
http://lfs.phayoune.org/patches/downloads/php/php-5.3.3-configure-1.patch
and modified it to support DB5.2 and DB5.3 as well, but the build still
breaks at checking DB version:

checking for dpopen in -lqdbm... yes
checking for QDBM support... yes
checking for GDBM support... no
checking for NDBM support... no
checking for DB4 major version... configure: error: Header contains 
different version
make: *** [configure-apache2-stamp] Error 1
dpkg-buildpackage: error: debian/rules build gave error exit status 2


Does anybody have a quick idea on how to fix that build error?

Kind regards,
  jonas

Below's the patch I added as new one to quilt patches:

--- a/configure
+++ b/configure
@@ -30618,7 +30618,7 @@

    dbdp4="/usr/local/BerkeleyDB.4."
    dbdp5="/usr/local/BerkeleyDB.5."
-  for i in $PHP_DB4 ${dbdp5}0 ${dbdp4}8 ${dbdp4}7 ${dbdp4}6 ${dbdp4}5 
${dbdp4}4 ${dbdp4}3 ${dbdp4}2 ${dbdp4}1 ${dbdp}0 /usr/local /usr; do
+  for i in $PHP_DB4 ${dbdp5}3 ${dbdp5}2 ${dbdp5}1 ${dbdp5}0 ${dbdp4}8 
${dbdp4}7 ${dbdp4}6 ${dbdp4}5 ${dbdp4}4 ${dbdp4}3 ${dbdp4}2 ${dbdp4}1 
${dbdp}0 /usr/local /usr; do
      if test -f "$i/db5/db.h"; then
        THIS_PREFIX=$i
        THIS_INCLUDE=$i/db5/db.h
@@ -30627,6 +30627,18 @@
        THIS_PREFIX=$i
        THIS_INCLUDE=$i/db4/db.h
        break
+    elif test -f "$i/include/db5.3/db.h"; then
+      THIS_PREFIX=$i
+      THIS_INCLUDE=$i/include/db5.3/db.h
+      break
+    elif test -f "$i/include/db5.2/db.h"; then
+      THIS_PREFIX=$i
+      THIS_INCLUDE=$i/include/db5.2/db.h
+      break
+    elif test -f "$i/include/db5.1/db.h"; then
+      THIS_PREFIX=$i
+      THIS_INCLUDE=$i/include/db5.1/db.h
+      break
      elif test -f "$i/include/db5.0/db.h"; then
        THIS_PREFIX=$i
        THIS_INCLUDE=$i/include/db5.0/db.h
@@ -30669,7 +30681,7 @@
    if test -z "$THIS_INCLUDE"; then
      { echo "configure: error: DBA: Could not find necessary header 
file(s)." 1>&2; exit 1; }
    fi
-  for LIB in db-5.0 db-4.8 db-4.7 db-4.6 db-4.5 db-4.4 db-4.3 db-4.2 
db-4.1 db-4.0 db-4 db4 db; do
+  for LIB in db-5.3 db-5.2 db-5.1 db-5.0 db-4.8 db-4.7 db-4.6 db-4.5 
db-4.4 db-4.3 db-4.2 db-4.1 db-4.0 db-4 db4 db; do
      if test -f $THIS_PREFIX/$PHP_LIBDIR/lib$LIB.a || test -f 
$THIS_PREFIX/$PHP_LIBDIR/lib$LIB.$SHLIB_SUFFIX_NAME; then
        lib_found="";

@@ -30742,7 +30754,12 @@
  #include "confdefs.h"

  #include "$THIS_INCLUDE"
-#if DB_VERSION_MINOR != 1 || (DB_VERSION_MINOR == 1 && DB_VERSION_PATCH 
 >= 25)
+#if DB_VERSION_MINOR != 1 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR 
== 1 && DB_VERSION_PATCH >= 25)
+      yes
+#endif
+
+#include "$THIS_INCLUDE"
+#if DB_VERSION_MAJOR == 5
        yes
  #endif




More information about the pkg-php-maint mailing list