Forum OpenACS Q&A: Re: fail modload libthread

Collapse
4: Re: fail modload libthread (response to 3)
Posted by Gustaf Neumann on
The value for versionthread is still bank.

The empty value for "version_thread" is intentional. It indicates that install‑ns.sh should automatically select the correct version for your Tcl installation, as different Tcl versions require different thread libraries.

Edit the nsConfig.sh file
I am not aware of any situation, where there is need to edit the file nsConfig.sh

and re-ran the install-ns.sh and version_thread is still blank.

Regarding editing nsConfig.sh: there is generally no need to modify that file. In fact, install‑ns.sh does not read nsConfig.sh at all. If you want to override default settings, you can specify non-default values directly on the command line [1]. For example, you can run:

version_thread=2.8.9 bash install-ns.sh

However, in your case, the issue likely stems from multiple versions of libthread being installed in /usr/local/ns/lib. OpenACS uses alphabetical sorting to pick the newest version, which means that "libthread2.8.9" comes before "libthread2.8.10" or "libthread2.8.11."

Additionally, there appears to be a thread library for Tcl9 in your listing, but Tcl9 requires unreleased versions of NaviServer and OpenACS and involves numerous migration challenges. There is a long list with required migration activities on the Tcl pages, there was as well a talk from Rolf on the last OpenACS/Tcl conferences on his experiences with porting tcllib). My recommendation: don't use it for now.

To resolve the issue, the simplest approach is to remove the extra thread libraries and then rerun install‑ns.sh:

rm -rf  /usr/local/ns/lib/thread*

This should allow install‑ns.sh to detect and use the appropriate thread library version, and OpenACS will pick it up.

All the best
-g
[1] https://github.com/gustafn/install-ns