pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/40709: pdksh and escaped quotes



>Number:         40709
>Category:       pkg
>Synopsis:       pdksh and escaped quotes
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Feb 21 12:55:00 +0000 2009
>Originator:     Adrian Portelli
>Release:        OpenSolaris 2008.11 (x86)
>Organization:
>Environment:
OpenSolaris 2008.11 (x86)
>Description:
I've come across some weirdness trying to build misc/php-mbstring on
OpenSolaris.  I've built a number of other php extensions and packages
but this is the only one exhibiting this strange behaviour.  Basically
when running the configure target I get the following:

....
../configure[7963]: cd:
/var/scratch/pkgsrc.obj/misc/php-mbstring/work/php-5.2.8/ext/mbstring/"." -
No such file or directory
../configure[7963]: cd:
/var/scratch/pkgsrc.obj/misc/php-mbstring/work/php-5.2.8/ext/mbstring/"." -
No such file or directory
../configure[7963]: cd:
/var/scratch/pkgsrc.obj/misc/php-mbstring/work/php-5.2.8/ext/mbstring/"./libmbfl"
- No such file or directory
....

And during the make target:

....
/usr/pkg/bin/pdksh
/var/scratch/pkgsrc.obj/misc/php-mbstring/work/php-5.2.8/ext/mbstring/libtool
--mode=compile gcc  -DNOT_RUBY -DHAVE_CONFIG_H -I.
-I/var/scratch/pkgsrc.obj/misc/php-mbstring/work/php-5.2.8/ext/mbstring
-DPHP_ATOM_INC
-I/var/scratch/pkgsrc.obj/misc/php-mbstring/work/php-5.2.8/ext/mbstring/include
-I/var/scratch/pkgsrc.obj/misc/php-mbstring/work/php-5.2.8/ext/mbstring/main
-I/var/scratch/pkgsrc.obj/misc/php-mbstring/work/php-5.2.8/ext/mbstring
-I/usr/pkg/include/php -I/usr/pkg/include/php/main
-I/usr/pkg/include/php/TSRM -I/usr/pkg/include/php/Zend
-I/usr/pkg/include/php/ext -I/usr/pkg/include/php/ext/date/lib
-I/var/scratch/pkgsrc.obj/misc/php-mbstring/work/php-5.2.8/ext/mbstring/oniguruma
-I/oniguruma"
-I/var/scratch/pkgsrc.obj/misc/php-mbstring/work/php-5.2.8/ext/mbstring/libmbfl
-I/libmbfl"
-I/var/scratch/pkgsrc.obj/misc/php-mbstring/work/php-5.2.8/ext/mbstring/libmbfl/mbfl
-I/mbfl"  -I/usr/pkg/include/php -DHAVE_CONFIG_H  -O -I/usr/pkg/include
-I/usr/include   -c
/var/scratch/pkgsrc.obj/misc/php-mbstring/work/php-5.2.8/ext/mbstring/oniguruma/regcomp.c
-o oniguruma/regcomp.lo
/usr/pkg/bin/pdksh: no closing quote
*** Error code 1
....

I've tracked this down to the following lines in the generated ./configure:

7819: ep_realdir="`(cd \"$ep_dir\" && pwd)`"
7820: ai_p="$ep_realdir/`basename \"$ext_builddir/$dir\"`"

Basically think pdksh dislikes likes the escaped double quotes around
$ep_dir and $ext_builddir/$dir.  If I change the lines as follows:

ep_realdir="`(cd $ep_dir && pwd)`"
ai_p="$ep_realdir/`basename $ext_builddir/$dir`"

Then the world is a happy place.  OpenSolaris runs /usr/pkg/bin/pdksh as
CONFIG_SHELL which is probably making all the difference.  The generated
configure on NetBSD and OpenSolaris is identical so the only thing I'm
left with is the interaction of the shell and ./configure.

This problem is also reported as a part of PR#39775 in which the problem shows 
up when building print/ghostscript.
>How-To-Repeat:
cd misc/php-mbstring && bmake
>Fix:
Not known



Home | Main Index | Thread Index | Old Index