Inline-Python icon indicating copy to clipboard operation
Inline-Python copied to clipboard

(Null) does not support elems (for type VMNull)

Open ufobat opened this issue 6 years ago • 2 comments

I am unable to install Inline::Python.

> perl6 -v
This is Rakudo version 2019.03.1 built on MoarVM version 2019.03
implementing Perl 6.d.

> zef --version
v0.7.3
> zef -v --/update install Inline::Python
===> Searching for: Inline::Python
===> Found: Inline::Python:ver<0.3>:auth<cpan:NINE> [via Zef::Repository::LocalCache]
===> Building: Inline::Python:ver<0.3>:auth<cpan:NINE>
Command: /home/barthm/.rakudobrew/bin/../moar-2019.03.1/install/bin/perl6 -I. -MMONKEY-SEE-NO-EVAL -e exit((require ::(q|Distribution::Builder::MakeFromJSON|)).new(:meta(EVAL($*IN.slurp(:close)))).build(q|/home/barthm/.zef/store/Inline-Python.git/7ceee0baf3c47cdb35fcf6bfa3e83d43b0fc3e8c|)??0!!1)
This representation (Null) does not support elems (for type VMNull)
  in method build at /home/barthm/.rakudobrew/moar-2019.03.1/install/share/perl6/site/precomp/344AD54DF7E5D38758C94A42435BCD791C20A36F/84/84F6485675793C57C38A5D580CA9D36E01F755B9 line 35
  in block <unit> at -e line 1

===> Building [FAIL]: Inline::Python:ver<0.3>:auth<cpan:NINE>
Aborting due to build failure: Inline::Python:ver<0.3>:auth<cpan:NINE> (use --force-build to override)

ufobat avatar Apr 26 '19 06:04 ufobat

I can confirm this issue still with the latest Rakudo version:

# python --version
Python 2.7.16
# raku --version
This is Rakudo version 2019.11 built on MoarVM version 2019.11
implementing Perl 6.d.
# zef --version
v0.8.2
# zef install Inline::Python
===> Searching for: Inline::Python
===> Updating cpan mirror: https://raw.githubusercontent.com/ugexe/Perl6-ecosystems/master/cpan1.json
===> Updating p6c mirror: https://raw.githubusercontent.com/ugexe/Perl6-ecosystems/master/p6c1.json
===> Updated p6c mirror: https://raw.githubusercontent.com/ugexe/Perl6-ecosystems/master/p6c1.json
===> Updated cpan mirror: https://raw.githubusercontent.com/ugexe/Perl6-ecosystems/master/cpan1.json
===> Searching for missing dependencies: Distribution::Builder::MakeFromJSON
===> Searching for missing dependencies: System::Query
===> Searching for missing dependencies: JSON::Fast
===> Building: Inline::Python:ver<0.3>:auth<cpan:NINE>
[Inline::Python] elems requires a concrete object (got a VMNull type object instead)
[Inline::Python]   in method build at /root/.zef/store/Distribution-Builder-MakeFromJSON-0.4.tar.gz/Distribution-Builder-MakeFromJSON-0.4/.precomp/9D05EC76D633E8FA096375445F368ECC3C873D9E/86/8608FF83A46EBF0B38AF0AE87BE87F7C8EF704B2 line 35
[Inline::Python]   in block <unit> at -e line 1
===> Building [FAIL]: Inline::Python:ver<0.3>:auth<cpan:NINE>
Aborting due to build failure: Inline::Python:ver<0.3>:auth<cpan:NINE> (use --force-build to override)
#

kbucheli avatar Dec 23 '19 15:12 kbucheli

Hi,

Without really knowing what to look for :

the .elems method only occurs 4 times in lib/Inline/Python.pm6, and I've somehow got the feeling that it's the multi method p6_to_py(blob8:D $value) variant that's part of the problem. The raku documentation shows that the methods available on the blob8 type changed significantly for 2019.03, and that's when the module starting failing to install (I believe).

I could easily be completely wrong about the (partial?) cause of this install failure, but hopefully adding this comment will be of help to someone who knows more how to fix the issue than I do.

Inline::Python is a brilliant module, that allows a bridge to the Python matplotlib package (and real use case for Raku), and it's a pity it doesn't install currently.

bazzaar avatar Dec 30 '19 23:12 bazzaar