Search code examples
apacheweblogicsolaris

Can 32 bit version of Apache load a 64 bit module?


I have a 64 bit version of Solaris with a 32 bit bundled version of Apache. I am trying to load mod_wl.so which is a 64 bit module for the apache-weblogic proxy but I get this error:

mod_wl.so: wrong ELF class: ELFCLASS64

to me this suggests that the 32 bit Apache is not compatable with 64 bit modules. My UNIX admin suggests otherwise, citing the modules-64.load file as enabling the 64 bit modules to work with 32 bit Apache.

I'm not convinced, I think he needs to rebuild Apache to 64 bit.

Am I right?


Solution

  • As succinctly answered by @Leeft, this doesn't work.

    The modules-64.load file sits alongside modules-32.load. In httpd.conf a check is done on the bit size to determine which of these files to use, so a 64 bit build reads from modules-64.load so that 'directives contained in it are actually available before they are used'. In other words, this has nothing to do with enabling 64 bit modules to work with a 32 bit build - my UNIX admin appears to not know what he is talking about.

    So the answer is 'yes I am right' - we need a 64 bit build of Apache or a 32 bit build of the weblogic module. Being that Oracle owns both Sun (Solaris) and Weblogic you'd think that they'd have figured that a the 32 bit default install of Apache on a 64 bit machine would need a 32 bit module, but apparently not.