Open melezhik opened 2 years ago
I updated my test a little bit. So JSON::Fast is not being installed because it's been installed before, now the question why it's not seen in Rakudo paths and it's seen by zef (which does not attempt to install it for that reason)?
[task run: task.bash - tasks/multi-versions]
[dump code: task.bash]
[1] set -e
[2]
[3] eval "$(~/.rakubrew/bin/rakubrew init Bash)"
[4] rakubrew download moar-$version
[5] rakubrew switch moar-$version
[6]
[7] which raku
[8] raku --version
[9]
[10] cd source/
[11]
[12] zef install --/test JSON::Fast
[13] zef info JSON::Fast
[14] zef install . --deps-only --test-depends --/test
[15]
[16] /usr/bin/time -o "${cache_root_dir}/${version}_time" \
[17] zef test . && touch "${cache_root_dir}/${version}_ok"
[18]
[task stdout]
23:43:23 :: Downloading https://rakudo.org/dl/rakudo/rakudo-moar-2022.04-01-linux-x86_64-gcc.tar.gz
23:43:23 :: Extracting
23:43:24 :: Switching to moar-2022.04
23:43:24 :: Done, moar-2022.04 installed
23:43:25 :: Switching to moar-2022.04
23:43:25 :: /home/worker/.rakubrew/versions/moar-2022.04/bin/raku
23:43:25 :: Welcome to Rakudo™ v2022.04.
23:43:25 :: Implementing the Raku® Programming Language v6.d.
23:43:25 :: Built on MoarVM version 2022.04.
23:43:57 :: No reason to proceed. Use --force-install to continue anyway
23:44:06 :: - Info for: JSON::Fast
23:44:06 :: - Identity: JSON::Fast:ver<0.17>:auth<cpan:TIMOTIMO>
23:44:06 :: - Recommended By: Zef::Repository::LocalCache
23:44:06 :: - Installed: Yes
23:44:06 :: Description: A naive, fast json parser and serializer; drop-in replacement for JSON::Tiny
23:44:06 :: License: Artistic-2.0
23:44:06 :: Source-url: git://github.com/timo/json_fast.git
23:44:06 :: Provides: 1 modules
23:44:06 :: Support:
23:44:06 :: # source: git://github.com/timo/json_fast.git
23:44:06 :: Depends: 1 items
23:44:09 :: ===> Searching for missing dependencies: AttrX::Mooish, Test::Async, Test::META, Test::When
23:45:01 :: ===> Searching for missing dependencies: META6:ver<0.0.24+>, URI, License::SPDX
23:45:01 :: ===> Searching for missing dependencies: JSON::Class:ver<0.0.15+>, JSON::Name, JSON::Class:ver<0.0.14+>
23:45:01 :: ===> Searching for missing dependencies: JSON::OptIn, JSON::Marshal:ver<0.0.23+>, JSON::Unmarshal:ver<0.08+>
23:45:01 :: ===> Installing: Test::Async:ver<0.1.8>:auth<zef:vrurg>:api<0.1.1>
23:45:01 :: ===> Installing: Test::When:ver<1.001009>:auth<zef:raku-community-modules>
23:45:01 :: ===> Installing: JSON::OptIn:ver<0.0.2>:auth<zef:jonathanstowe>
23:45:01 :: ===> Installing: JSON::Name:ver<0.0.7>:auth<zef:jonathanstowe>:api<1.0>
23:45:01 :: ===> Installing: JSON::Marshal:ver<0.0.24>:auth<zef:jonathanstowe>:api<1.0>
23:45:01 :: ===> Install [FAIL] for JSON::Marshal:ver<0.0.24>:auth<zef:jonathanstowe>:api<1.0>: ===SORRY!=== Error while compiling /var/.sparrowdo/env/main/.sparrowdo/source/site#sources/DADA798BF2352A7EF1A131ACE8CB36C2AE6BF63B (JSON::Marshal)
23:45:01 :: Could not find JSON::Fast:ver<0.16+> in:
23:45:01 :: /home/worker/.rakubrew/versions/moar-2022.04/share/perl6/site
23:45:01 :: /home/worker/.rakubrew/versions/moar-2022.04/share/perl6/vendor
23:45:01 :: /home/worker/.rakubrew/versions/moar-2022.04/share/perl6/core
23:45:01 :: CompUnit::Repository::AbsolutePath<80049560>
23:45:01 :: CompUnit::Repository::NQP<70845880>
23:45:01 :: CompUnit::Repository::Perl5<70845920>
23:45:01 :: at /var/.sparrowdo/env/main/.sparrowdo/source/site#sources/DADA798BF2352A7EF1A131ACE8CB36C2AE6BF63B (JSON::Marshal):108
full log is here - https://ci.sparrowhub.io/report/1659
Well,
If it was JSON::Marshal
itself causing this then:
root@6e4061a674a5:/# zef install Test::META
===> Searching for: Test::META
===> Updating fez mirror: https://360.zef.pm/
===> Updated fez mirror: https://360.zef.pm/
===> Searching for missing dependencies: META6:ver<0.0.24+>, URI, License::SPDX
===> Updating rea mirror: https://raw.githubusercontent.com/Raku/REA/main/META.json
===> Updated rea mirror: https://raw.githubusercontent.com/Raku/REA/main/META.json
===> Searching for missing dependencies: JSON::Class:ver<0.0.14+>, JSON::Class:ver<0.0.15+>, JSON::Name, JSON::Fast
===> Searching for missing dependencies: JSON::OptIn, JSON::Marshal:ver<0.0.23+>, JSON::Unmarshal:ver<0.08+>
===> Testing: JSON::Fast:ver<0.17>:auth<cpan:TIMOTIMO>
===> Testing [OK] for JSON::Fast:ver<0.17>:auth<cpan:TIMOTIMO>
===> Testing: JSON::OptIn:ver<0.0.2>:auth<zef:jonathanstowe>
===> Testing [OK] for JSON::OptIn:ver<0.0.2>:auth<zef:jonathanstowe>
===> Testing: JSON::Name:ver<0.0.7>:auth<zef:jonathanstowe>:api<1.0>
===> Testing [OK] for JSON::Name:ver<0.0.7>:auth<zef:jonathanstowe>:api<1.0>
===> Testing: JSON::Marshal:ver<0.0.24>:auth<zef:jonathanstowe>:api<1.0>
===> Testing [OK] for JSON::Marshal:ver<0.0.24>:auth<zef:jonathanstowe>:api<1.0>
===> Testing: JSON::Unmarshal:ver<0.11>:auth<zef:raku-community-modules>
===> Testing [OK] for JSON::Unmarshal:ver<0.11>:auth<zef:raku-community-modules>
===> Testing: JSON::Class:ver<0.0.19>:auth<zef:jonathanstowe>:api<1.0>
===> Testing [OK] for JSON::Class:ver<0.0.19>:auth<zef:jonathanstowe>:api<1.0>
===> Testing: META6:ver<0.0.29>:auth<zef:jonathanstowe>:api<1.0>
===> Testing [OK] for META6:ver<0.0.29>:auth<zef:jonathanstowe>:api<1.0>
===> Testing: URI:ver<0.3.5>
===> Testing [OK] for URI:ver<0.3.5>
===> Testing: License::SPDX:ver<3.18.0>:auth<zef:jonathanstowe>:api<1.0>
===> Testing [OK] for License::SPDX:ver<3.18.0>:auth<zef:jonathanstowe>:api<1.0>
===> Testing: Test::META:ver<0.0.19>:auth<zef:jonathanstowe>:api<1.0>
[Test::META] # the following may make some diagnostics from the module itself
===> Testing [OK] for Test::META:ver<0.0.19>:auth<zef:jonathanstowe>:api<1.0>
===> Installing: JSON::Fast:ver<0.17>:auth<cpan:TIMOTIMO>
===> Installing: JSON::OptIn:ver<0.0.2>:auth<zef:jonathanstowe>
===> Installing: JSON::Name:ver<0.0.7>:auth<zef:jonathanstowe>:api<1.0>
===> Installing: JSON::Marshal:ver<0.0.24>:auth<zef:jonathanstowe>:api<1.0>
===> Installing: JSON::Unmarshal:ver<0.11>:auth<zef:raku-community-modules>
===> Installing: JSON::Class:ver<0.0.19>:auth<zef:jonathanstowe>:api<1.0>
===> Installing: META6:ver<0.0.29>:auth<zef:jonathanstowe>:api<1.0>
===> Installing: URI:ver<0.3.5>
===> Installing: License::SPDX:ver<3.18.0>:auth<zef:jonathanstowe>:api<1.0>
===> Installing: Test::META:ver<0.0.19>:auth<zef:jonathanstowe>:api<1.0>
wouldn't work, so I'm a bit confused. It's the same if the JSON::Fast
is installed first.
Could you try this with an additional zef update
prior to trying to install any of the modules?
Even testing this with a rakudo
installed by rakubrew
as you are doing it works fine so I'm stumped.
Is it possible that there is something in your META6.json
that is causing this?
I have no other ideas rather than thinking it's zef issue. For some reasons zef refuses to install JSON::Fast:ver<0.16+>
dependency even though it's declared in JSON::Marhsal - https://github.com/jonathanstowe/JSON-Marshal/blob/master/META6.json#L32
Even cleaning of zef cache does not help (rm -rf ~/.zef
)
[task run: task.bash - tasks/multi-versions]
[dump code: task.bash]
[1] set -e
[2]
[3] curl -sL https://rakudo.org/dl/rakudo/rakudo-moar-$version-01-linux-x86_64-gcc.tar.gz \
[4] -o rakudo-moar-$version-01-linux-x86_64-gcc.tar.gz
[5] tar -xzf rakudo-moar-$version-01-linux-x86_64-gcc.tar.gz
[6] eval "$(rakudo-moar-$version-01-linux-x86_64-gcc/scripts/set-env.sh)"
[7]
[8] which raku
[9] which zef
[10] raku --version
[11] zef --version
[12]
[13] cd source/
[14] rm -rf ~/.zef/
[15] zef update
[16] #zef install --/test JSON::Fast
[17] zef install . --deps-only --test-depends --/test
[18]
[19] /usr/bin/time -o "${cache_root_dir}/${version}_time" \
[20] zef test . && touch "${cache_root_dir}/${version}_ok"
[21]
[task stdout]
16:40:48 :: Adding Rakudo to PATH
16:40:48 :: =======================
16:40:48 ::
16:40:48 :: Paths successfully added.
16:40:48 ::
16:40:48 :: ================================================================================
16:40:48 :: ========= __ __
16:40:48 :: ||_|_|| ============================= ( \,/ )
16:40:48 :: || # || Welcome to the Raku Console \_ O _/
16:40:48 :: || # || ============================= (_/ \_)
16:40:48 ::
16:40:48 :: This console has all the tools available you need to get started using Raku.
16:40:48 ::
16:40:48 :: Rakudo provides an interactive command line interpreter (a so called Read Eval
16:40:48 :: Print Loop, REPL for short) you can use to quickly try out pieces of Raku code.
16:40:48 :: Start it by typing:
16:40:48 ::
16:40:48 :: raku
16:40:48 ::
16:40:48 :: If you already have a Raku program in a file, you can run it by typing:
16:40:48 ::
16:40:48 :: raku path/to/my/program.raku
16:40:48 ::
16:40:48 :: To install additional modules you can use the Zef module manager:
16:40:48 ::
16:40:48 :: zef install Some::Module
16:40:48 ::
16:40:48 :: https://rakudo.org/ - The home of this implementation of Raku.
16:40:48 :: https://raku.land/ - Go here to browse for Raku modules.
16:40:48 :: https://docs.raku.org/ - The Raku documentation.
16:40:48 :: https://web.libera.chat/#raku - The Raku user chat. Talk to us!
16:40:48 ::
16:40:48 :: Happy hacking!
16:40:48 ::
16:40:48 :: ================================================================================
16:40:48 ::
16:40:48 :: /var/.sparrowdo/env/main/.sparrowdo/rakudo-moar-2022.04-01-linux-x86_64-gcc/bin/raku
16:40:48 :: /var/.sparrowdo/env/main/.sparrowdo/rakudo-moar-2022.04-01-linux-x86_64-gcc/share/perl6/site/bin/zef
16:40:48 :: Welcome to Rakudo™ v2022.04.
16:40:48 :: Implementing the Raku® Programming Language v6.d.
16:40:48 :: Built on MoarVM version 2022.04.
16:41:08 :: v0.14.4
16:41:26 :: ===> Searching for missing dependencies: AttrX::Mooish, Test::Async, Test::META, Test::When
16:41:45 :: ===> Searching for missing dependencies: META6:ver<0.0.24+>, URI, License::SPDX
16:41:45 :: ===> Searching for missing dependencies: JSON::Class:ver<0.0.15+>, JSON::Name, JSON::Class:ver<0.0.14+>
16:41:45 :: ===> Searching for missing dependencies: JSON::OptIn, JSON::Marshal:ver<0.0.23+>, JSON::Unmarshal:ver<0.08+>
16:41:45 :: ===> Installing: JSON::OptIn:ver<0.0.2>:auth<zef:jonathanstowe>
16:41:45 :: ===> Installing: JSON::Name:ver<0.0.7>:auth<zef:jonathanstowe>:api<1.0>
16:41:45 :: ===> Installing: JSON::Marshal:ver<0.0.24>:auth<zef:jonathanstowe>:api<1.0>
16:41:45 :: ===> Install [FAIL] for JSON::Marshal:ver<0.0.24>:auth<zef:jonathanstowe>:api<1.0>: ===SORRY!=== Error while compiling /var/.sparrowdo/env/main/.sparrowdo/source/site#sources/DADA798BF2352A7EF1A131ACE8CB36C2AE6BF63B (JSON::Marshal)
16:41:45 :: Could not find JSON::Fast:ver<0.16+> in:
16:41:45 :: /var/.sparrowdo/env/main/.sparrowdo/rakudo-moar-2022.04-01-linux-x86_64-gcc/share/perl6/site
16:41:45 :: /var/.sparrowdo/env/main/.sparrowdo/rakudo-moar-2022.04-01-linux-x86_64-gcc/share/perl6/vendor
16:41:45 :: /var/.sparrowdo/env/main/.sparrowdo/rakudo-moar-2022.04-01-linux-x86_64-gcc/share/perl6/core
16:41:45 :: CompUnit::Repository::AbsolutePath<72194632>
16:41:45 :: CompUnit::Repository::NQP<62987368>
16:41:45 :: CompUnit::Repository::Perl5<62987408>
16:41:45 :: at /var/.sparrowdo/env/main/.sparrowdo/source/site#sources/DADA798BF2352A7EF1A131ACE8CB36C2AE6BF63B (JSON::Marshal):
Full log here - https://ci.sparrowhub.io/report/1669
I ended up adding zef install --/test JSON::Fast --force-install
as workaround ... 😔
looks like a rakudo bug? https://github.com/ugexe/zef/issues/479#issuecomment-1310627890
cc @ugexe
@ugexe @jonathanstowe looks like zef install --/deps-only --/test -to=home
fix this issue - https://ci.sparrowhub.io/report/1944 , the key point here is to use -to=home
in this case zef sees JSON::Fast perviously in home for another version of Rakudo, this seems like a hack, however I don't know better solution. Maybe I need to fill a bug into zef or Rakudo with the full explanation of all the steps ...
Hi! Seems JSON-Marshal installation does not load JSON::Fast:
Full log - https://ci.sparrowhub.io/report/1651
Still not sure, b/c this dependency is declared in META6.json