gpt4 book ai didi

module - 如何找出 Linenoise 无法安装的原因?

转载 作者:行者123 更新时间:2023-12-01 14:36:04 25 4
gpt4 key购买 nike

这是在带有 MSVC 2015 的 64 位 Windows 10 Pro 上。这个问题很长,因为我想预先提供完整的信息,但实际问题相当简单:

我怎样才能得到panda在安装失败后保留工作目录(如 cpanm 那样),以便我可以诊断出了什么问题?

从下面的日志中可以看出,linenoise.dll似乎是在正确的地方创建的,但是到了安装时间,却无处可寻。
.panda-work目录在 %TEMP%离开了。

我刚建 Rakudo从源头做起

  • git clone git://github.com/rakudo/rakudo.git
  • cd rakudo
  • set CFLAGS=/O2 /favor:INTEL64 /Qpar
  • perl Configure.pl --gen-moar --gen-nqp --backends=moar --prefix=c:/opt/perl6
  • nmake test
  • nmake install
  • nmake spectest ← 上次尝试后失败次数有所增加,但这与我的问题无关

  • 然后我安装了 panda通过做:
  • git clone --recursive git://github.com/tadzik/panda.git
  • cd panda
  • perl6 bootstrap.pl

  • 哪个有效。

    然后我做了
    panda install Task::Star
    我测试失败:

    ==> 构建 NativeHelpers::Blob
    ==> 测试 NativeHelpers::Blob

    t/00-trivial.t ..
    可疑,测试返回 5 (wstat 1280, 0x500)
    1/1 子测试失败

    但我强制安装了它,因为我想尽快完成安装。

    所以,继续前进,我打了这个:

    C:\Users\...\Temp> Pandas 安装 Linenoise
    ==> 获取 Linenoise
    ==> 建筑线噪

    Microsoft (R) 程序维护实用程序版本 14.00.24210.0
    版权所有 (C) 微软公司。版权所有。

    cl -c/nologo/MT/Ox/GL/DNDEBUG/DWIN32/DAO_ASSUME_WINDOWS98/O2/favor:INTEL64/Qpar/Folinenoise.obj linenoise.c
    线噪
    perl6 -e "mkdir '资源';mkdir '资源/库'"
    链接/dll/nologo/LTCG shell32.lib ws2_32.lib mswsock.lib rpcrt4.lib advapi32.lib psapi.lib iphlpapi.lib userenv.lib/out:resources/libraries/libline
    噪声.dll linenoise.obj
    生成代码
    完成生成代码
    cl/Foconstant-helper/nologo/MT/Ox/GL/DNDEBUG/DWIN32/DAO_ASSUME_WINDOWS98/O2/favor:INTEL64/Qpar constant-helper.c
    常量助手.c
    生成代码
    完成生成代码
    perl6 fill-constants.pl lib/Linenoise.pm
    ==> 测试线噪
    ==> 安装 Linenoise
    无法打开文件 C:\Users\...\Temp\.panda-work\1483278033_1\resources\libraries\linenoise.dll:没有这样的文件或目录
    在任何在 C:\opt\perl6/share/perl6/runtime/CORE.setting.moarvm line 1
    在 C:\opt\perl6\share\perl6\site\sources\85367160D11E565B2D089507C79BC309215430D6(Panda::Installer)第 61 行的块中
    在 C:\opt\perl6\share\perl6\site\sources\24811C576EF8F85E7672B26955C802BB2FC94675(Panda::Common)第 20 行的子目录中
    在方法安装在 C:\opt\perl6\share\perl6\site\sources\85367160D11E565B2D089507C79BC309215430D6 (Panda::Installer) line 42
    在方法安装在 C:\opt\perl6\share\perl6\site\sources\582CB7486602954A4601BDCE5A0EAC54B05DA58A (Panda) line 190
    在方法解析在 C:\opt\perl6\share\perl6\site\sources\582CB7486602954A4601BDCE5A0EAC54B05DA58A (Panda) line 263
    在 C:\opt\perl6\share\perl6\site\resources\1C71F7B377C6F2C6C4707E3C25016AA25A2926B1 line 20 的 sub MAIN
    在 C:\opt\perl6\share\perl6\site\resources\1C71F7B377C6F2C6C4707E3C25016AA25A2926B1 第 165 行的块中

    实际上抛出:
    在 C:\opt\perl6/share/perl6/runtime/CORE.setting.moarvm 第 1 行的方法 throw
    在任何在 gen/moar/Metamodel.nqp line 3072
    在 C:\opt\perl6\share\perl6\site\sources\85367160D11E565B2D089507C79BC309215430D6(Panda::Installer)第 61 行的块中
    在 C:\opt\perl6\share\perl6\site\sources\24811C576EF8F85E7672B26955C802BB2FC94675(Panda::Common)第 20 行的子目录中
    在方法安装在 C:\opt\perl6\share\perl6\site\sources\85367160D11E565B2D089507C79BC309215430D6 (Panda::Installer) line 42
    在方法安装在 C:\opt\perl6\share\perl6\site\sources\582CB7486602954A4601BDCE5A0EAC54B05DA58A (Panda) line 190
    在方法解析在 C:\opt\perl6\share\perl6\site\sources\582CB7486602954A4601BDCE5A0EAC54B05DA58A (Panda) line 263
    在 C:\opt\perl6\share\perl6\site\resources\1C71F7B377C6F2C6C4707E3C25016AA25A2926B1 line 20 的 sub MAIN
    在 C:\opt\perl6\share\perl6\site\resources\1C71F7B377C6F2C6C4707E3C25016AA25A2926B1 第 165 行的块中

    最佳答案

    Linenoise 的 Build.pm 文件写得不正确。他们将“lib”前缀硬编码到库名称,同时还尝试在另一部分使用平台库名称猜测机制。如果要使用$*VM.platform-library-name那么它需要生成一个名为linenoise.dll的文件,不是 liblinenoise.dll
    我也不确定 Linenoise 是否在 Windows 上工作,即使它确实安装了。

    您可能应该使用 zef而不是 panda .如果是,您可以查看在 ~/.zef/store/p6-linenoise.git 使用的工作目录。

    关于module - 如何找出 Linenoise 无法安装的原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41416011/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com