|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2016-11-26 01:16 UTC] spam2 at rhsoft dot net
Description: ------------ most of the stuff runs fine, but on a machine with 7.1.0RC6 installed the test-suite tries to load extensions from the installed binaries up to "--with-config-file-scan-dir" which is simply a no-go when -n and a cnfig file is specified that explains now also why for years nmow some mysql-tests are failing with permission-denied - likely some pieces ignore the env-vars $TEST_PHP_EXECUTABLE -n -c $PWD/tmp-php.ini $PWD/run-tests.php -n -c $PWD/tmp-php.ini [root@testserver:~]$ cat /rpmbuild/BUILD/php-7.0.14/tmp-php.ini [PHP] extension_dir=/home/builduser/rpmbuild/BUILD/php-7.0.14/modules extension=openssl.so extension=mbstring.so extension=calendar.so extension=ctype.so extension=curl.so extension=dom.so extension=exif.so extension=fileinfo.so extension=gd.so extension=hash.so extension=iconv.so extension=json.so extension=mysqli.so extension=pcntl.so extension=pdo.so extension=pdo_mysql.so extension=posix.so extension=session.so extension=simplexml.so extension=soap.so extension=tidy.so extension=tokenizer.so extension=xmlreader.so extension=xmlwriter.so extension=zip.so zend_extension=opcache.so Module compiled with module API=20160303 PHP compiled with module API=20151012 These options need to match in Unknown on line 0 [26-Nov-2016 01:08:17 UTC] PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/session.so' - /usr/lib64/php/modules/session.so: undefined symbol: php_var_serialize_destroy in Unknown on line 0 [26-Nov-2016 01:08:17 UTC] PHP Warning: PHP Startup: SimpleXML: Unable to initialize module Module compiled with module API=20160303 PHP compiled with module API=20151012 PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Oct 29 18:00:01 2025 UTC |
and you did build openssl as shared extension instead bundeled in the php binary? [builduser@testserver:~]$ cat /rpmbuild/SPECS/php.spec Version: 7.1.3 # command 'rpmbuild -bb php.spec --with production' will tune for current hardware while default stays 'sandybridge' # macro 'php_debug_build' is global (/home/builduser/.rpmmacros) and re-used for pecl-builds while 'debug_build' is local %global dist fc%fedora.%(echo $(/usr/bin/date +%Y%m%d.%H%M)).rh %global phpver 7 %global runselftest 0 %global pgo_build 1 %global lto_build 0 %global break_build 0 %global debug_build 0 %global extension_dir %{_libdir}/%{name}/modules %if %{?_with_production:1}%{!?_with_production:0} %global mtune native %global php_native_release 1 %else %global mtune sandybridge %global php_native_release 0 %endif %if %php_debug_build %global _include_minidebuginfo 1 %global RH_GCC_DEBUG_OPTION "-g3" %global RH_CONFIGURE_DEBUG_OPTION "enable-debug" %global RH_STRIP_BINARY 0 %global pgo_build 0 %global lto_build 0 %else %if %debug_build %global _include_minidebuginfo 1 %global RH_GCC_DEBUG_OPTION "-g3" %global RH_CONFIGURE_DEBUG_OPTION "enable-debug" %global RH_STRIP_BINARY 0 %global pgo_build 0 %global lto_build 0 %else %global _include_minidebuginfo 0 %global RH_GCC_DEBUG_OPTION "-g0" %global RH_CONFIGURE_DEBUG_OPTION "disable-debug" %global RH_STRIP_BINARY 1 %endif %endif %if %lto_build %global RH_LTO_CONFIGURE_OPTION "disable-gcc-global-regs" %else %global RH_LTO_CONFIGURE_OPTION "enable-gcc-global-regs" %endif Summary: PHP - CFLAGS: '-m64 -O3 -mfpmath=sse -mavx -msse2avx -march=%{mtune} -mtune=%{mtune} -D_FORTIFY_SOURCE=2 -fgraphite-identity -fipa-pta -fira-loop-pressure -fivopts -floop-block -floop-unroll-and-jam -fmerge-all-constants -fomit-frame-pointer -fopenmp -fsemantic-interposition -fstack-protector --param=ssp-buffer-size=8 -fstrict-aliasing -ftree-loop-distribution -ftree-loop-if-convert -ftree-loop-if-convert-stores -ftree-loop-im -ftree-loop-ivcanon -fvariable-expansion-in-unroller -fvect-cost-model=unlimited -fwrapv -g0 -minline-all-stringops -pipe -fno-align-labels -fno-exceptions -fno-gcse -fno-math-errno -fno-lto -fuse-ld=gold -fuse-linker-plugin -fprofile-use -Wformat -Werror=format-security -Wno-stack-protector -Wstrict-aliasing -Wa,--noexecstack' Name: php Release: 1.%{php_native_release}.%{?dist}.%{mtune} License: PHP/Zend/BSD Group: Development/Languages URL: https://secure.php.net/ Source0: php-%{version}.tar.xz Source1: opcache-zendoptimizer.php Source2: php-httpd-dummy.conf Source3: php-disabled-autotests.txt Source4: php-test-dirs.txt Source5: php-debug.ini Patch1: php-realpath-cache-openbasedir.patch Patch2: php-70-systzdata.patch Patch3: php-71-systzdata.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: binutils BuildRequires: bison BuildRequires: bzip2-devel BuildRequires: curl-devel BuildRequires: cyrus-sasl-devel BuildRequires: freetype-devel BuildRequires: gcc-c++ BuildRequires: gd-devel BuildRequires: gettext-devel BuildRequires: httpd-devel BuildRequires: krb5-devel BuildRequires: libc-client-devel BuildRequires: libedit-devel BuildRequires: libicu-devel BuildRequires: libjpeg-turbo-devel BuildRequires: libpng-devel BuildRequires: libstdc++-devel BuildRequires: libtidy-devel BuildRequires: libtool-ltdl-devel BuildRequires: libxml2-devel BuildRequires: libzip-devel BuildRequires: openssl-devel BuildRequires: pam-devel BuildRequires: pcre-devel BuildRequires: perl BuildRequires: postfix BuildRequires: re2c BuildRequires: zlib-devel Provides: mod_%{name} Requires: %{name}-common %description PHP Scripting Language %package common Summary: common files %package cli Summary: command-line interface for php Requires: %{name}-common Provides: %{name}-cgi %package devel Summary: files needed for building extensions Requires: autoconf, automake, pcre-devel, re2c, %{name}-cli %package bcmath Summary: bcmath %package bz2 Summary: bz2 %package calendar Summary: calendar %package ctype Summary: ctype %package curl Summary: curl %package dom Summary: dom %package exif Summary: exif %package fileinfo Summary: fileinfo %package gd Summary: gd %package gettext Summary: gettext %package hash Summary: hash %package iconv Summary: iconv %package imap Summary: imap %package intl Summary: intl %package json Summary: json %package mbstring Summary: mbstring %package mysqli Summary: mysqli %package opcache Summary: opcache %package openssl Summary: openssl %package pcntl Summary: pcntl %package pdo Summary: pdo %package phar Summary: phar %package posix Summary: posix %package readline Summary: readline %package session Summary: session %package simplexml Summary: simplexml %package soap Summary: soap %package sockets Summary: socket %package tidy Summary: tidy %package tokenizer Summary: tokenizer %package xmlreader Summary: xmlreader %package xmlwriter Summary: xmlwriter %package zip Summary: zip # https://bugzilla.redhat.com/show_bug.cgi?id=1371549 %description bcmath %description bz2 %description calendar %description cli %description common %description ctype %description curl %description devel %description dom %description exif %description fileinfo %description gd %description gettext %description hash %description iconv %description imap %description intl %description json %description mbstring %description mysqli %description opcache %description openssl %description pcntl %description pdo %description phar %description posix %description readline %description session %description simplexml %description soap %description sockets %description tidy %description tokenizer %description xmlreader %description xmlwriter %description zip %prep %setup -q -n php-%{version} %patch1 -p1 -b .realpath %if "%{version}" >= "7.1.0" %patch3 -p1 -b .systzdata-71 %else %patch2 -p1 -b .systzdata-70 %endif # generate 'data_file.c' from bundeled libmagic with current system data # /usr/bin/php ext/fileinfo/create_data_file.php /usr/share/misc/magic.mgc > ext/fileinfo/data_file.c # drop windows specific headers and fix bogus permissions rm -f TSRM/tsrm_win32.h TSRM/tsrm_config.w32.h Zend/zend_config.w32.h ext/mysqlnd/config-win.h ext/standard/winver.h main/win32_internal_function_disabled.h main/win95nt.h find . -name \*.[ch] -exec chmod 644 {} \; # delete known failing or skipped tests %if %runselftest xargs rm -f < %{SOURCE3} rm -rf ext/openssl/tests/ %else xargs rm -rf < %{SOURCE4} %endif %build # force use of system libtool and regenerate configure scripts libtoolize --force --copy --quiet cat `aclocal --print-ac-dir`/{libtool,ltoptions,ltsugar,ltversion,lt~obsolete}.m4 > build/libtool.m4 touch configure.in ./buildconf --force # compiler and linker flags %if %lto_build RH_LTO_FLAGS="-flto -fno-fat-lto-objects -fuse-ld=gold -fuse-linker-plugin" %else RH_LTO_FLAGS="-fno-lto -fuse-ld=gold -fuse-linker-plugin" %endif %if %debug_build export CFLAGS="-m64 -O0 %{RH_GCC_DEBUG_OPTION} -fno-lto" %else %if %php_debug_build export CFLAGS="-m64 -O0 %{RH_GCC_DEBUG_OPTION} -fno-lto" %else %if %pgo_build export CFLAGS="-m64 -O3 -mfpmath=sse -mavx -msse2avx -march=%{mtune} -mtune=%{mtune} -D_FORTIFY_SOURCE=2 -fgraphite-identity -fipa-pta -fira-loop-pressure -fivopts -floop-block -floop-unroll-and-jam -fmerge-all-constants -fomit-frame-pointer -fopenmp -fsemantic-interposition -fstack-protector --param=ssp-buffer-size=8 -fstrict-aliasing -ftree-loop-distribution -ftree-loop-if-convert -ftree-loop-if-convert-stores -ftree-loop-im -ftree-loop-ivcanon -fvariable-expansion-in-unroller -fvect-cost-model=unlimited -fwrapv %{RH_GCC_DEBUG_OPTION} -minline-all-stringops -pipe -fno-align-labels -fno-exceptions -fno-gcse -fno-math-errno $RH_LTO_FLAGS -Wformat -Werror=format-security -Wno-stack-protector -Wstrict-aliasing -Wa,--noexecstack" %else export CFLAGS="-m64 -O3 -mfpmath=sse -mavx -msse2avx -march=%{mtune} -mtune=%{mtune} -D_FORTIFY_SOURCE=2 -fivopts -fmerge-all-constants -fomit-frame-pointer -fopenmp -fstack-protector --param=ssp-buffer-size=8 -fstrict-aliasing -fwrapv -fno-align-labels -fno-exceptions -fno-gcse -fno-gcse-after-reload -fno-inline-functions -fno-ipa-cp -fno-ipa-cp-clone -fno-ipa-pta -fno-math-errno -fno-peel-loops -fno-predictive-commoning -fno-semantic-interposition -fno-tree-loop-distribute-patterns -fno-tree-loop-distribution -fno-tree-loop-if-convert -fno-tree-loop-if-convert-stores -fno-tree-loop-im -fno-tree-loop-ivcanon -fno-unroll-loops -fno-unswitch-loops -fno-variable-expansion-in-unroller %{RH_GCC_DEBUG_OPTION} -minline-all-stringops -pipe $RH_LTO_FLAGS -Wformat -Werror=format-security -Wno-stack-protector -Wstrict-aliasing -Wa,--noexecstack" %endif %endif %endif export CC="gcc $CFLAGS" export CXXFLAGS="$CFLAGS" export CXX="gcc $CFLAGS" export SH_LDFLAGS="-Wl,--as-needed -Wl,-z,now -Wl,-z,relro -Wl,-z,noexecstack -Wl,-z,nodump $CFLAGS" export LDFLAGS="$SH_LDFLAGS -pie -fPIE" # define extension directory export EXTENSION_DIR=%{extension_dir} # configure build process ./configure --quiet \ --host=x86_64-redhat-linux \ --build=x86_64-redhat-linux \ --target=x86_64-redhat-linux \ --prefix=%{_prefix} \ --program-prefix= \ --libdir=%{_libdir}/%{name} \ --disable-all \ --enable-bcmath=shared \ --enable-calendar=shared \ --enable-cli \ --enable-ctype=shared \ --enable-dom=shared \ --enable-exif=shared \ --enable-fileinfo=shared \ --enable-filter \ --enable-gd-native-ttf \ --enable-hash=shared \ --enable-huge-code-pages \ --enable-inline-optimization \ --enable-intl=shared \ --enable-json=shared \ --enable-libxml \ --enable-mbregex \ --enable-mbstring=shared \ --enable-mysqlnd \ --enable-opcache=shared \ --enable-pcntl=shared \ --enable-pdo=shared \ --enable-phar=shared \ --enable-posix=shared \ --enable-re2c-cgoto \ --enable-session=shared \ --enable-shared \ --enable-simplexml=shared \ --enable-soap=shared \ --enable-sockets=shared \ --enable-tokenizer=shared \ --enable-xml \ --enable-xmlreader=shared \ --enable-xmlwriter=shared \ --enable-zip=shared \ --with-apxs2=%{_bindir}/apxs \ --with-bz2=shared,%{_prefix} \ --with-config-file-path=%{_sysconfdir} \ --with-config-file-scan-dir=%{_sysconfdir}/%{name}.lounge.d \ --with-curl=shared,%{_prefix} \ --with-freetype-dir=%{_prefix} \ --with-gd=shared,%{_prefix} \ --with-gettext=shared,%{_prefix} \ --with-iconv=shared \ --with-imap-ssl=%{_prefix} \ --with-imap=shared,%{_prefix} \ --with-kerberos=%{_prefix} \ --with-layout=GNU \ --with-libdir=%{_lib} \ --with-libedit=shared,%{_prefix} \ --with-libxml-dir=%{_prefix} \ --with-libzip=%{_prefix} \ --with-mysql-sock=%{_sharedstatedir}/mysql/mysql.sock \ --with-mysqli=shared,mysqlnd \ --with-openssl=shared,%{_prefix} \ --with-pcre-jit \ --with-pcre-regex=%{_prefix} \ --with-pdo-mysql=shared,mysqlnd \ --with-pic \ --with-system-ciphers \ --with-system-tzdata \ --with-tidy=shared,%{_prefix} \ --with-zlib \ --with-zlib-dir=%{_prefix} \ --disable-cgi \ --disable-dmalloc \ --disable-dtrace \ --disable-gcov \ --disable-gd-jis-conv \ --disable-ipv6 \ --disable-mysqlnd-compression-support \ --disable-opcache-file \ --disable-phpdbg \ --disable-rpath \ --disable-short-tags \ --disable-static \ --%{RH_LTO_CONFIGURE_OPTION} \ --%{RH_CONFIGURE_DEBUG_OPTION} if test $? != 0; then tail -500 config.log : configure failed exit 1 fi # build php with 'profile-guided-optimization' when enabled %if %pgo_build make %{?_smp_mflags} prof-gen /usr/bin/bash /rpmbuild/PHP-PGO/profile.sh --php_build $PWD make prof-clean make %{?_smp_mflags} prof-use %else make %{?_smp_mflags} %endif # run profiling code for debug builds %if %debug_build /usr/bin/bash /rpmbuild/PHP-PGO/profile.sh --php_build $PWD valgrind %endif # stop rpmbuild and output infos for usage of the temporary binaries %if %break_build cp %{SOURCE5} "$PWD/php-debug.ini" > /dev/null EXTENSION_DIR="$PWD/modules" sed -i "s@__EXTENSION_DIR__@$EXTENSION_DIR@" "$PWD/php-debug.ini" echo -e "\n\n\e[1;31mBREAK-BUILD ENABLED\e[0m\n\n\e[1;32mPLEASE RUN:\e[0m export PHP_INI_SCAN_DIR=$PWD\n\e[1;32mCLI-BINARY:\e[0m $PWD/sapi/cli/php\n\e[1;32mAPACHE-MODULE:\e[0m $PWD/libs/libphp7.so\n\e[1;32mWEBSERVER: \e[0m http://localhost:9000\n" /usr/bin/bash /rpmbuild/PHP-PGO/profile.sh --php_build $PWD --webserveronly 1 exit 1 %endif # run test-suite when enabled %if %runselftest ulimit -s 32712 unset TZ LANG LC_ALL export LANG="C" TEST_PHP_EXECUTABLE="$PWD/sapi/cli/php" EXTENSION_DIR="$PWD/modules" PHP_INI_SCAN_DIR="$PWD/modules" PHP_INI_PATH="$PWD/tmp-php.ini" NO_INTERACTION=1 MALLOC_CHECK_=2 MYSQL_TEST_HOST="localhost" MYSQL_TEST_SOCKET="/var/lib/mysql/mysql.sock" MYSQL_TEST_PORT="3306" MYSQL_TEST_USER="php_autotest" MYSQL_TEST_PASSWD="php_autotest" MYSQL_TEST_DB="php_autotest" PDO_MYSQL_TEST_DSN="mysql:host=localhost;dbname=php_autotest" PDO_MYSQL_TEST_SOCKET="/var/lib/mysql/mysql.sock" PDO_MYSQL_TEST_USER="php_autotest" PDO_MYSQL_TEST_PASS="php_autotest" PDO_MYSQL_TEST_ENGINE="MyISAM" cp %{SOURCE5} "$PWD/tmp-php.ini" > /dev/null sed -i "s@__EXTENSION_DIR__@$EXTENSION_DIR@" "$PWD/tmp-php.ini" $TEST_PHP_EXECUTABLE -n -c $PWD/tmp-php.ini $PWD/run-tests.php -n -c $PWD/tmp-php.ini find /var/www/sessiondata -user builduser -delete %endif %install install -m 0755 -d %{buildroot}%{_sysconfdir} %{buildroot}%{_sysconfdir}/httpd/conf %{buildroot}%{_libdir}/httpd/modules %{buildroot}%{_datadir}/%{name} install -m 0644 %{SOURCE1} %{buildroot}%{_datarootdir}/%{name}/zendoptimizer.php install -m 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/httpd/conf/httpd.conf INSTALL_ROOT=%{buildroot} make install # remove unpackaged files rm -rf %{buildroot}%{extension_dir}/*.a %{buildroot}%{_bindir}/{phptar} %{buildroot}%{_datadir}/pear %{buildroot}%{_libdir}/libphp%{phpver}.la %{buildroot}%{_mandir} %{buildroot}%{_sysconfdir}/httpd %{buildroot}%{_bindir}/phar %{buildroot}%{_bindir}/phar.phar # strip binaries for non-debug builds %if %RH_STRIP_BINARY strip -s --strip-unneeded %{buildroot}%{_libdir}/httpd/modules/libphp%{phpver}.so %{buildroot}%{extension_dir}/*.so %{buildroot}%{_bindir}/php %endif %files %attr(755,root,root) %{_libdir}/httpd/modules/libphp%{phpver}.so %files common %dir %{_datadir}/%{name} %dir %{_libdir}/%{name} %dir %{extension_dir} %files bcmath %{extension_dir}/bcmath.so %files bz2 %{extension_dir}/bz2.so %files calendar %{extension_dir}/calendar.so %files cli %{_bindir}/php %files ctype %{extension_dir}/ctype.so %files curl %{extension_dir}/curl.so %files devel %{_bindir}/php-config %{_bindir}/phpize %{_includedir}/php %{_libdir}/%{name}/build %files dom %{extension_dir}/dom.so %files exif %{extension_dir}/exif.so %files fileinfo %{extension_dir}/fileinfo.so %files gd %{extension_dir}/gd.so %files gettext %{extension_dir}/gettext.so %files hash %{extension_dir}/hash.so %files iconv %{extension_dir}/iconv.so %files imap %{extension_dir}/imap.so %files intl %{extension_dir}/intl.so %files json %{extension_dir}/json.so %files mbstring %{extension_dir}/mbstring.so %files mysqli %{extension_dir}/mysqli.so %files opcache %{extension_dir}/opcache.so %{_datarootdir}/%{name}/zendoptimizer.php %files openssl %{extension_dir}/openssl.so %files pcntl %{extension_dir}/pcntl.so %files pdo %{extension_dir}/pdo.so %{extension_dir}/pdo_mysql.so %files phar %{extension_dir}/phar.so %files posix %{extension_dir}/posix.so %files readline %{extension_dir}/readline.so %files session %{extension_dir}/session.so %files simplexml %{extension_dir}/simplexml.so %files soap %{extension_dir}/soap.so %files sockets %{extension_dir}/sockets.so %files tidy %{extension_dir}/tidy.so %files tokenizer %{extension_dir}/tokenizer.so %files xmlreader %{extension_dir}/xmlreader.so %files xmlwriter %{extension_dir}/xmlwriter.so %files zip %{extension_dir}/zip.so %changelog * Tue Mar 14 2017 Reindl Harald <h.reindl@thelounge.net> - update to PHP 7.0.17