Well spotted!

Docs at https://docs.perl6.org/routine/shell may help

But this looks to me to be a known issue

"quote bug in shell command on windows"

https://rt.perl.org/Public/Bug/Display.html?id=131814

On 2 October 2017 at 09:06, Ville Koskinen <vil...@matrixscience.com> wrote:
> Thanks, that helps. I wasn't sure where to file this bug, because this is
> the first time I've used Rakudo.
>
> What looks odd to me is the line
>
> Can't find string terminator '"' anywhere before EOF at -e line 1.
>
> which is presumably the command
>
> shell('perl -e "use v5.18;"')
>
> on the line you linked to in zef's Build.pm. Is shell a Perl 6 built-in? I
> can't find its definition in Rakudo's Windows build (documentation seems to
> be in site/doc/Type/IO.pod).
>
> Indeed, if you try this line at the REPL prompt:
>
> PS C:\rakudo> .\bin\perl6
> To exit type 'exit' or '^D'
>> shell('perl -e "use v5.18;"')
> Can't find string terminator '"' anywhere before EOF at -e line 1.
> Proc.new(in => IO::Pipe, out => IO::Pipe, err => IO::Pipe, exitcode => 255,
> signal => 0, command => ["perl -e \"use v5.18;\""])
>>
>
> Problem isn't lack of Perl 5:
>
> PS C:\rakudo> perl -v
>
> This is perl 5, version 26, subversion 0 (v5.26.0) built for
> MSWin32-x64-multi-thread
>
>
> Regards,
> Ville
>
>
> On 01/10/2017 13:53, Steve Mynott via RT wrote:
>
> It seems a bit unfair ("shooting the messenger") blaming zef for
> module install error messages and after all it does says "Perl 5
> version requirement not met"
>
> Looking at what triggers this error...
>
> https://github.com/niner/Inline-Perl5/blob/master/Build.pm#L6
>
> suggests you need 5.18 or better and it doesn't look this is installed.
>
> Note also the docs
>
> https://github.com/niner/Inline-Perl5/blob/master/README.md
>
> (under BUILDING) says your Perl 5 needs to be built with particular
> compile flags (-fPIC via -Duseshrplib).
>
> It's probably worth checking this is the case when you upgrade perl 5.
>
> If you have to rebuild perl5 from source you may (not sure) also have
> to rebuild perl 6 from source in order to use the same C compiler with
> both.
>
> This all *should* work on Windows (although I'd be unsurprised if
> noone has tested it recently) but it's probably easier to practice the
> steps on a common linux distro (under virtualbox or whatever) before
> trying it on that platform.
>
> Cheers Steve
>
> On 29 September 2017 at 17:06, Ville Koskinen
> <perl6-bugs-follo...@perl.org> wrote:
>
> # New Ticket Created by  Ville Koskinen
> # Please include the string:  [perl #132183]
> # in the subject line of all future correspondence about this issue.
> # <URL: https://rt.perl.org/Ticket/Display.html?id=132183 >
>
>
> I downloaded and installed the latest Windows x64 build of Rakudo
> (http://rakudo.org/downloads/star/rakudo-star-latest-x86_64%20(JIT).msi).
> My operating system is Windows Server 2016.
>
> When I try to install Inline::Perl5 with zef, the package installation
> fails. But no matter how high I set verbosity, all I get is a cryptic
> error message:
>
> C:\Users\villek>zef --debug install Inline::Perl5
> ===> Searching for: Inline::Perl5
> ===> Found: Inline::Perl5:ver('0.29'):auth('github:niner') [via
> Zef::Repository::LocalCache]
> ===> Dependencies: LibraryMake, File::Temp
> ===> Filtering: Inline::Perl5:ver('0.29'):auth('github:niner')
> ===> Filtering [OK] for Inline::Perl5:ver('0.29'):auth('github:niner')
> ===> Building: Inline::Perl5:ver('0.29'):auth('github:niner')
> Building with plugin: Zef::Service::Shell::Build+{<anon|123227344>}
> Command: C:\rakudo\bin\perl6.bat -Ilib -I. -MBuild -e
> ::('Build').new.build('C:\Users\villek\.zef\store\Inline-Perl5-0.29.tar.gz\Inline-Perl5-0.29');
> exit(0);
> Can't find string terminator '"' anywhere before EOF at -e line 1.
>
> Perl 5 version requirement not met
>
>    in method build at
> C:\Users\villek\.zef\store\Inline-Perl5-0.29.tar.gz\Inline-Perl5-0.29\Build.pm
> (Build) line 6
>    in block <unit> at -e line 1
>
>
> ===> Building [FAIL]: Inline::Perl5:ver('0.29'):auth('github:niner')
> Aborting due to build failure:
> Inline::Perl5:ver('0.29'):auth('github:niner') (use --force-build to
> override)
>    in code  at
> C:\rakudo\share\perl6\site\sources\3393EDA469A9E8925A633FF7A533AB41141495DA
> (Zef::Client) line 329
>    in method build at
> C:\rakudo\share\perl6\site\sources\3393EDA469A9E8925A633FF7A533AB41141495DA
> (Zef::Client) line 294
>    in sub  at
> C:\rakudo\share\perl6\site\sources\3393EDA469A9E8925A633FF7A533AB41141495DA
> (Zef::Client) line 520
>    in method install at
> C:\rakudo\share\perl6\site\sources\3393EDA469A9E8925A633FF7A533AB41141495DA
> (Zef::Client) line 631
>    in sub MAIN at
> C:\rakudo\share\perl6\site\sources\ED3033E8712BCF9F6DE53678B14A54705DF211A6
> (Zef::CLI) line 152
>    in block <unit> at
> C:\rakudo\share\perl6\site\resources\DC5F87DA28311BE6F3A731229527E5C4A2F12716
> line 1
>    in sub MAIN at C:\rakudo\share\perl6\site\bin\zef line 2
>    in block <unit> at C:\rakudo\share\perl6\site\bin\zef line 2
>
> This is in cmd.exe. In Powershell, the output is similar:
>
> PS C:\Users\villek> zef --debug install Inline::Perl5
> ===> Searching for: Inline::Perl5
> ===> Found: Inline::Perl5:ver('0.29'):auth('github:niner') [via
> Zef::Repository::LocalCache]
> ===> Dependencies: LibraryMake, File::Temp
> ===> Filtering: Inline::Perl5:ver('0.29'):auth('github:niner')
> ===> Filtering [OK] for Inline::Perl5:ver('0.29'):auth('github:niner')
> ===> Building: Inline::Perl5:ver('0.29'):auth('github:niner')
> Building with plugin: Zef::Service::Shell::Build+{<anon|123227344>}
> Command: C:\rakudo\bin\perl6.bat -Ilib -I. -MBuild -e
> ::('Build').new.build('C:\Users\villek\.zef\store\Inline-Perl5-0.29.tar.gz\Inline-Perl5-0.29');
> exit(0);
> Can't find string terminator '"' anywhere before EOF at -e line 1.
>
> Perl 5 version requirement not met
>
>    in method build at
> C:\Users\villek\.zef\store\Inline-Perl5-0.29.tar.gz\Inline-Perl5-0.29\Build.pm
> (Build) line 6
>    in block <unit> at -e line 1
>
>
> ===> Building [FAIL]: Inline::Perl5:ver('0.29'):auth('github:niner')
> Aborting due to build failure:
> Inline::Perl5:ver('0.29'):auth('github:niner') (use --force-build to
> override)
>    in code  at
> C:\rakudo\share\perl6\site\sources\3393EDA469A9E8925A633FF7A533AB41141495DA
> (Zef::Client) line 329
>    in method build at
> C:\rakudo\share\perl6\site\sources\3393EDA469A9E8925A633FF7A533AB41141495DA
> (Zef::Client) line 294
>    in sub  at
> C:\rakudo\share\perl6\site\sources\3393EDA469A9E8925A633FF7A533AB41141495DA
> (Zef::Client) line 520
>    in method install at
> C:\rakudo\share\perl6\site\sources\3393EDA469A9E8925A633FF7A533AB41141495DA
> (Zef::Client) line 631
>    in sub MAIN at
> C:\rakudo\share\perl6\site\sources\ED3033E8712BCF9F6DE53678B14A54705DF211A6
> (Zef::CLI) line 152
>    in block <unit> at
> C:\rakudo\share\perl6\site\resources\DC5F87DA28311BE6F3A731229527E5C4A2F12716
> line 1
>    in sub MAIN at C:\rakudo\share\perl6\site\bin\zef line 2
>    in block <unit> at C:\rakudo\share\perl6\site\bin\zef line 2
>
> Is this a bug in zef or in perl6.bat?
>
> Am I expected to read through the source code on the lines mentioned in
> the stack trace?
>
> It would be much more useful to see some diagnostics about which
> compiler the Build package is trying to use (if any!), whether it has
> failed to find it and what it is actually trying to accomplish.
>
> Regards,
> Ville Koskinen
>
>
>
> --
> Ville Koskinen
> Matrix Science
> 64 Baker Street
> London W1U 7GB, UK
> Tel: +44 (0)20 7486 1050
> Fax: +44 (0)20 7224 1344
>
> vil...@matrixscience.com
> http://www.matrixscience.com
>
> Matrix Science Ltd. is registered in England and Wales
> Company number 3533898



-- 
4096R/EA75174B Steve Mynott <steve.myn...@gmail.com>

Reply via email to