Bug #66842 [Com]: make install fails -> cp: cannot stat sapi/cli/php.1: No such file
| From: | shal at semantic-fidelity dot org | Date: | Sun, 10 Aug 2014 12:09:37 +0000 |
| Subject: | Bug #66842 [Com]: make install fails -> cp: cannot stat sapi/cli/php.1: No such file | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-187064@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=66842&edit=1
ID: 66842
Comment by: shal at semantic-fidelity dot org
Reported by: lists at iezzi dot ch
Summary: make install fails -> cp: cannot stat
sapi/cli/php.1: No such file
Status: Open
Type: Bug
Package: Compile Failure
Operating System: Debian Wheezy 7.4
PHP Version: 5.5.10
Block user comment: N
Private report: N
New Comment:
I've encountered similar issue with Debian GNU/Linux 7.5, php 5.4.31 when executing
make clean # without having proceeded to compilation even once
before executing
make && make install
Previous Comments:
------------------------------------------------------------------------
[2014-03-13 21:39:39] barry dot jaspan at acquia dot com
Confirmed that the problem is with make clean. We build cli and fpm sapis, which I guess requires
that we run configure multiple times. Our process is: configure, make clean, make <target>,
make install; configure, make clean, make <other target>, make install.
We now wrap these commands around make clean, which solves the problem:
find . -name '*.1' > /tmp/php-1.lst.$$
tar -cf /tmp/php-1.tar.$$ -T /tmp/php-1.lst.$$
make clean
tar -xf /tmp/php-1.tar.$$
rm /tmp/php-1.tar.$$ /tmp/php-1.lst.$$
This is definitely a regression in PHP 5.5.10 and presumably should be fixed.
------------------------------------------------------------------------
[2014-03-11 07:42:26] lists at iezzi dot ch
> Is there any possibility "make clean" called somewhere in the middle of a build
> process? Just faced it myself.
Great! That did the trick.
During my last 13 years of compiling PHP I always run "make clean" after
"./configure", right before "make". I personally don't care if I need to
change this order in my compilation scripts. I'd prefer if PHP would follow the GNU coding
standards, though.
Thanks a lot for your advice!
------------------------------------------------------------------------
[2014-03-11 07:00:03] adushechkin at parallels dot com
Is there any possibility "make clean" called somewhere in the middle of a build process?
Just faced it myself.
There is an interesting change in 5.5.10:
diff -ruN php-5.5.9/Makefile.global php-5.5.10/Makefile.global
--- php-5.5.9/Makefile.global 2014-02-05 17:00:36.000000000 +0700
+++ php-5.5.10/Makefile.global 2014-03-05 17:18:00.000000000 +0700
@@ -115,6 +115,7 @@
find . -name \*.la -o -name \*.a | xargs rm -f
find . -name \*.so | xargs rm -f
find . -name .libs -a -type d|xargs rm -rf
+ find . -name \*.1 | xargs rm -f
rm -f libphp$(PHP_MAJOR_VERSION).la $(SAPI_CLI_PATH) $(SAPI_CGI_PATH) $(SAPI_MILTER_PATH)
$(SAPI_LITESPEED_P
ATH) $(SAPI_FPM_PATH) $(OVERALL_TARGET) modules/* libs/*
distclean: clean
Seems that *.1 files are generated during "./configure" stage, but deleted during
"make clean", which is somewhat against GNU coding standards (see https://www.gnu.org/prep/standards/html_node/Standard-Targets.html).
I suppose it's better to remove them in "distclean" since make can't regenerate
them if needed.
------------------------------------------------------------------------
[2014-03-08 00:09:45] barry dot jaspan at acquia dot com
Reproduced on Ubuntu 10.04 and 12.04 with PHP 5.5.10.
+ wget http://us1.php.net/distributions/php-5.5.10.tar.bz2
+ ./buildconf --force
Forcing buildconf
Removing configure caches
buildconf: checking installation...
buildconf: autoconf version 2.65 (ok)
rebuilding aclocal.m4
rebuilding configure
rebuilding main/php_config.h.in
+ ./configure --enable-cli --with-config-file-path=/usr/local/php5.5/etc/cli
--with-config-file-scan-dir=/usr/local/php5.5/etc/cli/conf.d --prefix=/usr/local/php5.5
--enable-bcmath --with-gmp --with-bz2=/usr --enable-calendar --with-curl --enable-dba --with-db4
--enable-exif --with-gd --with-jpeg-dir=/usr/lib --with-png-dir=/usr/lib --with-freetype-dir=/usr
--enable-ftp --with-gettext --with-imap --with-kerberos --with-imap-ssl --enable-inline-optimization
--with-ldap --with-ldap-sasl --with-openssl=/usr --enable-mbstring --enable-mbregex --with-mcrypt
--with-mhash --with-mssql --with-mysql --with-mysql-sock=/var/run/mysqld/mysqld.sock
--with-mysqli=/usr/bin/mysql_config --enable-pcntl --with-pcre-regex --with-pgsql --with-pdo-mysql
--with-pdo-pgsql --with-pdo-dblib --with-pspell=/usr --with-readline --enable-shmop --enable-soap
--enable-sockets --enable-sysvsem --enable-sysvshm --enable-sysvmsg --with-tidy --with-t1lib=/usr
--enable-wddx --enable-xml --with-xmlrpc --with-xs!
l --with-xpm-dir=/usr --enable-zip --with-zlib --with-libdir=/lib
... much output removed ...
Build complete.
Don't forget to run 'make test'.
+ make install
Installing shared extensions: /usr/local/php5.5/lib/php/extensions/no-debug-non-zts-20121212/
Installing PHP CLI binary: /usr/local/php5.5/bin/
Installing PHP CLI man page: /usr/local/php5.5/php/man/man1/
cp: cannot stat `sapi/cli/php.1': No such file or directory
make: *** [install-cli] Error 1
------------------------------------------------------------------------
[2014-03-07 10:19:36] lists at iezzi dot ch
some additional information:
--snip--
# make --version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program built for x86_64-pc-linux-gnu
--snip--
--snip--
# gcc --version
gcc (Debian 4.7.2-5) 4.7.2
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
--snip--
--snip--
# ld --version
GNU ld (GNU Binutils for Debian) 2.22
Copyright 2011 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.
--snip--
------------------------------------------------------------------------
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=66842
--
Edit this bug report at https://bugs.php.net/bug.php?id=66842&edit=1