|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2013-06-21 16:22 UTC] stolen dot data dot net at gmail dot com
Description:
------------
This is a long-standing issue that dates back more than a year. I'm "re-reporting"
it in hopes that it will finally get attention instead of being overlooked.
During ./configure, the following warnings - which later on cause the
make/compilation phase to halt with errors - will show up:
./configure[21401]: cd: /usr/opt/php-5.5.0/"ext/date" - No such file or directory
...
./configure[56997]: cd: /usr/opt/php-5.5.0/"ext/mbstring" - No such file or
directory
./configure[56997]: cd: /usr/opt/php-5.5.0/"ext/mbstring" - No such file or
directory
./configure[56997]: cd: /usr/opt/php-5.5.0/"ext/mbstring/libmbfl" - No such file
or directory
Backtracking from those line numbers we quickly find the problem, present at both
lines 21381 and 56850:
ep_realdir="`(cd \"$ep_dir\" && pwd)`"
This exact line is present numerous times in the configure script, but for some
reason it fails on the three extension paths described above. It might be caused
by the line just before that prepares $ep_dir using SED.
The quick'n'dirty solution is to simply unquote $ep_dir by removing the two \" in
the subshell statement, but something proper would be preferred.
Also, no biggie, but there are some odd recurrences of inclusion paths showing up
during compiling. Each line separated:
-I/usr/opt/php-5.5.0/ext/date/lib
"-I/usr/opt/php-5.5.0/ext/date/lib
-I/usr/opt/php-5.5.0/ext/ereg/regex
-I/usr/local/include
-I/usr/opt/php-5.5.0/ext/mbstring/oniguruma
-I/usr/opt/php-5.5.0/ext/mbstring/oniguruma"
-I/usr/opt/php-5.5.0/ext/mbstring/libmbfl
-I/usr/opt/php-5.5.0/ext/mbstring/libmbfl
"-I/usr/opt/php-5.5.0/ext/mbstring/libmbfl/mbfl
-I/usr/opt/php-5.5.0/ext/mbstring/libmbfl/mbfl"
Test script:
---------------
./configure
make
Expected result:
----------------
No path failures.
Actual result:
--------------
Described above.
Patchesbug65088 (last revision 2013-06-22 23:54 UTC by aharvey@php.net)Pull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Oct 29 05:00:01 2025 UTC |
Yes, I understand the quotation has to be reworked rather than removed ("quick'n'dirty") - aharvey's supplied patch that changed the manner of quotation solved the problem, by the way. No modifications have been done to my sh binary, and same goes for my environment with the exception of setting LC_CTYPE to get proper UTF-8 support. The problem is identical whether I run the vanilla configure or the rebuilt one, without arguments, or with the arguments I use for my PHP build. I reported this problem already with PHP 5.4.0 on OpenBSD 5.0 - the PHP 5.3 branch did not show this problem on OpenBSD 5.0 or any other earlier version that I've been running for years, all of which use an unmodified environment. Quoting portion of a path - cd /some/path/"somewhere" - works just fine straight off the shell with sh, ksh and bash, just like expected. I tested this already over a year ago when when I found this issue the first time. Why it fails when executed inside the configure script confused me already back then.