Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Configure problem in a build directory with spaces in the name #8586

Open
p5pRT opened this issue Sep 6, 2006 · 11 comments
Open

Configure problem in a build directory with spaces in the name #8586

p5pRT opened this issue Sep 6, 2006 · 11 comments

Comments

@p5pRT
Copy link

p5pRT commented Sep 6, 2006

Migrated from rt.perl.org#40286 (status was 'open')

Searchable as RT40286$

@p5pRT
Copy link
Author

p5pRT commented Sep 6, 2006

From @denimadept

On the Mac, paths may contain spaces. This broke my "make"​:

[x-ray​:~/dev/perl/perl-5.8.8] hshubs% make
`sh cflags "optimize='-O3'" miniperlmain.o` miniperlmain.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
`sh cflags "optimize='-O3'" perl.o` perl.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
`sh cflags "optimize='-O3'" gv.o` gv.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
`sh cflags "optimize='-O3'" toke.o` toke.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
`sh cflags "optimize='-O3'" perly.o` perly.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
`sh cflags "optimize='-O3'" op.o` op.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
`sh cflags "optimize='-O3'" pad.o` pad.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
`sh cflags "optimize='-O3'" regcomp.o` regcomp.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
regcomp.c​: In function 'S_study_chunk'​:
regcomp.c​:723​: warning​: comparison is always false due to limited range of data type
`sh cflags "optimize='-O3'" dump.o` dump.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
`sh cflags "optimize='-O3'" util.o` util.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
`sh cflags "optimize='-O3'" mg.o` mg.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
`sh cflags "optimize='-O3'" reentr.o` reentr.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
`sh cflags "optimize='-O3'" hv.o` hv.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
`sh cflags "optimize='-O3'" av.o` av.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
`sh cflags "optimize='-O3'" run.o` run.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
`sh cflags "optimize='-O3'" pp_hot.o` pp_hot.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
`sh cflags "optimize='-O3'" sv.o` sv.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
sv.c​: In function 'Perl_sv_clear'​:
sv.c​:5222​: warning​: ignoring return value of 'Perl_io_close', declared with attribute warn_unused_result
`sh cflags "optimize='-O3'" pp.o` pp.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
`sh cflags "optimize='-O3'" scope.o` scope.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
`sh cflags "optimize='-O3'" pp_ctl.o` pp_ctl.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
`sh cflags "optimize='-O3'" pp_sys.o` pp_sys.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
pp_sys.c​:320​: warning​: 'S_emulate_eaccess' defined but not used
`sh cflags "optimize='-O3'" doop.o` doop.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
`sh cflags "optimize='-O3'" doio.o` doio.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
`sh cflags "optimize='-O3'" regexec.o` regexec.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
`sh cflags "optimize='-O3'" utf8.o` utf8.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
`sh cflags "optimize='-O3'" taint.o` taint.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
`sh cflags "optimize='-O3'" deb.o` deb.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
`sh cflags "optimize='-O3'" universal.o` universal.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
`sh cflags "optimize='-O3'" xsutils.o` xsutils.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
`sh cflags "optimize='-O3'" globals.o` globals.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
`sh cflags "optimize='-O3'" perlio.o` perlio.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
`sh cflags "optimize='-O3'" perlapi.o` perlapi.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
`sh cflags "optimize='-O3'" numeric.o` numeric.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
`sh cflags "optimize='-O3'" locale.o` locale.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
`sh cflags "optimize='-O3'" pp_pack.o` pp_pack.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
`sh cflags "optimize='-O3'" pp_sort.o` pp_sort.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
rm -f libperl.a
/usr/bin/ar rcu libperl.a perl.o gv.o toke.o perly.o op.o pad.o regcomp.o dump.o util.o mg.o reentr.o hv.o av.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o universal.o xsutils.o globals.o perlio.o perlapi.o numeric.o locale.o pp_pack.o pp_sort.o
ranlib​: file​: libperl.a(perlapi.o) has no symbols
ranlib​: file​: libperl.a(perlapi.o) has no symbols
`sh cflags "optimize='-O3'" opmini.o` -DPERL_EXTERNAL_GLOB opmini.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall
cc -L/usr/local/lib -force_flat_namespace -o miniperl \
  miniperlmain.o opmini.o libperl.a -ldl -lm -lc
./miniperl -w -Ilib -MExporter -e '<?>' || make minitest
make​: [extra.pods] Error 1 (ignored)
./miniperl -Ilib configpm --heavy=lib/Config_heavy.pl lib/Config.pm
./miniperl -Ilib lib/lib_pm.PL
Extracting lib.pm (with variable substitutions)
  AutoSplitting perl library
./miniperl -Ilib -e 'use AutoSplit; \
autosplit_lib_modules(@​ARGV)' lib/*.pm
./miniperl -Ilib -e 'use AutoSplit; \
autosplit_lib_modules(@​ARGV)' lib/*/*.pm
make lib/re.pm
cp ext/re/re.pm lib/re.pm
./miniperl minimod.pl > lib/ExtUtils/Miniperl.pm
cd lib/unicore && ../../miniperl -I../../lib mktables -w
touch uni.data
`sh cflags "optimize='-O3'" perlmain.o` perlmain.c
  CCCMD = cc -DPERL_CORE -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O3 -Wall

  Making DynaLoader (static)
Writing Makefile for DynaLoader
/bin/sh​: line 1​: /Volumes/X-Ray​: No such file or directory
make[1]​: *** [../../lib/.exists] Error 127
make config failed, continuing anyway...
/bin/sh​: line 1​: /Volumes/X-Ray​: No such file or directory
make[1]​: *** [../../lib/.exists] Error 127
make​: *** [lib/auto/DynaLoader/DynaLoader.a] Error 2
[x-ray​:~/dev/perl/perl-5.8.8] hshubs% pwd
/Volumes/X-Ray Users/hshubs/dev/perl/perl-5.8.8

@p5pRT
Copy link
Author

p5pRT commented Sep 6, 2006

From guest@guest.guest.xxxxxxxx

On Wed Sep 06 09​:42​:25 2006, howard@​shubs.net wrote​:

On the Mac, paths may contain spaces. This broke my "make"​:

Writing Makefile for DynaLoader
/bin/sh​: line 1​: /Volumes/X-Ray​: No such file or directory
make[1]​: *** [../../lib/.exists] Error 127
make config failed, continuing anyway...
/bin/sh​: line 1​: /Volumes/X-Ray​: No such file or directory
make[1]​: *** [../../lib/.exists] Error 127
make​: *** [lib/auto/DynaLoader/DynaLoader.a] Error 2
[x-ray​:~/dev/perl/perl-5.8.8] hshubs% pwd
/Volumes/X-Ray Users/hshubs/dev/perl/perl-5.8.8

Barring my missing something obvious, isn't this a problem more with the
hyphen in "X-Ray"?

@p5pRT
Copy link
Author

p5pRT commented Sep 6, 2006

The RT System itself - Status changed from 'new' to 'open'

@p5pRT
Copy link
Author

p5pRT commented Sep 6, 2006

From @denimadept

On Wednesday, September 6, 2006, perlbug-followup@​perl.org (Guest via RT) said​:

On Wed Sep 06 09​:42​:25 2006, howard@​shubs.net wrote​:

On the Mac, paths may contain spaces. This broke my "make"​:

Writing Makefile for DynaLoader
/bin/sh​: line 1​: /Volumes/X-Ray​: No such file or directory
make[1]​: *** [../../lib/.exists] Error 127
make config failed, continuing anyway...
/bin/sh​: line 1​: /Volumes/X-Ray​: No such file or directory
make[1]​: *** [../../lib/.exists] Error 127
make​: *** [lib/auto/DynaLoader/DynaLoader.a] Error 2
[x-ray​:~/dev/perl/perl-5.8.8] hshubs% pwd
/Volumes/X-Ray Users/hshubs/dev/perl/perl-5.8.8

Barring my missing something obvious, isn't this a problem more with the
hyphen in "X-Ray"?

No, I don't think so. The volume name is either "/Volumes/X-Ray Boot" or "/Volumes/X-Ray Users", depending on what it's trying to do. "/Volumes/X-Ray Boot" is the destination, and is mounted as /, so I don't think that's the one it means. I expect it's trying to refer to the source directory which is on "/Volumes/X-Ray Users".

If the problem were the hyphen, the error text would have stopped at /Volume/X or complained about bad qualifiers/modifiers, which isn't what it did. Instead, it stopped where the space is. Since there is no location /Volumes/X-Ray, Configure fails when trying to refer to it.

@p5pRT
Copy link
Author

p5pRT commented Sep 6, 2006

From cmoore@hellyeah.org

On Wed Sep 06 14​:26​:27 2006, howard@​shubs.net wrote​:

No, I don't think so. The volume name is either "/Volumes/X-Ray Boot"
...

/Volumes/X-Ray Users/hshubs/dev/perl/perl-5.8.8

My mistake. I didn't see the Boot/Users the first time around.

@p5pRT
Copy link
Author

p5pRT commented Sep 7, 2006

From @smpeters

On Wed, Sep 06, 2006 at 05​:14​:15PM -0400, Howard S Shubs wrote​:

On Wednesday, September 6, 2006, perlbug-followup@​perl.org (Guest via RT) said​:

On Wed Sep 06 09​:42​:25 2006, howard@​shubs.net wrote​:

On the Mac, paths may contain spaces. This broke my "make"​:

Writing Makefile for DynaLoader
/bin/sh​: line 1​: /Volumes/X-Ray​: No such file or directory
make[1]​: *** [../../lib/.exists] Error 127
make config failed, continuing anyway...
/bin/sh​: line 1​: /Volumes/X-Ray​: No such file or directory
make[1]​: *** [../../lib/.exists] Error 127
make​: *** [lib/auto/DynaLoader/DynaLoader.a] Error 2
[x-ray​:~/dev/perl/perl-5.8.8] hshubs% pwd
/Volumes/X-Ray Users/hshubs/dev/perl/perl-5.8.8

Barring my missing something obvious, isn't this a problem more with the
hyphen in "X-Ray"?

No, I don't think so. The volume name is either "/Volumes/X-Ray Boot" or "/Volumes/X-Ray Users", depending on what it's trying to do. "/Volumes/X-Ray Boot" is the destination, and is mounted as /, so I don't think that's the one it means. I expect it's trying to refer to the source directory which is on "/Volumes/X-Ray Users".

If the problem were the hyphen, the error text would have stopped at /Volume/X or complained about bad qualifiers/modifiers, which isn't what it did. Instead, it stopped where the space is. Since there is no location /Volumes/X-Ray, Configure fails when trying to refer to it.

I haven't yet pinpointed the actual problem, but it is not unique to Mac OS X.
I was able to duplicate it on Linux. Just to note, the problem occurs actually
in ext/util/make_ext, not in Configure.

Steve Peters
steve@​fisharerojo.org

@p5pRT
Copy link
Author

p5pRT commented Sep 7, 2006

From @doughera88

On Thu, 7 Sep 2006, Steve Peters wrote​:

On Wed, Sep 06, 2006 at 05​:14​:15PM -0400, Howard S Shubs wrote​:

On Wednesday, September 6, 2006, perlbug-followup@​perl.org (Guest via RT) said​:

On Wed Sep 06 09​:42​:25 2006, howard@​shubs.net wrote​:

On the Mac, paths may contain spaces. This broke my "make"​:

Writing Makefile for DynaLoader
/bin/sh​: line 1​: /Volumes/X-Ray​: No such file or directory
make[1]​: *** [../../lib/.exists] Error 127
make config failed, continuing anyway...
/bin/sh​: line 1​: /Volumes/X-Ray​: No such file or directory
make[1]​: *** [../../lib/.exists] Error 127
make​: *** [lib/auto/DynaLoader/DynaLoader.a] Error 2
[x-ray​:~/dev/perl/perl-5.8.8] hshubs% pwd
/Volumes/X-Ray Users/hshubs/dev/perl/perl-5.8.8

Barring my missing something obvious, isn't this a problem more with the
hyphen in "X-Ray"?

No, I don't think so. The volume name is either "/Volumes/X-Ray Boot" or "/Volumes/X-Ray Users", depending on what it's trying to do. "/Volumes/X-Ray Boot" is the destination, and is mounted as /, so I don't think that's the one it means. I expect it's trying to refer to the source directory which is on "/Volumes/X-Ray Users".

If the problem were the hyphen, the error text would have stopped at /Volume/X or complained about bad qualifiers/modifiers, which isn't what it did. Instead, it stopped where the space is. Since there is no location /Volumes/X-Ray, Configure fails when trying to refer to it.

I haven't yet pinpointed the actual problem, but it is not unique to Mac
OS X. I was able to duplicate it on Linux. Just to note, the problem
occurs actually in ext/util/make_ext, not in Configure.

Actually, it occurs in lib/ExtUtils/MM_Unix.pm. This band-aid of a patch
should get you past the first hurdle. There are likely to be numerous
others, but I hope they won't be too difficult to work around. Mostly,
I suspect it'll just involve putting "quotes" around filenames and
directories at various places. I don't think I'll have time to do much
myself anytime soon, but, as Steve mentions, others can play along too.
Linux also can have spaces in filenames, though it's not commonly done.

Inline Patch
diff -r -u perl-5.8.x/lib/ExtUtils/MM_Unix.pm perl-5.8.x-andy/lib/ExtUtils/MM_Unix.pm
--- perl-5.8.x/lib/ExtUtils/MM_Unix.pm	2006-06-13 15:31:11.000000000 -0400
+++ perl-5.8.x-andy/lib/ExtUtils/MM_Unix.pm	2006-09-07 11:57:38.000000000 -0400
@@ -1920,6 +1920,9 @@
         $self->{ABSPERL} = 'MCR '.$self->{ABSPERL} if $has_mcr;
     }
 
+    # Escape spaces in the path to ABSPERL (for Makefile expansion)
+    $self->{ABSPERL} =~ s/ /\\ /g;
+
     # Are we building the core?
     $self->{PERL_CORE} = $ENV{PERL_CORE} unless exists $self->{PERL_CORE};
     $self->{PERL_CORE} = 0               unless defined $self->{PERL_CORE};

-- 

  Andy Dougherty doughera@​lafayette.edu

@p5pRT
Copy link
Author

p5pRT commented Jun 1, 2009

From @doughera88

This patch at least allows the build to finish. There are a number of
test failures still due to the spaces in the directory name.

commit 4291ccc
Author​: Andy Dougherty <doughera@​lafayette.edu>
Date​: Mon Jun 1 12​:34​:36 2009 -0400

  Protect against spaces in build directory name when extracting .PL
files

Inline Patch
--- perl-current/Makefile.SH	2009-05-26 15:14:14.000000000 -0400
+++ perl-andy/Makefile.SH	2009-06-01 12:24:51.481678988 -0400
@@ -965,7 +965,7 @@
 
 $(plextract):	miniperl$(EXE_EXT) $(CONFIGPM) x2p/s2p
 	@-rm -f $@
-	$(LDLIBPTH) $(RUN) ./miniperl$(EXE_EXT) -I`pwd`/lib $@.PL
+	$(LDLIBPTH) $(RUN) ./miniperl$(EXE_EXT) -I"`pwd`/lib" $@.PL
 
 x2p/s2p: miniperl$(EXE_EXT) $(CONFIGPM) x2p/s2p.PL
 	cd x2p; $(LDLIBPTH) $(MAKE) s2p

-- 

  Andy Dougherty doughera@​lafayette.edu

@p5pRT
Copy link
Author

p5pRT commented Sep 25, 2012

From PeterCMartini@GMail.com

On Mon Jun 01 09​:40​:06 2009, doughera wrote​:

This patch at least allows the build to finish. There are a number of
test failures still due to the spaces in the directory name.

commit 4291ccc
Author​: Andy Dougherty <doughera@​lafayette.edu>
Date​: Mon Jun 1 12​:34​:36 2009 -0400

Protect against spaces in build directory name when extracting \.PL 

files

--- perl-current/Makefile.SH 2009-05-26 15​:14​:14.000000000 -0400
+++ perl-andy/Makefile.SH 2009-06-01 12​:24​:51.481678988 -0400
@​@​ -965,7 +965,7 @​@​

$(plextract)​: miniperl$(EXE_EXT) $(CONFIGPM) x2p/s2p
@​-rm -f $@​
- $(LDLIBPTH) $(RUN) ./miniperl$(EXE_EXT) -I`pwd`/lib $@​.PL
+ $(LDLIBPTH) $(RUN) ./miniperl$(EXE_EXT) -I"`pwd`/lib" $@​.PL

x2p/s2p​: miniperl$(EXE_EXT) $(CONFIGPM) x2p/s2p.PL
cd x2p; $(LDLIBPTH) $(MAKE) s2p

On blead, I can run configure with a space in my directory name but do
still see those test failures.

Most are of the form​:

`$^X -le "print 'hi there'"`

Can that portably be changed to​:

`"$^X" -le "print 'hi there'"`

?

If that's portable enough, I'll go through all of the test failures of
that form and send a patch.

@p5pRT
Copy link
Author

p5pRT commented Dec 29, 2017

From @jkeenan

On Tue, 25 Sep 2012 14​:20​:55 GMT, pcm wrote​:

On Mon Jun 01 09​:40​:06 2009, doughera wrote​:

This patch at least allows the build to finish. There are a number of
test failures still due to the spaces in the directory name.

commit 4291ccc
Author​: Andy Dougherty <doughera@​lafayette.edu>
Date​: Mon Jun 1 12​:34​:36 2009 -0400

Protect against spaces in build directory name when extracting \.PL 

files

--- perl-current/Makefile.SH 2009-05-26 15​:14​:14.000000000 -0400
+++ perl-andy/Makefile.SH 2009-06-01 12​:24​:51.481678988 -0400
@​@​ -965,7 +965,7 @​@​

$(plextract)​: miniperl$(EXE_EXT) $(CONFIGPM) x2p/s2p
@​-rm -f $@​
- $(LDLIBPTH) $(RUN) ./miniperl$(EXE_EXT) -I`pwd`/lib $@​.PL
+ $(LDLIBPTH) $(RUN) ./miniperl$(EXE_EXT) -I"`pwd`/lib" $@​.PL

x2p/s2p​: miniperl$(EXE_EXT) $(CONFIGPM) x2p/s2p.PL
cd x2p; $(LDLIBPTH) $(MAKE) s2p

On blead, I can run configure with a space in my directory name but do
still see those test failures.

Most are of the form​:

`$^X -le "print 'hi there'"`

Can that portably be changed to​:

`"$^X" -le "print 'hi there'"`

?

If that's portable enough, I'll go through all of the test failures of
that form and send a patch.

Posters to this ticket​: Is the issue of spaces in filenames still important enough that we should keep this ticket open?

Thank you very much.
--
James E Keenan (jkeenan@​cpan.org)

@p5pRT
Copy link
Author

p5pRT commented Jan 2, 2018

From @hvds

On Fri, 29 Dec 2017 05​:40​:42 -0800, jkeenan wrote​:

Posters to this ticket​: Is the issue of spaces in filenames still
important enough that we should keep this ticket open?

I'm not a previous poster to this ticket, but I do consider this a bug in perl that we should fix.

I suspect there may be multiple open tickets on the same general subject; if so, I think either there should be only one or they should be gathered under a meta-ticket.

Hugo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants