ID: 38856 User updated by: maya dot negeta+php at gmail dot com Reported By: maya dot negeta+php at gmail dot com Status: Open Bug Type: Documentation problem Operating System: FreeBSD 6.1 PHP Version: Irrelevant New Comment:
Your patch works on FreeBSD too. + expr /usr/local/bin/openjade : ../phpdoc-tools + test 0 -ne 0 + WINJADE=0 Thank you very much! Previous Comments: ------------------------------------------------------------------------ [2006-09-21 03:08:21] [EMAIL PROTECTED] Thank you. I tried your patch and found two problems. 1. When I use `^' as the first character of the pattern, I got the following warning. % expr abcde : ^abc expr: warning: unportable BRE: `^abc': using `^' as the first character of the basic regular expression is not portable; it is being ignored 3 According to the man page you spotted, The regular expression is anchored to the beginning of the string with an implicit ``^''. so I removed `^' from the pattern. % expr abcde : abc 3 2. The exit status of "text `expr $string : $pattern`" seems to be always 0. % test `expr abcde : abc`; echo $? 0 % test `expr abcde : xxx`; echo $? 0 so I changed it to check whether the return value of `expr' equals to zero. % expr abcde : abc 3 % expr abcde : xxx 0 % test `expr abcde : abc` -ne 0; echo $? 0 % test `expr abcde : xxx` -ne 0; echo $? 1 I made another patch again. I tested it on the following machines, and both work well. % uname -a Linux host1.example.com 2.6.9-34.0.2.EL #1 Fri Jul 7 19:24:57 CDT 2006 i686 i686 i386 GNU/Linux % uname -a SunOS host2.example.com 5.6 Generic_105182-25 i86pc i386 i86pc Could you please try it again? Index: configure.in =================================================================== RCS file: /repository/phpdoc/configure.in,v retrieving revision 1.236 diff -u -r1.236 configure.in --- configure.in 14 Sep 2006 14:58:35 -0000 1.236 +++ configure.in 21 Sep 2006 02:17:37 -0000 @@ -150,7 +150,7 @@ if test $JADE = "no"; then AC_MSG_ERROR([can't find jade or openjade]) fi -if test ${JADE:0:15} = "../phpdoc-tools"; then +if test `expr $JADE : ../phpdoc-tools` -ne 0; then WINJADE=1 else WINJADE=0 ------------------------------------------------------------------------ [2006-09-20 04:28:15] maya dot negeta+php at gmail dot com Thank you for your reply and patch. FreeBSD has no GNU expr, and it doesn't have 'substr'. http://www.freebsd.org/cgi/man.cgi?query=expr&apropos=0&sektion=0&manpath=FreeBSD+6.1-RELEASE&format=html I changed your patch followings and it seems work. Is it work on Linux and other OS? Index: configure.in =================================================================== RCS file: /repository/phpdoc/configure.in,v retrieving revision 1.236 diff -u -r1.236 configure.in --- configure.in 14 Sep 2006 14:58:35 -0000 1.236 +++ configure.in 20 Sep 2006 04:21:36 -0000 @@ -150,7 +150,7 @@ if test $JADE = "no"; then AC_MSG_ERROR([can't find jade or openjade]) fi -if test ${JADE:0:15} = "../phpdoc-tools"; then +if test `expr $JADE : ^../phpdoc-tools`; then WINJADE=1 else WINJADE=0 ------------------------------------------------------------------------ [2006-09-20 03:10:45] [EMAIL PROTECTED] > I said 'bash' as '/bin/sh is a link of bash.' OK, I got it. I found that the pure Bourne Shell (not bash) can't recognize ${parameter:offset:length} style syntax. I'm sorry to bother you again but could you please try this patch? # I can't try it by myself because # % ls -l /bin/sh # lrwxrwxrwx 1 root root 4 Sep 1 09:59 /bin/sh -> bash # :-( Index: configure.in =================================================================== RCS file: /repository/phpdoc/configure.in,v retrieving revision 1.236 diff -u -r1.236 configure.in --- configure.in 14 Sep 2006 14:58:35 -0000 1.236 +++ configure.in 20 Sep 2006 02:00:57 -0000 @@ -150,7 +150,7 @@ if test $JADE = "no"; then AC_MSG_ERROR([can't find jade or openjade]) fi -if test ${JADE:0:15} = "../phpdoc-tools"; then +if test `expr substr $JADE 1 15` = "../phpdoc-tools"; then WINJADE=1 else WINJADE=0 ------------------------------------------------------------------------ [2006-09-17 08:09:44] maya dot negeta+php at gmail dot com Sorry, I said 'bash' as '/bin/sh is a link of bash.' Thank you for your patch. It solves ./configure problem. ------------------------------------------------------------------------ [2006-09-17 00:05:33] [EMAIL PROTECTED] I tried it on bash, zsh, tcsh, csh, and ksh. But it worked well every time. % uname -sr Linux 2.6.9-34.0.2.EL % autoconf --version autoconf (GNU Autoconf) 2.59 Could you please try the following patch? Index: configure.in =================================================================== RCS file: /repository/phpdoc/configure.in,v retrieving revision 1.236 diff -u -r1.236 configure.in --- configure.in 14 Sep 2006 14:58:35 -0000 1.236 +++ configure.in 16 Sep 2006 23:48:29 -0000 @@ -150,13 +150,7 @@ if test $JADE = "no"; then AC_MSG_ERROR([can't find jade or openjade]) fi -if test ${JADE:0:15} = "../phpdoc-tools"; then - WINJADE=1 -else - WINJADE=0 -fi AC_SUBST(JADE) -AC_SUBST(WINJADE) dnl }}} ------------------------------------------------------------------------ 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 http://bugs.php.net/38856 -- Edit this bug report at http://bugs.php.net/?id=38856&edit=1