Forum OpenACS Development: On start "No Tcl thread library installed.." in /usr/local/ns/bin/../lib/

Request notifications

Hi,

On start, this message is in stdout on freebsd10 installation:

No Tcl thread library installed in /usr/local/ns/bin/../lib/

Confirming, in nsd log, there is a message:

Notice: loading packages/xotcl-core/tcl/bgdelivery-procs.tcl...
Notice: libthread does not appear to be available, Not loading bgdelivery

I found this file: /usr/local/ns/lib/thread2.7.0/libthread.so.1

and this previous forum thread: http://openacs.org/forums/message-view?message_id=3418054

but that thread refers to a tag that is no longer used.

Do I modify config.tcl to point to the file I found, or?

cheers,
Ben

yes, you have to load it via "ns_params libthread ..." in the "modules" section of the startup file.

When you see during startup of the server a line in the error.log like

.... modload: loading module libthread ....

then everything is fine. The pre-packaged config files of OpenACS contain a few lines to search for an appropriate version of the Tcl libthread.

-g

Thank you, Gustaf.

For some reason, Freebsd doesn't interpret the relative reference in the glob pattern.

For anyone using freebsd:

Since the standard config.tcl sets bindir as homedir/bin, this glob works for freebsd (as well perhaps as other OSes):

"${homedir}/lib/thread*/libthread*[info sharedlibextension]*"

but to keep reference to $bindir from existing glob, this works too:

"[string range ${bindir} 0 end-4]/lib/thread*/libthread*[info sharedlibextension]*"

cheers,
Ben

ok. strange, that directory traversal causes troubles under freebsd, but - as you saide - technically, this is not needed. I've added the path relative to $homedir to the sample config file of naviserver, and fixed the sample config file for aolserver as well (that used the oldest instead of the newest version when multiple versions are around). ss

-g