为什么创建GTK应用程序会导致依赖性错误?

时间:2016-02-10 17:55:13

标签: perl6

我想使用Perl 6测试一个小GTK::Simple个应用代码段:

use GTK::Simple;

my GTK::Simple::App $app .= new;
$app.border_width = 20;
$app.set_content(GTK::Simple::Label.new(text => "Goodbye, World!"));
$app.run;

来自RosettaCode

但我收到了一个有趣的错误:

$ perl6 gui.perl6
===SORRY!===
Failed to open file /home/cat/.perl6/2015.12-221-g85d20f3/precomp/81A1D2D4AD67A53BB9FDD05C0772E081A53D528B.1453913647.88375/D0/D0F2A6FBB788535370F2DE11458DE9A2F602F27A.deps: no such file or directory

touch编辑了该文件名,但却得到了一个不同的错误(所以它必须包含一些特定的东西,而不仅仅是一个锁):

===SORRY!===
Missing or wrong version of dependency '/home/cat/.rakudobrew/moar-nom/install/share/perl6/sources/D57DE2EF74B56D825F14A3B5B0E6402D49B53D5B' (from '/home/cat/.rakudobrew/moar-nom/install/share/perl6/site/sources/D0F2A6FBB788535370F2DE11458DE9A2F602F27A')

这些文件名包含一堆Perl 6类和方法,显然与GTK有关。

我已安装GTK::Simple panda install GTK::Simplepanda声称已正确安装。

发生了什么,我该怎么做才能解决它?

我不确定这是否是Rakudo / Moar中的一个错误,但如果它是我不反对这个问题的关闭。

2 个答案:

答案 0 :(得分:2)

这"正常运作" (tm)对我来说。我正在运行This is Rakudo version 2015.12-232-ga5fe347 built on MoarVM version 2015.12-29-g8079ca5 implementing Perl 6.c.此外,该模块还有一个稍微复杂的示例:Example 01_hello_world.p6同样按字母顺序排列。 模块自述文件说明;

此模块需要安装GTK3库。

在Debian Linux上安装它:

sudo apt-get install libgtk-3-dev

我输入了panda install GTK::Simple后面的命令。我没有使用GTK的经验,但乍一看 - 你的本地安装可能有问题吗?

如果您已通过 rakudobrew 安装,则会将其安装在~/.rakudobrew的主目录中。你可以相对轻松rm -rf -i ~/.rakudobrew然后重新开始。当然,如果这会删除你的硬盘并杀死你的整个家庭,你将不得不对你决定采取的任何行动承担责任;-)。 PS谢谢你带领GTK:Simple。顾名思义,GTK窗口应用程序并不容易。

答案 1 :(得分:2)

我没有太多但是我正在写这篇文章来推动事情发展。

  

发生了什么事?

我知道你知道这一点,但对于那些阅读的人来说,它并没有找到一个预期找到的文件。

你几乎肯定会破坏安装。

  

我该怎么做才能解决它?

我建议你修改你的Rakudo安装(rm -rf或同等版本或rakudobrew nuke moar)并重新安装。如果这不起作用visit #perl6-toolchain,请留言,并在频道上闲逛以获得答案,或稍后阅读logs

这就是为什么我建议:

我通过手动检查a google search of the #perl6 log for 'Failed to open file'找到的唯一有趣结果是a case from Decembera case from January

在第一种情况下,重建根据日志修复了问题。

在第二种情况下,对Perl 6的相关部分非常了解的人说“有时间来安装你的安装”。我没有找到任何后续讨论确认这是否有效。

如果需要的话,我希望在几天内重新考虑一下。