diff options
author | dengke.du@windriver.com <dengke.du@windriver.com> | 2017-05-09 03:54:33 -0400 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2017-05-23 15:49:36 +0200 |
commit | 6cd249225ecdd0a4592afe1844541378acae6cea (patch) | |
tree | b84c1f9ab13a33e160cff362dfa0f21d363887e7 | |
parent | 12436ba5ff647d69c0eadab7f4e5de42cf19f9ca (diff) | |
download | meta-openembedded-6cd249225ecdd0a4592afe1844541378acae6cea.tar.gz |
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@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
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 000000000..f70e550ff --- /dev/null +++ b/meta-oe/recipes-devtools/php/php-5.6.26/0001-Add-lpthread-to-link.patch | |||
@@ -0,0 +1,38 @@ | |||
1 | From ed0a954983d50267c2fc0bc13aba929ea0cad971 Mon Sep 17 00:00:00 2001 | ||
2 | From: Dengke Du <dengke.du@windriver.com> | ||
3 | Date: Tue, 2 May 2017 06:34:40 +0000 | ||
4 | Subject: [PATCH] Add -lpthread to link | ||
5 | |||
6 | When building the php-5.6.26, the following errors occured: | ||
7 | |||
8 | ld: TSRM/.libs/TSRM.o: undefined reference to symbol | ||
9 | 'pthread_sigmask@@GLIBC_2.2.5' | ||
10 | |||
11 | error adding symbols: DSO missing from command line | ||
12 | |||
13 | This is because no pthread to link, so we should add it. | ||
14 | |||
15 | Upstream-Status: Pending | ||
16 | |||
17 | Signed-off-by: Dengke Du <dengke.du@windriver.com> | ||
18 | --- | ||
19 | configure.in | 3 ++- | ||
20 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
21 | |||
22 | diff --git a/configure.in b/configure.in | ||
23 | index a467dff1..9afef652 100644 | ||
24 | --- a/configure.in | ||
25 | +++ b/configure.in | ||
26 | @@ -1058,7 +1058,8 @@ case $php_sapi_module in | ||
27 | ;; | ||
28 | esac | ||
29 | |||
30 | -EXTRA_LIBS="$EXTRA_LIBS $DLIBS $LIBS" | ||
31 | +PTHREAD_LIBS="-lpthread" | ||
32 | +EXTRA_LIBS="$EXTRA_LIBS $DLIBS $LIBS $PTHREAD_LIBS" | ||
33 | |||
34 | dnl this has to be here to prevent the openssl crypt() from | ||
35 | dnl overriding the system provided crypt(). | ||
36 | -- | ||
37 | 2.11.0 | ||
38 | |||
diff --git a/meta-oe/recipes-devtools/php/php.inc b/meta-oe/recipes-devtools/php/php.inc index d3ec9ded3..0e5502088 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 \ | |||
9 | openssl libmcrypt" | 9 | openssl libmcrypt" |
10 | DEPENDS_class-native = "zlib-native libxml2-native" | 10 | DEPENDS_class-native = "zlib-native libxml2-native" |
11 | 11 | ||
12 | PHP_MAJOR_VERSION = "${@d.getVar('PV', True).split('.')[0]}" | ||
13 | |||
12 | SRC_URI = "http://php.net/distributions/php-${PV}.tar.bz2 \ | 14 | SRC_URI = "http://php.net/distributions/php-${PV}.tar.bz2 \ |
13 | file://acinclude-xml2-config.patch \ | 15 | file://acinclude-xml2-config.patch \ |
14 | file://0001-php-don-t-use-broken-wrapper-for-mkdir.patch \ | 16 | file://0001-php-don-t-use-broken-wrapper-for-mkdir.patch \ |
@@ -24,7 +26,7 @@ SRC_URI_append_class-target = " \ | |||
24 | file://php-fpm.conf \ | 26 | file://php-fpm.conf \ |
25 | file://php-fpm-apache.conf \ | 27 | file://php-fpm-apache.conf \ |
26 | file://configure.patch \ | 28 | file://configure.patch \ |
27 | file://70_mod_php5.conf \ | 29 | file://70_mod_php${PHP_MAJOR_VERSION}.conf \ |
28 | file://php-fpm.service \ | 30 | file://php-fpm.service \ |
29 | " | 31 | " |
30 | S = "${WORKDIR}/php-${PV}" | 32 | S = "${WORKDIR}/php-${PV}" |
@@ -36,7 +38,7 @@ inherit autotools pkgconfig pythonnative gettext | |||
36 | SSTATE_SCAN_FILES += "phpize" | 38 | SSTATE_SCAN_FILES += "phpize" |
37 | SSTATE_SCAN_FILES += "build-defs.h" | 39 | SSTATE_SCAN_FILES += "build-defs.h" |
38 | 40 | ||
39 | PHP_LIBDIR = "${libdir}/php5" | 41 | PHP_LIBDIR = "${libdir}/php${PHP_MAJOR_VERSION}" |
40 | 42 | ||
41 | # Common EXTRA_OECONF | 43 | # Common EXTRA_OECONF |
42 | COMMON_EXTRA_OECONF = "--enable-sockets \ | 44 | COMMON_EXTRA_OECONF = "--enable-sockets \ |
@@ -57,7 +59,7 @@ EXTRA_OECONF = "--enable-mbstring \ | |||
57 | --with-iconv=${STAGING_LIBDIR}/.. \ | 59 | --with-iconv=${STAGING_LIBDIR}/.. \ |
58 | --with-mcrypt=${STAGING_DIR_TARGET}${exec_prefix} \ | 60 | --with-mcrypt=${STAGING_DIR_TARGET}${exec_prefix} \ |
59 | --with-bz2=${STAGING_DIR_TARGET}${exec_prefix} \ | 61 | --with-bz2=${STAGING_DIR_TARGET}${exec_prefix} \ |
60 | --with-config-file-path=${sysconfdir}/php/apache2-php5 \ | 62 | --with-config-file-path=${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION} \ |
61 | ${@base_conditional('SITEINFO_ENDIANNESS', 'le', 'ac_cv_c_bigendian_php=no', 'ac_cv_c_bigendian_php=yes', d)} \ | 63 | ${@base_conditional('SITEINFO_ENDIANNESS', 'le', 'ac_cv_c_bigendian_php=no', 'ac_cv_c_bigendian_php=yes', d)} \ |
62 | ${@bb.utils.contains('PACKAGECONFIG', 'pam', '', 'ac_cv_lib_pam_pam_start=no', d)} \ | 64 | ${@bb.utils.contains('PACKAGECONFIG', 'pam', '', 'ac_cv_lib_pam_pam_start=no', d)} \ |
63 | ${COMMON_EXTRA_OECONF} \ | 65 | ${COMMON_EXTRA_OECONF} \ |
@@ -175,13 +177,13 @@ do_install_append_class-target() { | |||
175 | if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then | 177 | if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then |
176 | install -d ${D}${libdir}/apache2/modules | 178 | install -d ${D}${libdir}/apache2/modules |
177 | install -d ${D}${sysconfdir}/apache2/modules.d | 179 | install -d ${D}${sysconfdir}/apache2/modules.d |
178 | install -d ${D}${sysconfdir}/php/apache2-php5 | 180 | install -d ${D}${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION} |
179 | install -m 755 libs/libphp5.so ${D}${libdir}/apache2/modules | 181 | install -m 755 libs/libphp${PHP_MAJOR_VERSION}.so ${D}${libdir}/apache2/modules |
180 | install -m 644 ${WORKDIR}/70_mod_php5.conf ${D}${sysconfdir}/apache2/modules.d | 182 | install -m 644 ${WORKDIR}/70_mod_php${PHP_MAJOR_VERSION}.conf ${D}${sysconfdir}/apache2/modules.d |
181 | sed -i s,lib/,${libdir}/, ${D}${sysconfdir}/apache2/modules.d/70_mod_php5.conf | 183 | sed -i s,lib/,${libdir}/, ${D}${sysconfdir}/apache2/modules.d/70_mod_php${PHP_MAJOR_VERSION}.conf |
182 | cat ${S}/php.ini-production | \ | 184 | cat ${S}/php.ini-production | \ |
183 | sed -e 's,extension_dir = \"\./\",extension_dir = \"/usr/lib/extensions\",' \ | 185 | sed -e 's,extension_dir = \"\./\",extension_dir = \"/usr/lib/extensions\",' \ |
184 | > ${D}${sysconfdir}/php/apache2-php5/php.ini | 186 | > ${D}${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION}/php.ini |
185 | rm -f ${D}${sysconfdir}/apache2/httpd.conf* | 187 | rm -f ${D}${sysconfdir}/apache2/httpd.conf* |
186 | fi | 188 | fi |
187 | } | 189 | } |
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 000000000..d206265a2 --- /dev/null +++ b/meta-oe/recipes-devtools/php/php/70_mod_php7.conf | |||
@@ -0,0 +1,9 @@ | |||
1 | LoadModule php7_module lib/apache2/modules/libphp7.so | ||
2 | |||
3 | <FilesMatch "\.ph(p[2-7]?|tml)$"> | ||
4 | SetHandler application/x-httpd-php | ||
5 | </FilesMatch> | ||
6 | |||
7 | <FilesMatch "\.phps$"> | ||
8 | SetHandler application/x-httpd-php-source | ||
9 | </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 ddc7ce3c3..dfce949f9 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" | |||
4 | 4 | ||
5 | SRC_URI += "file://change-AC_TRY_RUN-to-AC_TRY_LINK.patch \ | 5 | SRC_URI += "file://change-AC_TRY_RUN-to-AC_TRY_LINK.patch \ |
6 | file://pthread-check-threads-m4.patch \ | 6 | file://pthread-check-threads-m4.patch \ |
7 | file://0001-Add-lpthread-to-link.patch \ | ||
7 | " | 8 | " |
8 | SRC_URI[md5sum] = "cb424b705cfb715fc04f499f8a8cf52e" | 9 | SRC_URI[md5sum] = "cb424b705cfb715fc04f499f8a8cf52e" |
9 | SRC_URI[sha256sum] = "d47aab8083a4284b905777e1b45dd7735adc53be827b29f896684750ac8b6236" | 10 | 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 077bdc8a8..77413784d 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() { | |||
29 | oe_runmake install INSTALL_ROOT=${D} | 29 | oe_runmake install INSTALL_ROOT=${D} |
30 | } | 30 | } |
31 | 31 | ||
32 | FILES_${PN} += "${libdir}/php5/extensions/*/*.so" | 32 | FILES_${PN} += "${libdir}/php*/extensions/*/*.so" |
33 | FILES_${PN}-dbg += "${libdir}/php5/extensions/*/.debug" | 33 | FILES_${PN}-dbg += "${libdir}/php*/extensions/*/.debug" |