[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[cobalt-users] Compiling mod_auth_dbm.so on Raq4?



I'm just in the process of migrating from a Raq2 to a Raq4. Following Gary's instructions (RHLinux- WHN rhlinux@xxxxxxxxxxx) in this forum from February this year got everything over safe and sound. Imagine my surprise, though, when I went to one of my sites that uses auth_dbm and it didn't work anymore. A quick check of what's compiled in Apache and LoadModule'd in revealed that auth_dbm wasn't there anymore. ):

I then spent almost five hours scouring the archives, the Cobalt Knowledge Base, the Cobalt ftp sites, and the Apache site trying to get the darned thing to load in the DSO. Here's what I did:

1) Downloaded the Apache 1.3.12 source from apache.org. This matches the version supposedly on the machine.

2) Following the instructions at http://www.apache.org/docs/dso.html for installing a distributed Apache module, I:
  $ ./configure --prefix=/path/to/install --enable-shared=foo
  $ make install

  This resulted in a mod_auth_dbm.so file /usr/local/apache/libexec/

  I moved that to /usr/lib/apache/

  Added a LoadModule mod_auth_dbm modules/mod_auth_dbm.so  after the casp
    stuff in /etc/httpd/conf/httpd.conf

  Checked the configuration using /usr/sbin/httpd -t

  Error:  It complained that I had compiled it using Apache 1.3 plain
  API and it wanted to be compiled with -DEAPI otherwise it could
  crash when doing EAPI calls.

  A quick check of Apache.org revealed no information about
  extended APIs or EAPI.  I couldn't figure out how to get the
  -DAPI in there.  I tried adding it to the extra flags in the
  Configuration file but no dice.


3) Decided to try compiling the module using apxs outside of the source
   tree.

         $ cd to src/modules/standard
         $ apxs -c mod_auth_dbm.c
         $ apxs -i -a -n auth_dbm mod_auth_dbm.so


   apxs did use all of the weird -D switches that /usr/sbin/httpd -V
   revealed had gone into the making of our httpd.

   I don't remember where the .so file appeared when I did this, but
   I put it into /usr/lib/apache with the rest of the .so modules.

   Checked the httpd.conf file.  apxs had added a LoadModule line after
   the SSL LoadModule and had added an AddModule mod_auth_db.c

   Tried running the test configuration (/usr/sbin/httpd -t).  Came up
   with an error:
      Can't locate API module structure `auth_dbm_module' in file
      /etc/httpd/modules/mod_auth_dbm.so : /etc/httpd/modules/mod_auth_dbm.so:
      undefined symbol: auth_dbm_module

   Edited the httpd.conf to point to modules/mod_auth_dbm.so instead of
   what apxs had put in.

   Same error.   I also tried commenting out the AddModule line since
   all the others were commented out.  Still same error.



4) Committed hari-kari on the poor unsuspecting furniture.


I'm at my wit's end.  Does anybody know:

1) How to compile this and make it go?

or

2) Where there's a nicely compiled .so file for mod_auth_dbm for i586 on
   the Raq4 already?

or

3) Tell me a better way to go about this?  Maybe I shouldn't be trying to
   use a DSO?



Thanks,

Michelle A. Hoyle

--

----|      TRANSCENA DESIGN  |----------------------------
Michelle A. Hoyle, VP Web Technologies, Canada
#801 T.D. Tower, Edmonton, Alberta, Canada  T5J 2Z1
N. America:  1-888-429-2363  |  UK:  020 7529 1465
International:  +1 780 429 2363
------------------|  internet design architects     |--------