axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Sizer <...@15grant.com>
Subject Re: Axis 1, Apache 2, Windows installation troubles
Date Thu, 15 Apr 2004 21:06:38 GMT
Mark Sizer wrote:
> sanjaya singharage wrote:
> 
>> could you please try Axis 1.1. Can be downloaded from
>> http://www.apache.org/dist/ws/axis-c/binaries/win32/.
>> Use the bundled documentation as the site has not been updated yet.

Same problem. What follows is probably way more information than you want:

The LoadLibraryEx() calls in dso.c, called from Apache's mod_so module 
(line 239) while reading the configuration file, are failing.

I'm going to chop the code out into a short main() to see if I can 
figure out what's going on. The error returned is 126 (library not 
found). I think it has something to do with the utf8_to_unicode_path() 
stuff, since I've never seen that before and I've loaded lots of 
libaries over the years. The resulting Unicode path is correct - but 
I've never used Unicode filenames on this system before.

Why the rest of Apache's libraries would load while yours fails is 
another question (they all go through the same code, including the path 
change to Unicode, w/os_handle being set on the first call for Apache's 
libraries and failing in both cases with yours).

Yes, I have considered the obvious, that mod_axis2.dll is in the wrong 
place. It's not.

I would hope that any internal problems with Unicode vs no Unicode would 
be caught by the compiler or linker during the build (I've built both 
Apache and Axis (1.0) from scratch w/no errors in Debug or Release 
mode). I did note that Axis is compiling w/_MBCS, but I would also think 
this would be a "library malformed" or something error, not a "library 
not found" error since the MSDN docs on LoadLibrary(Ex) explicitly state 
that the argument is a filename, not the internal module name.

- Mark

This is the fragment (from dso.c line 62):
#if APR_HAS_UNICODE_FS
     IF_WIN_OS_IS_UNICODE
     {
         apr_wchar_t wpath[APR_PATH_MAX];
         if ((rv = utf8_to_unicode_path(wpath, sizeof(wpath)
                                             / sizeof(apr_wchar_t), path))
                 != APR_SUCCESS) {
             *res_handle = apr_pcalloc(ctx, sizeof(**res_handle));
             return ((*res_handle)->load_error = rv);
         }
         /* Prevent ugly popups from killing our app */
#ifndef _WIN32_WCE
         em = SetErrorMode(SEM_FAILCRITICALERRORS);
#endif
         os_handle = LoadLibraryExW(wpath, NULL, 0);
         if (!os_handle)
             os_handle = LoadLibraryExW(wpath, NULL, 
LOAD_WITH_ALTERED_SEARCH_PATH);
         if (!os_handle)
             rv = apr_get_os_error();

The stack trace (debug build):
apr_dso_load(apr_dso_handle_t * * 0x0006db14,
              const char * 0x007b27c8,
              apr_pool_t * 0x0077b148) line 80
load_module(cmd_parms_struct * 0x0006fd1c,
             void * 0x0006dba4,
             const char * 0x007b2780,
             const char * 0x007b2790) line 239 + 21 bytes
invoke_cmd(const command_struct * 0x6ff35e18 so_cmds,
            cmd_parms_struct * 0x0006fd1c,
            void * 0x0006dba4,
            const char * 0x0006dc18) line 696 + 22 bytes
execute_now(char * 0x007b2728,
             const char * 0x0006dbf7,
             cmd_parms_struct * 0x0006fd1c,
             apr_pool_t * 0x0077b148,
             apr_pool_t * 0x007ac6b0,
             ap_directive_t * * 0x0006dba4,
             ap_directive_t * 0x00000000) line 1323 + 21 bytes
ap_build_config_sub(apr_pool_t * 0x0077b148,
                     apr_pool_t * 0x007ac6b0,
                     const char * 0x0006dbec,
                     cmd_parms_struct * 0x0006fd1c,
                     ap_directive_t * * 0x0006fbf4,
                     ap_directive_t * * 0x0006fbf0,
                     ap_directive_t * * 0x6ff49e60 _ap_conftree) line 
909 + 35 bytes
ap_build_config(cmd_parms_struct * 0x0006fd1c,
                 apr_pool_t * 0x0077b148,
                 apr_pool_t * 0x007ac6b0,
                 ap_directive_t * * 0x6ff49e60 _ap_conftree) line 1116 + 
36 bytes
process_resource_config_nofnmatch(server_rec * 0x0078c560,
                                   const char * 0x0078cd20,
                                   ap_directive_t * * 0x6ff49e60 
_ap_conftree,
                                   apr_pool_t * 0x0077b148,
                                   apr_pool_t * 0x007ac6b0) line 1491 + 
21 bytes
ap_process_resource_config(server_rec * 0x0078c560,
                            const char * 0x0078cd20,
                            ap_directive_t * * 0x6ff49e60 _ap_conftree,
                            apr_pool_t * 0x0077b148,
                            apr_pool_t * 0x007ac6b0) line 1527 + 25 bytes
ap_read_config(process_rec * 0x00779190,
                apr_pool_t * 0x007ac6b0,
                const char * 0x00404010,
                ap_directive_t * * 0x6ff49e60 _ap_conftree) line 1873
main(int 3, const char * const * 0x00772d50) line 531 + 25 bytes



Mime
View raw message