Forum OpenACS Q&A: Help!!: could not find Ns_ModuleInit

Hallo,

I'm trying to install OpenACS 5.0b1 on Suse 9.0, postrgres 4.7.3. Aol Server 4.0

Everything it seems ok but when I launch the service with this:
/usr/local/aolserver/bin/nsd-postgres -t /var/lib/aolserver/service0/etc/config.tcl

I get the following error in the aolserver log:
[-main-] Warning: modload: could not find Ns_ModuleInit in /usr/local/aolserver/lib/tdom0.7.8/libtdom0.7.8.so
[-main-] Fatal: modload: failed to load module '/usr/local/aolserver/lib/tdom0.7.8/libtdom0.7.8.so'

Any idea?

Thanks for helping me!
Marco

Collapse
Posted by Tom Ayles on

I had a similar problem with my setup. I guess you're trying to load the tDOM module from the config.tcl file with a line like:

ns_param libtdom /path/to/libtdom0.7.8.so

The problem you have is that tDOM isn't compiled for AOLServer, so the module initialisation procedure isn't present. But on AOLServer 4 you don't need to compile tDOM with AOLServer support, you can load it directly using the 'package require' mechanism. I did this by taking the line above out of config.tcl and creating a file called tdom.tcl in my aolserver modules directory (/usr/lib/aolserver/modules/tcl on my system, /usr/local/aolserver/modules/tcl on yours I guess) with the following line in:

ns_eval package require tdom

That should cause AOLServer to load the tDOM module on startup, so its ready for use by OpenACS. Maybe this should be in the install docs somewhere? Hope that helps.

Collapse
Posted by Marco Laurita on
Hallo Tom,

Thank you!!!! It worked fine. I followed exactly the steps you suggested to me.Your reply has been really useful.
grazie

ciao
Marco

Collapse
Posted by Tom Jackson on

The way AOLserver starts up, you can place a package require in the global init.tcl file, so it is available as soon as possible in the initilization process. For instance, I have AOLserver installed under /usr/local/aolserver, so in /usr/local/aolserver/modules/tcl/init.tcl, I just place:

package require tdom