Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have a Perl web application that runs on both Apache and IIS6 on Windows Server 2003. On Apache this script works just fine. In IIS using ISAPI, I am getting the following error message:

Software error:
Can't load 'lib/auto/Sub/Name/Name.dll' for module Sub::Name: load_file:The specified module could not be found at C:/Perl/lib/DynaLoader.pm line 230. at lib/DBIx/Class/Schema.pm line 10
Compilation failed in require at lib/DBIx/Class/Schema.pm line 10.

BEGIN failed--compilation aborted at lib/DBIx/Class/Schema.pm line 10.
Compilation failed in require at (eval 39) line 3. ...propagated at C:/Perl/lib/CGI/Carp.pm line 314.
BEGIN failed--compilation aborted at My/Schema.pm line 2. Compilation failed in require at...

When NOT using ISAPI in IIS it runs fine. We would prefer to continue using ISAPI in our IIS environments. Why can't it find this module, even though it does when running normal Perl?

EDIT:

We were calling it with relative paths.

use lib qw{My lib};  # line in question
use My::Schema; # explodes
share|improve this question
add comment

1 Answer 1

up vote 0 down vote accepted

Mobrule, over on stack overflow, gave us an enlightening comment. The relative path was different between using the vanilla Perl interpreter and ISAPI.

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

Thanks for the help!

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.