Edit report at https://bugs.php.net/bug.php?id=75115&edit=1
ID: 75115
Comment by: spam2 at rhsoft dot net
Reported by: spam2 at rhsoft dot net
Summary: make: *** No rule to make target 'prof-gen'. Stop.
Status: Feedback
Type: Bug
Package: *Compile Issues
PHP Version: 7.1Git-2017-08-24 (Git)
Block user comment: N
Private report: N
New Comment:
@remi
-touch configure.in
+touch configure.ac
very interesting since this below is from the Fedora specfile you maintain
(https://kojipkgs.fedoraproject.org//packages/php/7.1.10/1.fc26/src/php-7.1.10-1.fc26.src.rpm) and
contains "touch configure.in" too
%build
# aclocal workaround - to be improved
cat aclocal --print-ac-dir/{libtool,ltoptions,ltsugar,ltversion,lt~obsolete}.m4
>>aclocal.m4
# Force use of system libtool:
libtoolize --force --copy
cat aclocal --print-ac-dir/{libtool,ltoptions,ltsugar,ltversion,lt~obsolete}.m4
>build/libtool.m4
# Regenerate configure scripts (patches change config.m4's)
touch configure.in
./buildconf --force
-------- Weitergeleitete Nachricht --------
Betreff: Re: [PHP-DEV] 7.2.0 beta 3: libtool: Version mismatch error. This is libtool 2.4.6, but the
libtool: definition of this LT_INIT
Datum: Mon, 21 Aug 2017 09:53:20 +0200
Von: Remi Collet <remi@fedoraproject.org>
An: internals@lists.php.net
Le 20/08/2017 à 20:01, lists@rhsoft.net a écrit :
> i saw exactly the same "You should recreate aclocal.m4 with macros from
> libtool 2.4.6" with the first alpha tarball while all the time HEAD, 7.0
> and 7.1 are working fine with the same build-spec
I have build all alpha/beta of 7.2.0 without any issue
But:
-touch configure.in
+touch configure.ac
Previous Comments:
------------------------------------------------------------------------
[2017-09-05 08:20:44] spam2 at rhsoft dot net
and you did try to reproduce it with my build options as you can see them in the output of rpmbuild
in this bugreport or just with some generic stuff?
[builduser@testserver:~]$ cat /rpmbuild/SPECS/php.spec
Version: 7.1.10
# 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 1
%global pgo_build 1
%global break_build 0
%global debug_build 0
%global extension_dir %{_libdir}/%{name}/modules
%global silent_build 1
%if %{?_with_production:1}%{!?_with_production:0}
%global mtune native
%global rpmsuffix native
%global build_native_release 1
%global optflags $(sed "s/sandybridge/native/g" <<< "%{optflags}")
%else
%global mtune sandybridge
%global rpmsuffix sandybridge
%global build_native_release 0
%endif
%if %php_debug_build
%global _include_minidebuginfo 1
%global RH_CONFIGURE_DEBUG_OPTION enable-debug
%global RH_STRIP_BINARY 0
%global pgo_build 0
%else
%if %debug_build
%global _include_minidebuginfo 1
%global RH_CONFIGURE_DEBUG_OPTION enable-debug
%global RH_STRIP_BINARY 0
%global pgo_build 0
%else
%global _include_minidebuginfo 0
%global RH_CONFIGURE_DEBUG_OPTION disable-debug
%global RH_STRIP_BINARY 1
%endif
%endif
Summary: PHP - CFLAGS: '-m64 -O3 -mfpmath=sse -mavx -msse2avx -march=%{mtune}
-mtune=%{mtune} -D_FORTIFY_SOURCE=2 -fdevirtualize-speculatively -fgraphite-identity -fipa-pta
-fira-loop-pressure -fivopts -floop-block -floop-unroll-and-jam -fmerge-all-constants
-fomit-frame-pointer -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
-fuse-ld=gold -fuse-linker-plugin -fprofile-use -Wformat -Werror=format-security
-Wno-stack-protector -Wstrict-aliasing -Wa,--noexecstack'
Name: php
Release: 1.%{build_native_release}.%{?dist}.%{rpmsuffix}
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-70-realpath-cache-openbasedir.patch
Patch2: php-71-realpath-cache-openbasedir.patch
Patch3: php-70-systzdata.patch
Patch4: php-71-systzdata.patch
BuildRequires: autoconf, automake, binutils, bison, bzip2-devel, curl-devel, cyrus-sasl-devel,
freetype-devel, gcc-c++
BuildRequires: gd-devel, gettext-devel, httpd-devel, krb5-devel, libc-client-devel, libedit-devel,
libicu-devel
BuildRequires: libjpeg-turbo-devel, libpng-devel, libstdc++-devel, libtidy-devel,
libtool-ltdl-devel, libxml2-devel
BuildRequires: libzip-devel, openssl-devel, pam-devel, pcre-devel, perl, postfix, re2c, 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 xml
Summary: xml
%package xmlreader
Summary: xmlreader
%package xmlwriter
Summary: xmlwriter
%package zip
Summary: zip
%package zlib
Summary: zlib
# 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 xml
%description xmlreader
%description xmlwriter
%description zip
%description zlib
%prep
export LANG=C
%setup -q -n php-%{version}
%if "%{version}" >= "7.1.0"
%patch2 -p1 -b .realpath-71
%patch4 -p1 -b .systzdata-71
%else
%patch1 -p1 -b .realpath-70
%patch3 -p1 -b .systzdata-70
%endif
# rebuild 'data_file.c' from current system libmagic starting with PHP 7.2 and when
/usr/bin/php is installed
%if "%{version}" >= "7.2.0"
if [ -f /usr/bin/php ]; then
/usr/bin/php ext/fileinfo/create_data_file.php /usr/share/misc/magic.mgc >
ext/fileinfo/data_file.c
fi
%endif
# generate zend-vm when /usr/bin/php is installed
%if "%{version}" >= "7.2.0"
if [ -f /usr/bin/php ]; then
/usr/bin/php Zend/zend_vm_gen.php --with-vm-kind=HYBRID
fi
%else
if [ -f /usr/bin/php ]; then
/usr/bin/php Zend/zend_vm_gen.php --with-vm-kind=CALL
fi
%endif
# 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
export LANG=C
# 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
# silence output
%if %silent_build
QUIET_FLAG="--quiet"
%else
QUIET_FLAG=""
%endif
# compiler and linker flags
%if %debug_build
export CFLAGS="-m64 -O0 -g3"
%else
%if %php_debug_build
export CFLAGS="-m64 -O0 -g3"
%else
%if %pgo_build
export CFLAGS="-m64 -O3 -mfpmath=sse -mavx -msse2avx -march=%{mtune} -mtune=%{mtune}
-D_FORTIFY_SOURCE=2 -fdevirtualize-speculatively -fgraphite-identity -fipa-pta -fira-loop-pressure
-fivopts -floop-block -floop-unroll-and-jam -fmerge-all-constants -fomit-frame-pointer
-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
-fuse-ld=gold -fuse-linker-plugin -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 -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 -g0 -minline-all-stringops -pipe
-fuse-ld=gold -fuse-linker-plugin -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_FLAG \
--host=x86_64-redhat-linux \
--build=x86_64-redhat-linux \
--target=x86_64-redhat-linux \
--prefix=%{_prefix} \
--program-prefix= \
--libdir=%{_libdir}/%{name} \
--disable-all \
--disable-dependency-tracking \
--enable-bcmath=shared \
--enable-calendar=shared \
--enable-cli \
--enable-ctype=shared \
--enable-dom=shared \
--enable-exif=shared \
--enable-fileinfo=shared \
--enable-filter \
--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=shared \
--enable-opcache=shared \
--enable-opcache-jit \
--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=shared \
--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=shared \
--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 \
--enable-gcc-global-regs \
--%{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 $QUIET_FLAG %{?_smp_mflags} prof-gen
/usr/bin/bash /rpmbuild/PHP-PGO/profile.sh --php_build $PWD
make $QUIET_FLAG prof-clean
make $QUIET_FLAG %{?_smp_mflags} prof-use
%else
make $QUIET_FLAG %{?_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:9001\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
export LANG=C
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
%{extension_dir}/mysqlnd.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 xml
%{extension_dir}/xml.so
%files xmlreader
%{extension_dir}/xmlreader.so
%files xmlwriter
%{extension_dir}/xmlwriter.so
%files zip
%{extension_dir}/zip.so
%files zlib
%{extension_dir}/zlib.so
%changelog
* Thu Aug 31 2017 Reindl Harald <h.reindl@thelounge.net>
- update to PHP 7.0.23 / 7.1.9
------------------------------------------------------------------------
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=75115
--
Edit this bug report at https://bugs.php.net/bug.php?id=75115&edit=1