2012-04-03 1 views
0

У меня возникла проблема при использовании XML :: Parser в рамках нашей установки modperl в производстве (в AIX 5.3). Он отлично работает в разработке, но не на производстве со следующей ошибкой:Ошибка при попытке использования XML :: Parser в modperl2 - Не удалось загрузить модуль

[Tue Apr 03 08:44:03 2012] [error] Can't load '/wload/es1p/app/perl/lib/site_perl/5.10.1/aix/auto/XML/Parser/Expat/Expat.so' for mo 
ule XML::Parser::Expat: Could not load module /wload/es1p/app/perl/lib/site_perl/5.10.1/aix/auto/XML/Parser/Expat/Expat.so.\n\tDepe 
dent module /wload/es1p/app/usr/local/apache2/lib/libexpat.a(libexpat.so.1) could not be loaded.\n\tMember libexpat.so.1 is not fou 
d in archive \nCould not load module /wload/es1p/app/perl/lib/site_perl/5.10.1/aix/auto/XML/Parser/Expat/Expat.so.\n\tDependent mod 
le /wload/es1p/app/perl/lib/site_perl/5.10.1/aix/auto/XML/Parser/Expat/Expat.so could not be loaded. at /wload/es1p/app/perl/lib/5. 
0.1/aix/DynaLoader.pm line 200.\n at /wload/es1p/app/perl/lib/site_perl/5.10.1/aix/XML/Parser.pm line 18\nCompilation failed in req 
ire at /wload/es1p/app/perl/lib/site_perl/5.10.1/aix/XML/Parser.pm line 18.\nBEGIN failed--compilation aborted at /wload/es1p/app/p 
rl/lib/site_perl/5.10.1/aix/XML/Parser.pm line 22.\nCompilation failed in require at /wload/es1p/app/perl/lib/site_perl/5.10.1/XML/ 
Path/XMLParser.pm line 7.\nBEGIN failed--compilation aborted at /wload/es1p/app/perl/lib/site_perl/5.10.1/XML/XPath/XMLParser.pm li 
e 7.\nCompilation failed in require at /wload/es1p/app/perl/lib/site_perl/5.10.1/XML/XPath.pm line 13.\nBEGIN failed--compilation a 
orted at /wload/es1p/app/perl/lib/site_perl/5.10.1/XML/XPath.pm line 13.\nCompilation failed in require at /wload/es1p/app/perl/lib 
site_perl/5.10.1/Net/SAML2/IdP.pm line 23.\nBEGIN failed--compilation aborted at /wload/es1p/app/perl/lib/site_perl/5.10.1/Net/SAML 
/IdP.pm line 23.\nCompilation failed in require at /wload/es1p/app/perl/lib/site_perl/5.10.1/Net/SAML2.pm line 69.\nBEGIN failed--c 
mpilation aborted at /wload/es1p/app/perl/lib/site_perl/5.10.1/Net/SAML2.pm line 69.\nCompilation failed in require at /wload/es1p/ 
pp/usr/local/apache2/perl-bin/sso.pl line 4.\nBEGIN failed--compilation aborted at /wload/es1p/app/usr/local/apache2/perl-bin/sso.pl 

эмигранта/эмигрант-развейте библиотеки были установлены в /opt/freeware/lib с использованием пакета (то же самое, один на разработчик и жить), и оба показывают один и тот же выход от ldd Expat.so:

Expat.so needs: 
    /usr/lib/libc.a(shr.o) 
    /opt/freeware/lib/libexpat.a(libexpat.so.1) 
    /unix 
    /usr/lib/libcrypt.a(shr.o) 

Я попытался создать LIBPATH как в наших и в составляют скрытые нашей конфигурации mod_env, но не повезло. Я не ожидаю, что кто-то узнает точный ответ, но у меня закончились идеи относительно того, что я могу попробовать, поэтому я надеюсь на некоторые предложения попробовать.

EDIT: Я должен также указать, что тот же скрипт, использующий XML :: Parser, отлично работает как обычный скрипт cgi-bin на нашем реальном сервере.

ответ

0

Одна мысль. Возможно, на вашем prod-сервере установлен два разных XML :: Parser. Ваш CGI выбирает один, а ваш сценарий выбирает другого?

Распечатайте @INC из сценария (на prod и dev) и из вашего рабочего CGI и сравните результат.

ч.,

Смежные вопросы