Perl / perl5

🐪 The Perl programming language
https://dev.perl.org/perl5/
Other
1.91k stars 542 forks source link

Configure bug with Debian Almquist Shell (dash) #9144

Closed p5pRT closed 16 years ago

p5pRT commented 16 years ago

Migrated from rt.perl.org#48328 (status was 'resolved')

Searchable as RT48328$

p5pRT commented 16 years ago

From michael.mathers@apollogrp.edu

Created by mbmather@apollogrp.edu

This is a bug report for perl from mbmather@​apollogrp.edu\, generated with the help of perlbug 1.35 running under perl v5.8.8.

----------------------------------------------------------------- Configure Bug​: perl v5.8.8\, stable source tarball MD5​: a377c0c67ab43fd96eeec29ce19e8382 perl-5.8.8.tar.bz2

There is a bug in the "makedepend.SH" script. There is a missing quote on line 131. This caused 'Configure' to fail on my system with this error​:

Run make depend now? [y]
sh ./makedepend MAKE=make make[1]​: Entering directory `/tmp/apache/perl-5.8.8' sh writemain lib/auto/DynaLoader/DynaLoader.a > perlmain.c rm -f opmini.c cp op.c opmini.c echo av.c scope.c op.c doop.c doio.c dump.c hv.c mg.c reentr.c perl.c perly.c pp.c pp_hot.c pp_ctl.c pp_sys.c regcomp.c regexec.c utf8.c gv.c sv.c taint.c toke.c util.c deb.c run.c universal.c xsutils.c pad.c globals.c perlio.c perlapi.c numeric.c locale.c pp_pack.c pp_sort.c miniperlmain.c perlmain.c opmini.c | tr ' ' '\n' >.clist make[1]​: Leaving directory `/tmp/apache/perl-5.8.8' ./makedepend​: 1​: Syntax error​: Unterminated quoted string make​: *** [depend] Error 2

Here is the patch​: 131c131 \< */*) finc="-I`echo $file | sed 's#/[^/]*$##`" ;; ---

\*/\*\) finc="\-I\`echo $file | sed 's\#/\[^/\]\*$\#\#'\`" ;;

This is reproducible by​:

1. Start with a fresh Ubuntu server 7.04 install 2. mkdir /opt/perl && mkdir /opt/perl/bin 3. Configure with   sh Configure -d -Dprefix=/opt/perl -Doptimize="-m486 -O4" -Dusethreads -Duseperlio -Duseshrplib

I was NOT able to reproduce this on "Red Hat Enterprise Linux AS release 4 (Nahant Update 4)"

Ubuntu Server 7.04   /bin/sh (Debian Almquist Shell\, couldn't get version) (/bin/sh is link to /bin/dash)   /bin/sed (GNU sed\, v4.1.5)

Red Hat   /bin/sh (GNU BASH\, v3.00.15(1))   /bin/sed (GNU sed\, v4.1.2)

I suspect that bash is smart enough to correct for the missing quote and dash is being picky. I confirmed this by changing the /bin/sh link on my Debian system to point to bash instead and everything worked fine.

Perl Info ``` Flags: category=install severity=medium Site configuration information for perl v5.8.8: Configured by mbmather at Fri Dec 7 11:54:34 MST 2007. Summary of my perl5 (revision 5 version 8 subversion 8) configuration: Platform: osname=linux, osvers=2.6.20-16-server, archname=i686-linux-thread-multi uname='linux casdev 2.6.20-16-server #2 smp sun sep 23 19:57:25 utc 2007 i686 gnulinux ' config_args='-d -Dprefix=/opt/httpd/perl -Doptimize=-m486 -O4 -Dusethreads -Duseperlio -Duseshrplib' hint=recommended, useposix=true, d_sigaction=define usethreads=define use5005threads=undef useithreads=define usemultiplicity=define useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-m486 -O4', cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include' ccversion='', gccversion='4.1.2 (Ubuntu 4.1.2-0ubuntu4)', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=4, prototype=define Linker and Libraries: ld='cc', ldflags =' -L/usr/local/lib' libpth=/usr/local/lib /lib /usr/lib libs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc libc=/lib/libc-2.5.so, so=so, useshrplib=true, libperl=libperl.so gnulibc_version='2.5' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E -Wl,-rpath,/opt/httpd/perl/lib/5.8.8/i686-linux-thread-multi/CORE' cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib' Locally applied patches: @INC for perl v5.8.8: /opt/httpd/perl/lib/5.8.8/i686-linux-thread-multi /opt/httpd/perl/lib/5.8.8 /opt/httpd/perl/lib/site_perl/5.8.8/i686-linux-thread-multi /opt/httpd/perl/lib/site_perl/5.8.8 /opt/httpd/perl/lib/site_perl . Environment for perl v5.8.8: HOME=/home/webapp LANG=en_US.UTF-8 LANGUAGE (unset) LD_LIBRARY_PATH (unset) LOGDIR (unset) PATH=/opt/tomcat/java/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr /games:/opt/tomcat/bin:/opt/tomcat/axis2/bin:/opt/ant/bin PERL_BADLANG (unset) SHELL=/bin/bash ```
p5pRT commented 16 years ago

@rgs - Status changed from 'new' to 'resolved'

p5pRT commented 16 years ago

From @rgs

On 07/12/2007\, via RT Michael Mathers \perlbug\-followup@&#8203;perl\.org wrote​:

Configure Bug​: perl v5.8.8\, stable source tarball MD5​: a377c0c67ab43fd96eeec29ce19e8382 perl-5.8.8.tar.bz2

There is a bug in the "makedepend.SH" script. There is a missing quote on line 131.

Thanks for your report. This bug has already been adressed in a similar way in the development version of perl\, and will be fixed in 5.8.9 and 5.10.0.