Bug #75115 [Com]: make: *** No rule to make target 'prof-gen'. Stop.
| From: | spam2 at rhsoft dot net | Date: | Tue, 05 Sep 2017 08:21:16 +0000 |
| Subject: | Bug #75115 [Com]: make: *** No rule to make target 'prof-gen'. Stop. | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-210953@lists.php.net to get a copy of this message | ||
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:
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
Previous Comments:
------------------------------------------------------------------------
[2017-09-05 06:22:35] remi@php.net
I definitively cannot reproduced.
I have recently built 7.0.23, 7.1.9, 7.2.0RC1.
No issue.
------------------------------------------------------------------------
[2017-08-27 18:48:00] spam2 at rhsoft dot net
fact is with PHP 7.1 snapshots when i revert your proposed change in the block below from
"touch configure.ac" back to "touch configure.in" it builds as all the years
before as well as it did a long time for 7.2.x without "libtool: Version mismatch error. This
is libtool 2.4.6" errors
# 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.ac
./buildconf --force
------------------------------------------------------------------------
[2017-08-27 17:29:59] spam2 at rhsoft dot net
this Bugreport is not about 7.1.9RC1-i included the part of the spec file dealing with libtool as
well as a link to the used tarball, i build php for many years and that dance started recently
------------------------------------------------------------------------
[2017-08-27 15:25:27] remi@php.net
Sorry but I cannot reproduce.
I have built all PHP versions as RPM since 5.0.0, including recent RC (7.1.9RC1, 7.0.23RC1,
7.2.0beta2, and 7.2.0-dev / cc577749a8c95e6f15f5a859961a995a82828c8e) using mostly the same spec
file.
------------------------------------------------------------------------
[2017-08-25 21:12:44] cmb@php.net
> [â¦] which was suggested by Remi on the internals list where I
> complained that 7.2 fails with libtool version errors, [â¦]
For reference: <https://marc.info/?t=150325934500001&r=1&w=2>.
Remi, can you have a look at this issue, please.
------------------------------------------------------------------------
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