Bug 45697 - Error message incorrect "The specified module could not be found."
Summary: Error message incorrect "The specified module could not be found."
Status: RESOLVED INVALID
Alias: None
Product: Apache httpd-2
Classification: Unclassified
Component: Core (show other bugs)
Version: 2.2.8
Hardware: PC Windows Server 2003
: P3 normal (vote)
Target Milestone: ---
Assignee: Apache HTTPD Bugs Mailing List
URL:
Keywords: ErrorMessage
Depends on:
Blocks:
 
Reported: 2008-08-27 14:00 UTC by nmgeek
Modified: 2008-08-28 03:31 UTC (History)
0 users



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description nmgeek 2008-08-27 14:00:07 UTC
When you use the LoadModule command in the config file to load a module whose sharedlibrary is not compatible with the loading version of httpd it produces a misleading error message that looks like:

     httpd.exe: Syntax error on line 129 of C:/Apache2/conf/httpd.conf: Cannot load C:/Apache2/modules/mod_auth_sspi.so into server: The specified module could not be found.

Furthermore this error never appears in the error.log file.  If you are launching httpd via the windows Services application then you never see the error message:(.

I consider myself an advanced technologist and I'm usually pretty quick to work out problems like this.  However, when a program as solid as httpd tells me a file can not be found i _start_ by beleiving it.  I kept thinking that maybe I had the slashes backwords (apache reports with forward slashes when I run on Win32 which uses back slashes), or there was a permission problem or some attribute on the file that made it impossible for httpd to see the file.

In the end I found it was simply a matter of the module share library being built to run with an older version of httpd.

I understand that Apache uses a magic number scheme to identify module compatibility. Does it have to be a fatal error, then, if a module is not compatible?  Can the error messag indicate the file was incompatible with this version of http?
Comment 1 William A. Rowe Jr. 2008-08-27 16:04:16 UTC
Modules compiled for 2.0 are not compatible with 2.2 and visa versa, and
this module isn't distributed by the httpd project so issues with it do
not belong in this tracker.
Comment 2 Rainer Jung 2008-08-28 03:31:30 UTC
This is Wondows System Error Code 126. It is returned by the Windows loader and httpd tells you that loading failed and adds the original OS message to it's own error message. Unfortunately windows also includes the word "module" in the error message, although at this stage it's just a shared lib.

If the OS loader loaded the module, and there were only a problem of the module being compiled for another httpd version, httpd itself would present you with the message

API module structure '...' in file ... is garbled - expected signature ... but saw ... - perhaps this is not an Apache module DSO, or was compiled for a different Apache version?