[oe-commits] [meta-openembedded] 08/129: php: fix install error for libphp*.so

git at git.openembedded.org git at git.openembedded.org
Mon Sep 11 16:10:17 UTC 2017


This is an automated email from the git hooks/post-receive script.

martin_jansa pushed a commit to branch pyro-next
in repository meta-openembedded.

commit b316598c93ffa253ad1b8b89418bda2cc418d35b
Author: dengke.du at windriver.com <dengke.du at windriver.com>
AuthorDate: Tue May 9 03:54:33 2017 -0400

    php: fix install error for libphp*.so
    
    Changed in V4:
    	Add the tag: meta-oe
    
    1. Different version php have different libphp*.so, so we need to install its
       corresponding libphp*.so, for example:
    
        php-7.1.0  libphp7.so
        php-5.6.26 libphp5.so
    
    2. Fix php-5.6.26 compiling errors:
    
        ld: TSRM/.libs/TSRM.o: undefined reference to symbol
        'pthread_sigmask@@GLIBC_2.2.5'
        error adding symbols: DSO missing from command line
    
    3. Create a configure script like 70_mod_php5, we name it 70_mod_php7, this
       file connect the php7 and the apache2, so they work together to let the
       LAMP works correctly.
    
    Signed-off-by: Dengke Du <dengke.du at windriver.com>
    Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
    Signed-off-by: Armin Kuster <akuster808 at gmail.com>
---
 .../php/php-5.6.26/0001-Add-lpthread-to-link.patch | 38 ++++++++++++++++++++++
 meta-oe/recipes-devtools/php/php.inc               | 18 +++++-----
 meta-oe/recipes-devtools/php/php/70_mod_php7.conf  |  9 +++++
 meta-oe/recipes-devtools/php/php_5.6.26.bb         |  1 +
 meta-webserver/recipes-php/xdebug/xdebug_2.5.1.bb  |  4 +--
 5 files changed, 60 insertions(+), 10 deletions(-)

diff --git a/meta-oe/recipes-devtools/php/php-5.6.26/0001-Add-lpthread-to-link.patch b/meta-oe/recipes-devtools/php/php-5.6.26/0001-Add-lpthread-to-link.patch
new file mode 100644
index 0000000..f70e550
--- /dev/null
+++ b/meta-oe/recipes-devtools/php/php-5.6.26/0001-Add-lpthread-to-link.patch
@@ -0,0 +1,38 @@
+From ed0a954983d50267c2fc0bc13aba929ea0cad971 Mon Sep 17 00:00:00 2001
+From: Dengke Du <dengke.du at windriver.com>
+Date: Tue, 2 May 2017 06:34:40 +0000
+Subject: [PATCH] Add -lpthread to link
+
+When building the php-5.6.26, the following errors occured:
+
+    ld: TSRM/.libs/TSRM.o: undefined reference to symbol
+    'pthread_sigmask@@GLIBC_2.2.5'
+
+    error adding symbols: DSO missing from command line
+
+This is because no pthread to link, so we should add it.
+
+Upstream-Status: Pending
+
+Signed-off-by: Dengke Du <dengke.du at windriver.com>
+---
+ configure.in | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/configure.in b/configure.in
+index a467dff1..9afef652 100644
+--- a/configure.in
++++ b/configure.in
+@@ -1058,7 +1058,8 @@ case $php_sapi_module in
+     ;;
+ esac
+ 
+-EXTRA_LIBS="$EXTRA_LIBS $DLIBS $LIBS"
++PTHREAD_LIBS="-lpthread"
++EXTRA_LIBS="$EXTRA_LIBS $DLIBS $LIBS $PTHREAD_LIBS"
+ 
+ dnl this has to be here to prevent the openssl crypt() from
+ dnl overriding the system provided crypt().
+-- 
+2.11.0
+
diff --git a/meta-oe/recipes-devtools/php/php.inc b/meta-oe/recipes-devtools/php/php.inc
index d3ec9de..0e55020 100644
--- a/meta-oe/recipes-devtools/php/php.inc
+++ b/meta-oe/recipes-devtools/php/php.inc
@@ -9,6 +9,8 @@ DEPENDS = "zlib bzip2 libxml2 virtual/libiconv php-native lemon-native \
            openssl libmcrypt"
 DEPENDS_class-native = "zlib-native libxml2-native"
 
+PHP_MAJOR_VERSION = "${@d.getVar('PV', True).split('.')[0]}"
+
 SRC_URI = "http://php.net/distributions/php-${PV}.tar.bz2 \
            file://acinclude-xml2-config.patch \
            file://0001-php-don-t-use-broken-wrapper-for-mkdir.patch \
@@ -24,7 +26,7 @@ SRC_URI_append_class-target = " \
             file://php-fpm.conf \
             file://php-fpm-apache.conf \
             file://configure.patch \
-            file://70_mod_php5.conf \
+            file://70_mod_php${PHP_MAJOR_VERSION}.conf \
             file://php-fpm.service \
           "
 S = "${WORKDIR}/php-${PV}"
@@ -36,7 +38,7 @@ inherit autotools pkgconfig pythonnative gettext
 SSTATE_SCAN_FILES += "phpize"
 SSTATE_SCAN_FILES += "build-defs.h"
 
-PHP_LIBDIR = "${libdir}/php5"
+PHP_LIBDIR = "${libdir}/php${PHP_MAJOR_VERSION}"
 
 # Common EXTRA_OECONF
 COMMON_EXTRA_OECONF = "--enable-sockets \
@@ -57,7 +59,7 @@ EXTRA_OECONF = "--enable-mbstring \
                 --with-iconv=${STAGING_LIBDIR}/.. \
                 --with-mcrypt=${STAGING_DIR_TARGET}${exec_prefix} \
                 --with-bz2=${STAGING_DIR_TARGET}${exec_prefix} \
-                --with-config-file-path=${sysconfdir}/php/apache2-php5 \
+                --with-config-file-path=${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION} \
                 ${@base_conditional('SITEINFO_ENDIANNESS', 'le', 'ac_cv_c_bigendian_php=no', 'ac_cv_c_bigendian_php=yes', d)} \
                 ${@bb.utils.contains('PACKAGECONFIG', 'pam', '', 'ac_cv_lib_pam_pam_start=no', d)} \
                 ${COMMON_EXTRA_OECONF} \
@@ -175,13 +177,13 @@ do_install_append_class-target() {
     if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then
         install -d ${D}${libdir}/apache2/modules
         install -d ${D}${sysconfdir}/apache2/modules.d
-        install -d ${D}${sysconfdir}/php/apache2-php5
-        install -m 755  libs/libphp5.so ${D}${libdir}/apache2/modules
-        install -m 644  ${WORKDIR}/70_mod_php5.conf ${D}${sysconfdir}/apache2/modules.d
-        sed -i s,lib/,${libdir}/, ${D}${sysconfdir}/apache2/modules.d/70_mod_php5.conf
+        install -d ${D}${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION}
+        install -m 755  libs/libphp${PHP_MAJOR_VERSION}.so ${D}${libdir}/apache2/modules
+        install -m 644  ${WORKDIR}/70_mod_php${PHP_MAJOR_VERSION}.conf ${D}${sysconfdir}/apache2/modules.d
+        sed -i s,lib/,${libdir}/, ${D}${sysconfdir}/apache2/modules.d/70_mod_php${PHP_MAJOR_VERSION}.conf
         cat ${S}/php.ini-production | \
             sed -e 's,extension_dir = \"\./\",extension_dir = \"/usr/lib/extensions\",' \
-            > ${D}${sysconfdir}/php/apache2-php5/php.ini
+            > ${D}${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION}/php.ini
         rm -f ${D}${sysconfdir}/apache2/httpd.conf*
     fi
 }
diff --git a/meta-oe/recipes-devtools/php/php/70_mod_php7.conf b/meta-oe/recipes-devtools/php/php/70_mod_php7.conf
new file mode 100644
index 0000000..d206265
--- /dev/null
+++ b/meta-oe/recipes-devtools/php/php/70_mod_php7.conf
@@ -0,0 +1,9 @@
+LoadModule php7_module lib/apache2/modules/libphp7.so
+
+<FilesMatch "\.ph(p[2-7]?|tml)$">
+	SetHandler application/x-httpd-php
+</FilesMatch>
+
+<FilesMatch "\.phps$">
+	SetHandler application/x-httpd-php-source
+</FilesMatch>
diff --git a/meta-oe/recipes-devtools/php/php_5.6.26.bb b/meta-oe/recipes-devtools/php/php_5.6.26.bb
index ddc7ce3..dfce949 100644
--- a/meta-oe/recipes-devtools/php/php_5.6.26.bb
+++ b/meta-oe/recipes-devtools/php/php_5.6.26.bb
@@ -4,6 +4,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=b602636d46a61c0ac0432bbf5c078fe4"
 
 SRC_URI += "file://change-AC_TRY_RUN-to-AC_TRY_LINK.patch \
             file://pthread-check-threads-m4.patch \
+            file://0001-Add-lpthread-to-link.patch \
            "
 SRC_URI[md5sum] = "cb424b705cfb715fc04f499f8a8cf52e"
 SRC_URI[sha256sum] = "d47aab8083a4284b905777e1b45dd7735adc53be827b29f896684750ac8b6236"
diff --git a/meta-webserver/recipes-php/xdebug/xdebug_2.5.1.bb b/meta-webserver/recipes-php/xdebug/xdebug_2.5.1.bb
index 077bdc8..7741378 100644
--- a/meta-webserver/recipes-php/xdebug/xdebug_2.5.1.bb
+++ b/meta-webserver/recipes-php/xdebug/xdebug_2.5.1.bb
@@ -29,5 +29,5 @@ do_install() {
     oe_runmake install INSTALL_ROOT=${D}
 }
 
-FILES_${PN} += "${libdir}/php5/extensions/*/*.so"
-FILES_${PN}-dbg += "${libdir}/php5/extensions/*/.debug"
+FILES_${PN} += "${libdir}/php*/extensions/*/*.so"
+FILES_${PN}-dbg += "${libdir}/php*/extensions/*/.debug"

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list