【发布时间】:2021-06-09 15:11:02
【问题描述】:
我遇到了一个 Perl 应用程序的问题,该应用程序在多台计算机(所有 Intel Mac)上的 Mac OS Big Sur 11.4 上出现与 LibXSLT 相关的错误 - 它在 Mac OS 升级之前工作正常,现在似乎失败了新安装的最新 Mac。
最小脚本perl -MXML::LibXSLT -E 'say $INC{"XML/LibXSLT.pm"}'(使用系统perl - 机器上没有安装其他perl)的错误消息如下:
无法为模块 XML::LibXSLT: dlopen(/System/Library) 加载 '/System/Library/Perl/Extras/5.30/darwin-thread-multi-2level/auto/XML/LibXSLT/LibXSLT.bundle' /Perl/Extras/5.30/darwin-thread-multi-2level/auto/XML/LibXSLT/LibXSLT.bundle, 0x0001): 符号 '_xsltLibxsltVersion' 未找到,预计在平面命名空间中由 '/System/Library/Perl/Extras/ 5.30/darwin-thread-multi-2level/auto/XML/LibXSLT/LibXSLT.bundle' 在 /System/Library/Perl/5.30/darwin-thread-multi-2level/DynaLoader.pm 第 197 行。 在 /System/Library/Perl/Extras/5.30/darwin-thread-multi-2level/XML/LibXSLT.pm 第 48 行。 BEGIN 失败——编译在 /System/Library/Perl/Extras/5.30/darwin-thread-multi-2level/XML/LibXSLT.pm 第 48 行中止。 编译失败。 BEGIN 失败——编译中止。
cpan -i XML::LibXSLT 确认XML::LibXSLT is up to date (1.99).
我尝试使用 brew install libxslt 更新 xslt 库,但似乎没有任何区别。
我尝试过运行 brew link libxslt --force,但它现在什么都不做 (Warning: Refusing to link macOS provided/shadowed software: libxslt)。
运行 cpan -f -t XML::LibXSLT 失败并显示以下错误消息:
looking for -lxslt... no
libxslt not found
Try setting LIBS and INC values on the command line
如果我将 LIBS 和 INC 值设置为 brew export LIBS="-L/usr/local/opt/libxslt/lib" 和 export INC="-I/usr/local/opt/libxslt/include" 建议的路径,它仍然会失败并出现此错误。
关于如何调试的任何建议?我不是 Perl 开发人员,只是想运行现有的应用程序。
【问题讨论】:
-
出于好奇,
cpan -f -t XML::LibXSLT运行成功了吗? -
模块在这里安装得很好。 macOS 11.2.3,perlbrew perl 版本 5.32.0。你用的是系统perl吗?
-
"无法为模块 XML 加载 '/System/Library/Perl/Extras/5.30/darwin-thread-multi-2level/auto/XML/LibXSLT/LibXSLT.bundle': :LibXSLT" :这是您在运行
cpan XML::LibXSLT时遇到的错误还是来自使用该模块的脚本? -
这是 M1 还是 intel Mac?
-
@HåkonHægland 是的,单行是一个很好的最小示例,它确实在我目前可用的两个 11.4 mac 上的系统 perl 上给出了相同的错误。我用它更新了问题。
标签: macos perl macos-big-sur libxslt