Raku / ecosystem-unbitrot

Which modules are not installable?
https://perl6.github.io/ecosystem-unbitrot/
GNU General Public License v3.0
5 stars 4 forks source link

MeCab #471

Open AlexDaniel opened 5 years ago

AlexDaniel commented 5 years ago

Module MeCab cannot be installed (AlwaysFail), perhaps it has some failing tests.

If you can't self-assign yourself or attach a label, please let us know on #perl6 channel on freenode or just leave a comment here. We will try to give you privileges as fast as possible.

Output:

===> Searching for: MeCab
Failed to open file /home/alex/Blin/data/zef-data/store/MeCab-0.0.7.tar.gz/MeCab-0.0.7/resources/libraries/libmecab.so: No such file or directory
===> Found: MeCab:ver<0.0.6> [via Zef::Repository::Ecosystems<cpan>]
===> Fetching [OK]: MeCab:ver<0.0.6> to /home/alex/Blin/data/zef-data/tmp/1549581930.20512.201/MeCab-0.0.7.tar.gz
===> Extraction [OK]: MeCab to /home/alex/Blin/data/zef-data/store/MeCab-0.0.7.tar.gz
===> Building: MeCab:ver<0.0.6>
Command: /tmp/whateverable/rakudo-moar/1ff9b14e8903d77f066f7c2673ea59d6ad7f4aa6/bin/perl6 -Ilib -e require '/home/alex/Blin/data/zef-data/store/MeCab-0.0.7.tar.gz/MeCab-0.0.7/Build.pm'; ::('Build').new.build('/home/alex/Blin/data/zef-data/store/MeCab-0.0.7.tar.gz/MeCab-0.0.7') ?? exit(0) !! exit(1);
===SORRY!===
Could not find Zef::Fetch at line 2 in:
    file#/home/alex/Blin/data/zef-data/store/MeCab-0.0.7.tar.gz/MeCab-0.0.7/lib
    file#/home/alex/Blin/data/zef-data/store/MeCab-0.0.7.tar.gz/MeCab-0.0.7/data/zef/lib
    inst#/home/alex/Blin/installed/LibraryMake_1.0.0
    inst#/home/alex/Blin/installed/Shell::Command_*
    inst#/home/alex/Blin/installed/File::Which_1.0.1
    inst#/home/alex/Blin/installed/File::Find_0.1
    inst#/home/alex/.perl6
    inst#/tmp/whateverable/rakudo-moar/1ff9b14e8903d77f066f7c2673ea59d6ad7f4aa6/share/perl6/site
    inst#/tmp/whateverable/rakudo-moar/1ff9b14e8903d77f066f7c2673ea59d6ad7f4aa6/share/perl6/vendor
    inst#/tmp/whateverable/rakudo-moar/1ff9b14e8903d77f066f7c2673ea59d6ad7f4aa6/share/perl6
    ap#
    nqp#
    perl5#
===> Building [FAIL]: MeCab:ver<0.0.6>
Failed to build, but continuing with --force-build
===> Installing: MeCab:ver<0.0.6>
===> Install [FAIL] for MeCab:ver<0.0.6>: Failed to open file /home/alex/Blin/data/zef-data/store/MeCab-0.0.7.tar.gz/MeCab-0.0.7/resources/libraries/libmecab.so: No such file or directory

Ping @titsuki

titsuki commented 5 years ago

@AlexDaniel MeCab works well on travis ci environment: https://travis-ci.org/titsuki/p6-MeCab/builds/490520612 However, even if i set PERL6LIB=data/zef/lib,lib and run $ PERL6LIB=data/zef/lib,lib bin/blin.p6 MeCab, Blin cannot detect Zef::Fetch and fails. Is there any good way to pass the build phase via Blin?

AlexDaniel commented 5 years ago

@titsuki if my understanding is correct, this is what happens. When Blin attempts to install a module, it constructs PERL6LIB paths specific to that module. So if a module depends on A and B, only A and B will be available. It does that by looking at depends and test-depends and build-depends fields.

Now, MeCab depends on Zef, right? However, Zef is not in any of the depends fields. So maybe just adding Zef to META6.json will make it installable?

titsuki commented 5 years ago

I have already fixed this problem but Blin requires the package list update (https://raw.githubusercontent.com/ugexe/Perl6-ecosystems/master/cpan1.json ) and it will take more time to show up the latest MeCab package. So, I'll confirm this issue is really fixed or not tomorrow.

titsuki commented 5 years ago

I noticed that the package list has the latest MeCab package. I mistakenly understand Blin has Module:ver<VERSION> (e.g., MeCab:ver<0.11.0>) style syntax like Zef has. However, MeCab:version<0.0.11> (i.e., the previous latest package) fails again due to the other missing libraries other than Zef::Fetch. I'll test the next fixed version tomorrow.

titsuki commented 5 years ago

@AlexDaniel I tested two patterns to install the dependent modules that Zef provides: https://github.com/titsuki/p6-MeCab/blob/0.0.13/META6.json#L6-L9 https://github.com/titsuki/p6-MeCab/blob/0.0.12/META6.json#L6-L14

However, MeCab still fails... Are there any other solutions?

AlexDaniel commented 5 years ago

I think just adding "Zef" as a dependency should work, I don't know why it doesn't… I'll try to take a look later. Anyway, I'm pretty sure for most users this is not an issue, I think currently it only fails in Blin.