php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #35888 make install --> cp: sapi/cli/php no such file or directory
Submitted: 2006-01-03 23:56 UTC Modified: 2006-03-24 19:41 UTC
From: scott at abcoa dot com Assigned:
Status: Not a bug Package: Compile Failure
PHP Version: 5CVS-2005-12-05 (snap) OS: AIX 5.2
Private report: No CVE-ID: None
View Add Comment Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
You can add a comment by following this link or if you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: scott at abcoa dot com
New email:
PHP Version: OS:

 

 [2006-01-03 23:56 UTC] scott at abcoa dot com
Description:
------------
Got a make install failure.  The configure command is 

--snip--
./configure --with-apxs2=../../apache2/bin/apxs --without-mysql --with-unixODBC --with-openssl --with-curl --disable-xml --disable-libxml --disable-dom --disable-simplexml --without-pear --enable-track-vars --enable-ftp --enable-sockets
--snip--

--snip--
#make install
        echo '\
\
Installing PHP SAPI module:       apache2handler
/usr/local/apache2/build/instdso.sh SH_LIBTOOL='/usr/local/apache2/build/libtool' libphp5.la /usr/local/apache2/modules
/usr/local/apache2/build/libtool --mode=install cp libphp5.la /usr/local/apache2/modules/
cp .libs/libphp5.a /usr/local/apache2/modules/libphp5.a
cp .libs/libphp5.lai /usr/local/apache2/modules/libphp5.la
libtool: install: warning: remember to run `libtool --finish /usr/local/src/php-5.1.1/libs'
chmod 755 /usr/local/apache2/modules/libphp5.so
[activating module `php5' in /usr/local/apache2/conf/httpd.conf]
Installing PHP CLI binary:        /usr/local/bin/
cp: sapi/cli/php: No such file or directory
make: The error code from the last command is 1.

Stop.
#
--snip--

Result from the ls -la command...

--snip--
#ls -la sapi/cli/
total 264
drwxr-xr-x   3 1003     1003           4096 Jan  3 16:14 .
drwxr-xr-x  22 1003     1003           4096 Nov 27 15:19 ..
drwxr-xr-x   2 root     system          256 Jan  3 16:14 .libs
-rw-r--r--   1 1003     1003             56 Aug 11 16:45 CREDITS
-rw-r--r--   1 1003     1003            436 Oct 13 06:02 Makefile.frag
-rw-r--r--   1 1003     1003            845 May 29 2003  README
-rw-r--r--   1 1003     1003              7 Mar 30 2003  TODO
-rw-r--r--   1 1003     1003             56 Jan 13 2004  cli_win32.c
-rw-r--r--   1 1003     1003           2158 Jul  7 2005  config.m4
-rw-r--r--   1 1003     1003            551 May 14 2005  config.w32
-rw-r--r--   1 1003     1003           4235 Aug  3 07:12 getopt.c
-rw-r--r--   1 root     system          312 Jan  3 16:14 getopt.lo
-rw-r--r--   1 root     system         9118 Jan  3 15:35 php.1
-rw-r--r--   1 1003     1003           9126 Aug  3 07:12 php.1.in
-rw-r--r--   1 1003     1003          32086 Nov 17 03:37 php_cli.c
-rw-r--r--   1 root     system          314 Jan  3 16:14 php_cli.lo
-rw-r--r--   1 1003     1003          10787 Nov 17 03:37 php_cli_readline.c
-rw-r--r--   1 1003     1003           1371 Aug  3 07:12 php_cli_readline.h
-rw-r--r--   1 root     system          332 Jan  3 16:14 php_cli_readline.lo
-rw-r--r--   1 1003     1003           1797 Aug  3 07:12 php_getopt.h
#
--snip--


Reproduce code:
---------------
Do the usual configure, make, make install command then the error will popup.

Expected result:
----------------
Should be able to compile.

Actual result:
--------------
Compile failure.

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2006-01-04 16:32 UTC] sfletcher at abcoa dot com
Recompiled with the latest CVS snapshot this morning and still get the same compile error.  Noticed the wording in the error message is a bit different now.

--snip--
Installing PHP CLI binary:        /usr/local/bin/
cp: sapi/cli/php: A file or directory in the path name does not exist.
make: 1254-004 The error code from the last command is 1.
--snip--

Also, please disregard the original configure command in the first posting as the never ending addition of the new XML extensions give me the griefs.  The new configure command is 

--snip--
./configure --with-apxs2=../../apache2/bin/apxs --disable-all --with-unixODBC --with-openssl --with-curl --with-curlwrappers --enable-spl --enable-session --enable-track-vars --enable-ftp --enable-sockets
--snip--
 [2006-01-05 00:54 UTC] sniper@php.net
Does this configure line work any better:

# rm config.cache ; ./configure --disable-all --disable-cgi 
# make clean && make
# sapi/cli/php -v

What compiler are you using? If you're using gcc, have you installed GNU binutils and do you have the paths set properly?

 [2006-01-05 15:21 UTC] scott at abcoa dot com
Nope, still the same failure with the "./configure --disable-all --disable-cgi" command.  Yes, I'm using the GNU GCC.  Yea, the GNU Binutils was install.  The configure output and the make output doesn't look like it's using the Binutils but I can't tell by looking at it.  Normally, I don't need the Binutils.    As for the path option, it sure look like it is set correctly.

--snip--
-rw-r--r--   1 root     system           56 Aug 11 18:36 CREDITS
-rw-r--r--   1 root     system          436 Oct 13 06:40 Makefile.frag
-rw-r--r--   1 1000     1000            845 Jun 23 2003  README
-rw-r--r--   1 1000     1000              7 Jun 23 2003  TODO
-rw-r--r--   1 1000     1000             56 Jan 13 2004  cli_win32.c
-rw-r--r--   1 root     system         2158 Jul 07 2005  config.m4
-rw-r--r--   1 root     system          551 May 14 2005  config.w32
-rw-r--r--   1 root     system         4239 Jan 01 08:30 getopt.c
-rw-r--r--   1 root     system          306 Jan 05 08:56 getopt.lo
-rw-r--r--   1 root     system        71094 Jan 05 08:56 getopt.o
-rw-r--r--   1 root     system         8188 Jan 05 08:45 php.1
-rw-r--r--   1 root     system         8189 Jan 01 08:30 php.1.in
-rw-r--r--   1 root     system        34609 Jan 01 08:30 php_cli.c
-rw-r--r--   1 root     system          308 Jan 05 08:56 php_cli.lo
-rw-r--r--   1 root     system       123930 Jan 05 08:56 php_cli.o
-rw-r--r--   1 root     system        10879 Jan 01 08:30 php_cli_readline.c
-rw-r--r--   1 root     system         1375 Jan 01 08:30 php_cli_readline.h
-rw-r--r--   1 root     system          326 Jan 05 08:56 php_cli_readline.lo
-rw-r--r--   1 root     system        67085 Jan 05 08:56 php_cli_readline.o
-rw-r--r--   1 root     system         1801 Jan 01 08:30 php_getopt.h
--snip--
 [2006-01-05 21:39 UTC] tony2001@php.net
Please paste the output of the following commands: 
`gcc --version`
`ld --version`
 [2006-01-05 23:38 UTC] scott at abcoa dot com
I think I understand the problem now...

The BUILD_CLI variable in the Makefile is the issue here.

With GNU GCC & AIX native ld (PATH=/usr/bin:/usr/local/bin),  output from the make command is ..

--snip--
echo '\ \
--snip--

right after the compiling of the last file, "main/internal_functions_cli.c" which explained why the "sapi/cli/php" wasn't generated.  Don't know why the output is a blank.  

However, GNU GCC & GNU ld (PATH=/usr/local/bin:/usr/bin), the output from the make command is ..

--snip--
echo '#! .' > php.sym && echo >>php.sym && nm -BCpg `echo ext/date/php_date.lo ext/date/lib/astro.lo ext/date/lib/dow.lo ext/date/lib/parse_date.lo ext/date/lib/parse_tz.lo ext/date/lib/timelib.lo ext/date/lib/tm2unixtime.lo ext/date/lib/unixtime2tm.lo ext/reflection/php_reflection.lo regex/regcomp.lo regex/regexec.lo regex/regerror.lo regex/regfree.lo ext/standard/array.lo ext/standard/base64.lo ext/standard/basic_functions.lo ext/standard/browscap.lo ext/standard/crc32.lo ext/standard/crypt.lo ext/standard/cyr_convert.lo ext/standard/datetime.lo ext/standard/dir.lo ext/standard/dl.lo ext/standard/dns.lo ext/standard/exec.lo ext/standard/file.lo ext/standard/filestat.lo ext/standard/flock_compat.lo ext/standard/formatted_print.lo ext/standard/fsock.lo ext/standard/head.lo ext/standard/html.lo ext/standard/image.lo ext/standard/info.lo ext/standard/iptc.lo ext/standard/lcg.lo ext/standard/link.lo ext/standard/mail.lo ext/standard/math.lo ext/standard/md5.lo ext/standard/metaphone.lo ext/standard/microtime.lo ext/standard/pack.lo ext/standard/pageinfo.lo ext/standard/quot_print.lo ext/standard/rand.lo ext/standard/reg.lo ext/standard/soundex.lo ext/standard/string.lo ext/standard/scanf.lo ext/standard/syslog.lo ext/standard/type.lo ext/standard/uniqid.lo ext/standard/url.lo ext/standard/url_scanner.lo ext/standard/var.lo ext/standard/versioning.lo ext/standard/assert.lo ext/standard/strnatcmp.lo ext/standard/levenshtein.lo ext/standard/incomplete_class.lo ext/standard/url_scanner_ex.lo ext/standard/ftp_fopen_wrapper.lo ext/standard/http_fopen_wrapper.lo ext/standard/php_fopen_wrapper.lo ext/standard/credits.lo ext/standard/css.lo ext/standard/var_unserializer.lo ext/standard/ftok.lo ext/standard/sha1.lo ext/standard/user_filters.lo ext/standard/uuencode.lo ext/standard/filters.lo ext/standard/proc_open.lo ext/standard/sunfuncs.lo ext/standard/streamsfuncs.lo ext/standard/http.lo TSRM/TSRM.lo TSRM/tsrm_strtok_r.lo TSRM/tsrm_virtual_cwd.lo main/main.lo main/snprintf.lo main/spprintf.lo main/php_sprintf.lo main/safe_mode.lo main/fopen_wrappers.lo main/alloca.lo main/php_scandir.lo main/php_ini.lo main/SAPI.lo main/rfc1867.lo main/php_content_types.lo main/strlcpy.lo main/strlcat.lo main/mergesort.lo main/reentrancy.lo main/php_variables.lo main/php_ticks.lo main/network.lo main/php_open_temporary_file.lo main/php_logos.lo main/output.lo main/streams/streams.lo main/streams/cast.lo main/streams/memory.lo main/streams/filter.lo main/streams/plain_wrapper.lo main/streams/userspace.lo main/streams/transports.lo main/streams/xp_socket.lo main/streams/mmap.lo Zend/zend_language_parser.lo Zend/zend_language_scanner.lo Zend/zend_ini_parser.lo Zend/zend_ini_scanner.lo Zend/zend_alloc.lo Zend/zend_compile.lo Zend/zend_constants.lo Zend/zend_dynamic_array.lo Zend/zend_execute_API.lo Zend/zend_highlight.lo Zend/zend_llist.lo Zend/zend_opcode.lo Zend/zend_operators.lo Zend/zend_ptr_stack.lo Zend/zend_stack.lo Zend/zend_variables.lo Zend/zend.lo Zend/zend_API.lo Zend/zend_extensions.lo Zend/zend_hash.lo Zend/zend_list.lo Zend/zend_indent.lo Zend/zend_builtin_functions.lo Zend/zend_sprintf.lo Zend/zend_ini.lo Zend/zend_qsort.lo Zend/zend_multibyte.lo Zend/zend_ts_hash.lo Zend/zend_stream.lo Zend/zend_iterators.lo Zend/zend_interfaces.lo Zend/zend_exceptions.lo Zend/zend_strtod.lo Zend/zend_objects.lo Zend/zend_object_handlers.lo Zend/zend_objects_API.lo Zend/zend_mm.lo Zend/zend_default_classes.lo Zend/zend_execute.lo sapi/cli/php_cli.lo sapi/cli/php_cli_readline.lo sapi/cli/getopt.lo main/internal_functions_cli.lo | sed 's/\([A-Za-z0-9_]*\)\.lo/.libs\/\1.o/g'` | nawk '{ if ((($2 == "T") || ($2 == "D") || ($2 == "B")) && (substr($3,1,1) != ".")) { print $3 } }' | sort -u >> php.sym && /bin/sh /usr/local/src/php5.1-200601041330/libtool --silent --preserve-dup-deps --mode=link gcc -export-dynamic -g -O2    -Wl,-brtl -Wl,-bE:php.sym  ext/date/php_date.lo ext/date/lib/astro.lo ext/date/lib/dow.lo ext/date/lib/parse_date.lo ext/date/lib/parse_tz.lo ext/date/lib/timelib.lo ext/date/lib/tm2unixtime.lo ext/date/lib/unixtime2tm.lo ext/reflection/php_reflection.lo regex/regcomp.lo regex/regexec.lo regex/regerror.lo regex/regfree.lo ext/standard/array.lo ext/standard/base64.lo ext/standard/basic_functions.lo ext/standard/browscap.lo ext/standard/crc32.lo ext/standard/crypt.lo ext/standard/cyr_convert.lo ext/standard/datetime.lo ext/standard/dir.lo ext/standard/dl.lo ext/standard/dns.lo ext/standard/exec.lo ext/standard/file.lo ext/standard/filestat.lo ext/standard/flock_compat.lo ext/standard/formatted_print.lo ext/standard/fsock.lo ext/standard/head.lo ext/standard/html.lo ext/standard/image.lo ext/standard/info.lo ext/standard/iptc.lo ext/standard/lcg.lo ext/standard/link.lo ext/standard/mail.lo ext/standard/math.lo ext/standard/md5.lo ext/standard/metaphone.lo ext/standard/microtime.lo ext/standard/pack.lo ext/standard/pageinfo.lo ext/standard/quot_print.lo ext/standard/rand.lo ext/standard/reg.lo ext/standard/soundex.lo ext/standard/string.lo ext/standard/scanf.lo ext/standard/syslog.lo ext/standard/type.lo ext/standard/uniqid.lo ext/standard/url.lo ext/standard/url_scanner.lo ext/standard/var.lo ext/standard/versioning.lo ext/standard/assert.lo ext/standard/strnatcmp.lo ext/standard/levenshtein.lo ext/standard/incomplete_class.lo ext/standard/url_scanner_ex.lo ext/standard/ftp_fopen_wrapper.lo ext/standard/http_fopen_wrapper.lo ext/standard/php_fopen_wrapper.lo ext/standard/credits.lo ext/standard/css.lo ext/standard/var_unserializer.lo ext/standard/ftok.lo ext/standard/sha1.lo ext/standard/user_filters.lo ext/standard/uuencode.lo ext/standard/filters.lo ext/standard/proc_open.lo ext/standard/sunfuncs.lo ext/standard/streamsfuncs.lo ext/standard/http.lo TSRM/TSRM.lo TSRM/tsrm_strtok_r.lo TSRM/tsrm_virtual_cwd.lo main/main.lo main/snprintf.lo main/spprintf.lo main/php_sprintf.lo main/safe_mode.lo main/fopen_wrappers.lo main/alloca.lo main/php_scandir.lo main/php_ini.lo main/SAPI.lo main/rfc1867.lo main/php_content_types.lo main/strlcpy.lo main/strlcat.lo main/mergesort.lo main/reentrancy.lo main/php_variables.lo main/php_ticks.lo main/network.lo main/php_open_temporary_file.lo main/php_logos.lo main/output.lo main/streams/streams.lo main/streams/cast.lo main/streams/memory.lo main/streams/filter.lo main/streams/plain_wrapper.lo main/streams/userspace.lo main/streams/transports.lo main/streams/xp_socket.lo main/streams/mmap.lo Zend/zend_language_parser.lo Zend/zend_language_scanner.lo Zend/zend_ini_parser.lo Zend/zend_ini_scanner.lo Zend/zend_alloc.lo Zend/zend_compile.lo Zend/zend_constants.lo Zend/zend_dynamic_array.lo Zend/zend_execute_API.lo Zend/zend_highlight.lo Zend/zend_llist.lo Zend/zend_opcode.lo Zend/zend_operators.lo Zend/zend_ptr_stack.lo Zend/zend_stack.lo Zend/zend_variables.lo Zend/zend.lo Zend/zend_API.lo Zend/zend_extensions.lo Zend/zend_hash.lo Zend/zend_list.lo Zend/zend_indent.lo Zend/zend_builtin_functions.lo Zend/zend_sprintf.lo Zend/zend_ini.lo Zend/zend_qsort.lo Zend/zend_multibyte.lo Zend/zend_ts_hash.lo Zend/zend_stream.lo Zend/zend_iterators.lo Zend/zend_interfaces.lo Zend/zend_exceptions.lo Zend/zend_strtod.lo Zend/zend_objects.lo Zend/zend_object_handlers.lo Zend/zend_objects_API.lo Zend/zend_mm.lo Zend/zend_default_classes.lo Zend/zend_execute.lo sapi/cli/php_cli.lo sapi/cli/php_cli_readline.lo sapi/cli/getopt.lo main/internal_functions_cli.lo -lm  -o sapi/cli/php
--snip--

which make the make install become successful.

Anyway, in answer to your question..

With GNU GCC and AIX native ld

--snip--
-=[/]==>gcc --version        
gcc (GCC) 3.3.2
Copyright (C) 2003 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.

-=[/]==>ld --version
ld: 0706-012 The -- flag is not recognized.
ld: 0706-030 No processing done.  Specify at least one
        input or import file or use at least one -b ex<n> option.
-=[/]==>
--snip--

With GNU GCC & GNU ld

--snip--
-=[/]==>gcc --version
gcc (GCC) 3.3.2
Copyright (C) 2003 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.

-=[/]==>ld --version
GNU ld version 2.14 20030612
Copyright 2002 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License.  This program has absolutely no warranty.
-=[/]==>
--snip--
 [2006-01-05 23:52 UTC] tony2001@php.net
So it works if you use GNU ld, right?
 [2006-01-06 03:24 UTC] scott at abcoa dot com
That's right.  Not sure if the GNU ld or native ld have to do with this or not.  I only swap the order of precedence (/usr/local/bin & /usr/bin) to the PATH environment variable which made this work.  Many times with PHP 4.x, I have no trouble with the AIX native utilities & GNU GCC the normal way.

I am thinking of going to resolve this bug as bogus but I'll let you php folks be the judge of that.  So, sorry to waste your time over this one if bogus.
 [2006-01-06 03:28 UTC] sniper@php.net
Yes, it's bogus.
 [2006-01-06 17:56 UTC] scott at abcoa dot com
Weird, PHP configure found the AIX native ld and used it for compiling PHP, not hte GNU ld.  So, it turned out that one of the unknown GNU utility was being used whatever happen.
 [2006-03-24 19:41 UTC] scott at abcoa dot com
Found the problem...  There's a bug to the AIX's make utility.  In order for this to work, you'll have to use the GNU make utility.  You don't need GNU ld (or GNU Binutils) as the AIX's ld would work fine without a problem.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Apr 26 13:01:28 2024 UTC