ugexe / zef

Raku Module Management
Artistic License 2.0
207 stars 44 forks source link

zef does not see already installed module #479

Closed melezhik closed 1 year ago

melezhik commented 1 year ago

Hi ! I hit some weird bug with already installed module (possibly under one version of rakudo) and inability zef to see it (after switching to another version of rakudo), here is use case:

[task run: task.bash - tasks/multi-versions]
[dump code: task.bash]
[1] set -e
[2] 
[3] echo "Linux version: $os"
[4] 
[5] curl -sL https://rakudo.org/dl/rakudo/rakudo-moar-$version-01-linux-x86_64-gcc.tar.gz \
[6] -o rakudo-moar-$version-01-linux-x86_64-gcc.tar.gz
[7] tar -xzf rakudo-moar-$version-01-linux-x86_64-gcc.tar.gz
[8] echo "activating rakudo version $version ..."
[9] eval "$(rakudo-moar-$version-01-linux-x86_64-gcc/scripts/set-env.sh)" > /dev/null 
[10] 
[11] which raku
[12] which zef
[13] 
[14] raku --version
[15] zef --version
[16] 
[17] zef update 
[18] 
[19] zef info File::Directory::Tree
[20] 
[21] raku -MFile::Directory::Tree -e "say 'OK'"
[22] 
[23] cd source/
[24] 
[25] zef install . --deps-only --test-depends --build-depends --/test
[26] zef build .
[27] 
[28] /usr/bin/time -o "${cache_root_dir}/${version}_time" \
[29] zef test . && touch "${cache_root_dir}/${version}_ok"
[30] 
[task stdout]
17:00:04 :: Linux version: arch
17:00:05 :: activating rakudo version 2022.06 ...
17:00:05 :: /var/.sparrowdo/env/main/.sparrowdo/rakudo-moar-2022.06-01-linux-x86_64-gcc/bin/raku
17:00:05 :: /var/.sparrowdo/env/main/.sparrowdo/rakudo-moar-2022.06-01-linux-x86_64-gcc/share/perl6/site/bin/zef
17:00:05 :: Welcome to Rakudo™ v2022.06.
17:00:05 :: Implementing the Raku® Programming Language v6.d.
17:00:05 :: Built on MoarVM version 2022.06.
17:00:26 :: v0.14.4
17:00:51 :: - Info for: File::Directory::Tree
17:00:51 :: - Identity: File::Directory::Tree
17:00:51 :: - Recommended By: Zef::Repository::LocalCache
17:00:51 :: - Installed: Yes, as File::Directory::Tree:auth<labster>
17:00:51 :: Author:  labster
17:00:51 :: Description:     Port of File::Path::Tiny - create and delete directory trees
17:00:51 :: License:     Artistic-2.0
17:00:51 :: Source-url:  git://github.com/labster/p6-file-directory-tree.git
17:00:51 :: Provides: 1 modules
17:00:51 :: Depends: 0 items
17:00:52 :: OK
17:00:56 :: ===> Searching for missing dependencies: File::Temp, Method::Also, W3C::DOM:ver<0.0.2+>, XML, OO::Monitors, App::Prove6, LibraryMake
17:01:42 :: ===> Searching for missing dependencies: Shell::Command, Getopt::Long:ver<0.3.0+>, Path::Finder:ver<0.4.4+>, Pod::Usage, TAP:ver<0.3.4+>, sigpipe
17:01:42 :: ===> Searching for missing dependencies: File::Which, File::Find
17:01:42 :: ===> Installing: XML:ver<0.3.2>:auth<zef:raku-community-modules>
17:01:42 :: ===> Installing: Method::Also:ver<0.0.8>:auth<zef:lizmat>
17:01:42 :: ===> Installing: File::Which:ver<1.0.4>
17:01:42 :: ===> Installing: File::Find:ver<0.1.1>
17:01:42 :: ===> Installing: Shell::Command
17:01:42 :: ===> Installing: LibraryMake:ver<1.0.0>
17:01:42 :: ===> Installing: OO::Monitors:ver<1.1.1>
17:01:42 :: ===> Installing: Getopt::Long:ver<0.3.5>
17:01:42 :: ===> Installing: File::Temp:ver<0.0.10>:auth<zef:rbt>
17:01:42 :: ===> Install [FAIL] for File::Temp:ver<0.0.10>:auth<zef:rbt>: ===SORRY!=== Error while compiling /var/.sparrowdo/env/main/.sparrowdo/source/site#sources/5F3C2F631F65B41420D2685E96BE40A39DEEAC8C (File::Temp)
17:01:42 :: Could not find File::Directory::Tree in:
17:01:42 ::     /var/.sparrowdo/env/main/.sparrowdo/rakudo-moar-2022.06-01-linux-x86_64-gcc/share/perl6/site
17:01:42 ::     /var/.sparrowdo/env/main/.sparrowdo/rakudo-moar-2022.06-01-linux-x86_64-gcc/share/perl6/vendor
17:01:42 ::     /var/.sparrowdo/env/main/.sparrowdo/rakudo-moar-2022.06-01-linux-x86_64-gcc/share/perl6/core
17:01:42 ::     CompUnit::Repository::AbsolutePath<58699528>
17:01:42 ::     CompUnit::Repository::NQP<60747936>
17:01:42 ::     CompUnit::Repository::Perl5<60747976>
17:01:42 :: at /var/.sparrowdo/env/main/.sparrowdo/source/site#sources/5F3C2F631F65B41420D2685E96BE40A39DEEAC8C (File::Temp):3
ugexe commented 1 year ago

fwiw that error is generated by rakudo when precompiling inside of CompUnit::Repository::Installation.install(...) and is unrelated to zef specifically. Closing as a duplicate of https://github.com/rakudo/rakudo/issues/4699

melezhik commented 1 year ago

FYI fez install --/test --deps-only -to=home . fix the issue, see my comment - https://github.com/jonathanstowe/JSON-Marshal/issues/14#issuecomment-1334622856