Bug #73609 [Com]: "run-tests.php" don't respect configuration

From: Date: Sun, 30 Apr 2017 19:44:24 +0000
Subject: Bug #73609 [Com]: "run-tests.php" don't respect configuration
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-208876@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=73609&edit=1 ID: 73609 Comment by: spam2 at rhsoft dot net Reported by: spam2 at rhsoft dot net Summary: "run-tests.php" don't respect configuration Status: Not a bug Type: Bug Package: Dynamic loading Operating System: Linux PHP Version: 7.0.14 Assigned To: bukka Block user comment: N Private report: N New Comment: What do you try to tell me with "it's not supported" obviously it is besides the test suite since we are running builds with openssl.so as shared extension for many months in production with php 7.0 and 7.1 Previous Comments: ------------------------------------------------------------------------ [2017-04-30 19:10:40] bukka@php.net Sorry for the late reply (forgot about this one...). Ah I see what you mean. That's not supported (openssl as shared extension). I will close this one as it's not a bug and and the comments are a bit confusing. I think it will be best to open a new feature request as I have already seen a similar request and already closed it as not a bug. So it probably makes sense to have a feature / change request for it as it might be useful for some users. Please open it and clarify that you want to be able to compile openssl ext as a shared extension. Thanks ------------------------------------------------------------------------ [2017-03-18 10:41:30] spam2 at rhsoft dot net 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 ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=73609 -- Edit this bug report at https://bugs.php.net/bug.php?id=73609&edit=1

« previous php.bugs (#208876) next »