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

Insufficient debug messages from zef/perl6.bat when package build fails #6557

Open
p6rt opened this issue Sep 29, 2017 · 5 comments
Open

Insufficient debug messages from zef/perl6.bat when package build fails #6557

p6rt opened this issue Sep 29, 2017 · 5 comments

Comments

@p6rt
Copy link

p6rt commented Sep 29, 2017

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

Searchable as RT132183$

@p6rt
Copy link
Author

p6rt commented Sep 29, 2017

From villek@matrixscience.com

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

@p6rt
Copy link
Author

p6rt commented Oct 1, 2017

From @stmuk

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-followup@​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-archive.perl.org/perl6/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

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

@p6rt
Copy link
Author

p6rt commented Oct 1, 2017

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

@p6rt
Copy link
Author

p6rt commented Oct 2, 2017

From villek@matrixscience.com

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-followup@​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-archive.perl.org/perl6/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

villek@​matrixscience.com
http://www.matrixscience.com

Matrix Science Ltd. is registered in England and Wales
Company number 3533898

@p6rt
Copy link
Author

p6rt commented Oct 2, 2017

From @stmuk

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 <villek@​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-followup@​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-archive.perl.org/perl6/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

villek@​matrixscience.com
http://www.matrixscience.com

Matrix Science Ltd. is registered in England and Wales
Company number 3533898

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

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

No branches or pull requests

1 participant