Ошибка Perl Expat.xs.dll при запуске importxml.pl для установки Bugzilla

Организация, в которой я работаю, использует установку Bugzilla для решения проблем и отслеживания. Мы делаем большой шаг вперед с Bugzilla 3.2.3 до 5.0.1. Все шло хорошо, пока я не попытался использовать сценарий importxml.pl в Bugzilla для импорта ошибок из XML-файла, выводимого из старой установки.

У меня установлен Strawberry Perl (5.22.0). База данных (если это имеет значение) - это Oracle 11g, а приложение работает на виртуальной машине Windows 2012 R2.

Всякий раз, когда я пытаюсь запустить скрипт, я получаю следующую ошибку:

Не удается загрузить C: /Strawberry/perl/vendor/lib/auto/XML/Parser/Expat/Expat.xs.dll для модуля XML :: Parser :: Expat: load_file: указанный модуль не может быть найден в C: /Strawberry/perl/lib/DynaLoader.pm, строка 193.

в C: /Strawberry/perl/vendor/lib/XML/Parser.pm, строка 18.

Компиляция завершилась неудачно при требовании на C: /Strawberry/perl/vendor/lib/XML/Parser.pm, строка 18.

Ошибка BEGIN - компиляция прервана на C: /Strawberry/perl/vendor/lib/XML/Parser.pm, строка 22.

Компиляция завершилась с ошибкой в ​​требовании C: /Strawberry/perl/vendor/lib/XML/Twig.pm, строка 149.

Ошибка BEGIN - компиляция прервана на C: /Strawberry/perl/vendor/lib/XML/Twig.pm, строка 149.

Ошибка компиляции при требовании в строке 77 importxml.pl.

Ошибка BEGIN - компиляция прервана в строке 77 importxml.pl.

Я весь день искал ответы и наткнулся на множество ответов, которые не помогли:

1) Установка для пула приложений IIS «Загрузить профиль пользователя» значение «Истина».

2) Скопировал libexpat-1 __. Dll из C: \ Strawberry \ c \ bin в C: \ Strawberry \ perl \ bin.

3) Использовал CPAN Client для установки XML :: Parser и XML :: Parser :: Expat. Оба они сообщили, что они обновлены, и не устанавливали дополнительных модулей.

4) Проверены мои переменные PATH. В настоящее время включены следующие пути:

C: \ Клубника \ c \ bin

C: \ Strawberry \ perl \ site \ bin

C: \ Strawberry \ perl \ bin

C: \ Strawberry \ perl \ vendor \ bin

5) Предоставил "Всем" полный контроль над папками \ Bugzilla и \ Strawberry. Это не помогло, поэтому я отозвал эти привилегии в целях безопасности.

6) Биться головой о стол. Это помогло мне в стрессе, но не в ситуации.

Какие-либо предложения?


person Kurazarrh    schedule 19.11.2015    source источник
comment
Re (3), это просто проверка версии. Даже не загружает модуль.   -  person ikegami    schedule 19.11.2015
comment
@ikegami, вы имеете в виду, что запуск install XML :: Parser :: Expat на самом деле не пытается его установить, а просто выполняет проверку версии? Разве он не подведет и не скажет мне, что моя версия устарела, даже если бы это было так?   -  person Kurazarrh    schedule 24.11.2015
comment
Ваша версия актуальна. Независимо от того, работает это или нет, ортогонально.   -  person ikegami    schedule 24.11.2015


Ответы (1)


У меня была такая же проблема, но не с Bugzilla. "set PATH =% PATH%; \ c \ bin" решил мою проблему.

Вы загрузили сервер после установки perl? Есть ли "C: \ Strawberry \ perl \ vendor \ bin" в переменных системной среды? Вы можете проверить, унаследовал ли ваш экземпляр Bugzilla все переменные системной среды, с помощью проводника процессов из пакета sysinternals.

person Denis    schedule 24.11.2015
comment
У меня есть строки .. \ c \ bin и .. \ vendor \ bin в моей переменной среды PATH. После установки Perl сервер был перезагружен (и я сделал это снова, так как возился с переменной окружения PATH). Проверил переменные среды IIS, и он включил необходимую переменную PATH, но ... без beans. - person Kurazarrh; 24.11.2015