Perl XS, включенный из каталога "use lib", не может быть найден ISAPI

У меня есть веб-приложение Perl, которое работает на Apache и IIS6 на Windows Server 2003. На Apache этот скрипт работает просто отлично. В IIS с использованием ISAPI я получаю следующее сообщение об ошибке:

Ошибка программного обеспечения:
Не удалось загрузить 'lib/auto/Sub/Name/Name.dll' для модуля Sub::Name: load_file: указанный модуль не найден в строке C:/Perl/lib/DynaLoader.pm 230. в lib/DBIx/Class/Schema.pm строка 10
Сбой компиляции в require в строке 10 lib/DBIx/Class/Schema.pm.

НАЧАЛО сбой - компиляция прервана в строке 10 lib/DBIx/Class/Schema.pm.
Сбой компиляции в требовании (eval 39) строка 3. ... распространяется в C:/Perl/lib/CGI/Carp.pm строка 314.
НАЧАЛО сбой - компиляция прервана в строке My/Schema.pm 2. Не удалось выполнить компиляцию в...

Когда НЕ используется ISAPI в IIS, он работает нормально. Мы бы предпочли продолжить использование ISAPI в наших средах IIS. Почему он не может найти этот модуль, даже если он работает при обычном Perl?

РЕДАКТИРОВАТЬ:

Мы называли это относительными путями.

use lib qw{My lib};  # line in question
use My::Schema; # explodes

1 ответ

Решение

Mobrule, переполненный стеком, дал нам интересный комментарий. Относительный путь отличался между использованием ванильного интерпретатора Perl и ISAPI.

use lib qw{My /Inetpub/wwwroot/cgi/lib};  # a little more specific...
use My::Schema;  # not nearly as much dying now.

Спасибо за помощь!

Другие вопросы по тегам