Назад | Перейти на главную страницу

Проблема с Strawberry Perl libeay32_.dll

Я установил Strawberry Perl (v5.12.3) на 32-разрядную версию Windows Server 2008 и надеялся запустить инструменты интерфейса командной строки simpledb.

У меня был небольшой проблема с переменной окружения HOME, Я переименовал его в HOMEPATH, чтобы решить проблему, но при попытке запустить я получил:

This application has failed to start because libeay32_.dll was not
found. Re-installing the application may fix this problem.

Кто-нибудь знает как решить проблему? Это проблема Strawberry Perl?

Я исправил проблему, удалив операторы пути perl в переменных среды Windows. Они были в начале строки из старой установки. При установке клубники в конце были добавлены собственные инструкции пути. Это позволило новой клубничной установке искать пути в правильном порядке.

У меня была такая же проблема при попытке запустить Bugzilla, используя Strawberry Perl, переносимый через Apache и mod_cgi. Решением было установить правильную среду для perl, вызываемую через mod_cgi.

Если вы используете портативный Strawberry Perl (или даже если вы не используете это исправление), добавьте это в свой httpd.conf (при использовании Apache - если нет, посмотрите, как ваш веб-сервер может устанавливать переменные среды для процессов cgi):

Define PERLPATH "C:\path\to\perl"
SetEnv PATH "${PERLPATH}\perl\site\bin;${PERLPATH}\perl\bin;${PERLPATH}\c\bin"
SetEnv TERM ""
SetEnv PERL_JSON_BACKEND ""
SetEnv PERL_YAML_BACKEND ""
SetEnv PERL5LIB ""
SetEnv PERL5OPT ""
SetEnv PERL_MM_OPT ""
SetEnv PERL_MB_OPT ""

Я поместил их в <Directory> в котором они актуальны, а не глобально, но ваша установка может отличаться.

Я получил это от portableshell.bat который включен в переносимый дистрибутив и является единственным правильным способом его запуска, если у вас есть другая установка (или даже ее нет вообще).

Хотя код Bugzilla работает в режиме заражения (и, следовательно, должен игнорировать среду), похоже, что это не совсем так, вероятно, потому что все, на что жаловались libeay32_.dll назывался по сценарий, а не сам основной сценарий.

У меня была такая же проблема с Windows Server 2003, клубничным и Bugzilla. Мое «решение» заключалось в том, чтобы скопировать отсутствующие файлы .dll в c: \ windows \ system32, когда система сообщала мне, что не может найти dll. Все отсутствующие файлы .dll были на пути. Раньше я пытался скопировать их в каталог, где находится perl.exe, и в другие места, но ничего не работало. Единственным исключением был файл libmysql_.dll, который работал при копировании в каталог / клубника / perl / vendor / lib / auto / DBD / mysql.

Надеюсь, кто-нибудь найдет настоящую проблему и / или исправит ее.

Если вы используете клубничный Perl и скопировали установочный каталог с другого компьютера, просто выполните update_env.pl.bat (находится в каталоге Straberry) и перезагрузите компьютер.