У меня возникли проблемы с приложением Perl, которое дает сбой из-за ошибки, связанной с LibXSLT, в Mac OS Big Sur 11.4 на нескольких компьютерах (всех Intel Mac) — оно работало правильно до обновления Mac OS, а теперь, похоже, не работает на только что установленной современный Mac.
Сообщение об ошибке для минимального скрипта perl -MXML::LibXSLT -E 'say $INC{"XML/LibXSLT.pm"}'
(с использованием системного Perl — на машине не установлен другой Perl) выглядит следующим образом:
Не удается загрузить «/System/Library/Perl/Extras/5.30/darwin-thread-multi-2level/auto/XML/LibXSLT/LibXSLT.bundle» для модуля XML::LibXSLT: dlopen(/System/Library/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).
Я попытался обновить библиотеки xslt с помощью brew install libxslt
, но, похоже, это не имело никакого значения.
Я пробовал запустить 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
? - person ikegami   schedule 09.06.2021cpan XML::LibXSLT
, или она исходит от скрипта, который использует модуль? - person Håkon Hægland   schedule 09.06.2021cpanm
сsudo cpan App::cpanminus
, затем попробовалsudo cpanm XML::LibXSLT
, и у меня не получилось сlooking for -lxslt... libxslt not found. Try setting LIBS and INC values on the command line
Но странно то, что если я запущу его снова, он скажетXML::LibXSLT is up to date. (1.99)
. Так что здесь также может быть ошибка вcpan
иcpanm
. Можете ли вы попробовать с perlbrew? - person Håkon Hægland   schedule 10.06.2021perl -MXML::LibXSLT -E 'say $INC{"XML/LibXSLT.pm"}'
. Этот однострочный код дает вам ту же ошибку? - person Håkon Hægland   schedule 10.06.2021pkg-config --debug libxslt
? Вот результат, который я получаю. - person Håkon Hægland   schedule 10.06.2021