Many thanks for these outputs.
It appears that quarantine mechanism is properly configured and
modulecmd.tcl script is using the correct tclsh command (from the OS Tcl
installation).
Issue comes from the Tcl sub-interpreters used to evaluate modulercs and
modulefiles. Such interpreters are currently not protected by the
quarantine mechanism. I have added an issue to implement such protection
also for these sub-interpreters:
https://github.com/envmodules/modules/issues/623
In the mean time, to fix the issue you face I suggest you try one of the
following:
* repair the broken Tcl installation (maybe just add an empty init.tcl in
one of the listed directory)
* set TCL_LIBRARY environment variable in the modulefile that enables the
broken Tcl installation
- and make it point to the proper directory (where a init.tcl can be
found)
- or add directory relative to Tcl OS installation (/usr/share/tcl8.6)
Best regards,
Xavier
Le mer. 13 mai 2026 à 22:41, Shaun Deacon <Sha...@us...> a
écrit :
> OK, output is as follows…
>
>
>
> %> type module
>
> module is a function
>
> module ()
>
> {
>
> unset _mlshdbg;
>
> if [ "${MODULES_SILENT_SHELL_DEBUG:-0}" = '1' ]; then
>
> case "$-" in
>
> *v*x*)
>
> set +vx;
>
> _mlshdbg='vx'
>
> ;;
>
> *v*)
>
> set +v;
>
> _mlshdbg='v'
>
> ;;
>
> *x*)
>
> set +x;
>
> _mlshdbg='x'
>
> ;;
>
> *)
>
> _mlshdbg=''
>
> ;;
>
> esac;
>
> fi;
>
> unset _mlre _mlIFS;
>
> if [ -n "${IFS+x}" ]; then
>
> _mlIFS=$IFS;
>
> fi;
>
> IFS=' ';
>
> for _mlv in ${MODULES_RUN_QUARANTINE:-};
>
> do
>
> if [ "${_mlv}" = "${_mlv##*[!A-Za-z0-9_]}" -a "${_mlv}" =
> "${_mlv#[0-9]}" ]; then
>
> if [ -n "`eval 'echo ${'$_mlv'+x}'`" ]; then
>
> _mlre="${_mlre:-}${_mlv}_modquar='`eval 'echo
> ${'$_mlv'}'`' ";
>
> fi;
>
> _mlrv="MODULES_RUNENV_${_mlv}";
>
> _mlre="${_mlre:-}${_mlv}='`eval 'echo ${'$_mlrv':-}'`' ";
>
> fi;
>
> done;
>
> if [ -n "${_mlre:-}" ]; then
>
> eval `eval ${_mlre} /usr/bin/tclsh
> /usr/share/Modules/libexec/modulecmd.tcl bash '"$@"'`;
>
> else
>
> eval `/usr/bin/tclsh /usr/share/Modules/libexec/modulecmd.tcl bash
> "$@"`;
>
> fi;
>
> _mlstatus=$?;
>
> if [ -n "${_mlIFS+x}" ]; then
>
> IFS=$_mlIFS;
>
> else
>
> unset IFS;
>
> fi;
>
> unset _mlre _mlv _mlrv _mlIFS;
>
> if [ -n "${_mlshdbg:-}" ]; then
>
> set -$_mlshdbg;
>
> fi;
>
> unset _mlshdbg;
>
> return $_mlstatus
>
> }
>
>
>
> %> type _*module*_raw
>
> /bin/type: line 2: type: _module_raw: not found
>
>
>
> %> which tclsh
>
> /bin/tclsh
>
>
>
> Again, for additional information, our modules installation is here :
>
>
>
> /sw/modules
>
>
>
> Although there is a system version (which we don’t want to use) here :
>
>
>
> /usr/share/Modules
>
>
>
> *From:* Xavier Delaruelle <xav...@gm...>
> *Sent:* Wednesday, May 13, 2026 1:11 PM
> *To:* Shaun Deacon <Sha...@us...>
> *Cc:* Environment Modules usage and discussion. <
> mod...@li...>
> *Subject:* Re: [Modules] Conflict with Tcl libraries in LD_LIBRARY_PATH
>
>
>
> Could you provide the output of the following commands:
>
>
>
> type module
>
> type _module_raw
>
> which tclsh
>
>
>
> Best regards,
>
> Xavier
>
>
>
> Le mer. 13 mai 2026 à 21:54, Shaun Deacon <Sha...@us...>
> a écrit :
>
> Hi Xavier,
>
>
>
> Thank you for the suggestion…
>
> Unfortunately, this didn’t work – I get the same error.
>
>
>
> Just for additional info, the offending tool module does the following :
>
>
>
> %> module display xcelium/test
>
> -------------------------------------------------------------------
>
> /sw/modules/modulefiles/cad/cdn/xcelium/test :
>
>
>
> module-whatis {Xcelium modules environment}
>
> prereq socionext
>
> prepend-path PATH $CADROOT/cdn/bin
>
> prepend-path PATH $CADROOT/cdn/org/xcelium/24.03.013/tools.lnx86/bin
>
> prepend-path PATH $CADROOT/cdn/org/xcelium/24.03.013/bin
>
> prepend-path LD_LIBRARY_PATH
> $CADROOT/cdn/org/xcelium/24.03.013/tools.lnx86/lib/64bit
>
> prepend-path LD_LIBRARY_PATH
> $CADROOT/cdn/org/xcelium/24.03.013/tools.lnx86/inca/lib/64bit
>
> prepend-path LD_LIBRARY_PATH $CADROOT/cdn/org/xcelium/24.03.013/lib
>
> -------------------------------------------------------------------
>
>
>
> Where $CADROOT is set to “/sw” in the “socionext” module.
>
>
>
> Best regards
>
> Shaun
>
>
>
> *From:* Xavier Delaruelle <xav...@gm...>
> *Sent:* Wednesday, May 13, 2026 12:38 PM
> *To:* Shaun Deacon <Sha...@us...>
> *Cc:* Environment Modules usage and discussion. <
> mod...@li...>
> *Subject:* Re: [Modules] Conflict with Tcl libraries in LD_LIBRARY_PATH
>
>
>
> Hi Shaun,
>
>
>
> I suggest you to enable the quarantine mechanism and set LD_LIBRARY_PATH
> in the list of env variable to protect from.
>
>
>
> In /etc/environment-modules/initrc, add the following lines:
>
>
>
> module config quarantine_support 1
>
> module config run_quarantine LD_LIBRARY_PATH
>
>
>
> Then restart a new shell session.
>
>
>
> It should protect the module execution from this interfering Tcl
> installation.
>
>
>
> Best regards,
>
> Xavier
>
>
>
>
>
> Le mer. 13 mai 2026 à 21:23, Shaun Deacon via lists.hpsf.io <Shaun.Deacon=
> us....@li...> a écrit :
>
> Hi All,
>
>
>
> Module version :
>
> Modules Release 5.5.0 (2024-11-11)
>
> Platform :
>
> Red Hat Enterprise Linux release 8.10 (Ootpa)
>
>
>
> I have a vendor tool which provides its own shared object libraries
> including a copy of the Tcl libraries but doesn’t provide a “tcl8.6”
> sub-directory that would contain ‘init.tcl’
>
> The module for the vendor tool needs the LD_LIBRARY_PATH environment to be
> adjusted to pick up its custom libraries
>
>
>
> Unfortunately, if the tool library directories are prepended to
> LD_LIBRARY_PATH, this interferes with the Tcl that modules needs.
>
>
>
> %> module load tool-with-lib
>
> %> module load another-tool
>
>
>
> ERROR: Can't find a usable init.tcl in the following directories:
>
> /vols/mmsimP4_t1b_008/ws/mmsimcm/mmsimcm_dep_0401/nsd_ext_lib/tcltk/tools.lnx86/tcltk-8.6.8/lib/tcl8.6
> /usr/lib/tcl8.6 /lib/tcl8.6 /usr/library /library /tcl8.6.8/library
> /tcl8.6.8/library
>
>
>
> This probably means that Tcl wasn't installed properly.
>
>
>
> while executing
>
> "error $msg"
>
> (procedure "tclInit" line 61)
>
> invoked from within
>
> "tclInit"
>
> invoked from within
>
> "interp create $itrp"
>
> (procedure "execute-modulerc" line 60)
>
> invoked from within
>
> "execute-modulerc $dir/$elt $elt $elt"
>
> (procedure "getModules" line 101)
>
> invoked from within
>
> "getModules $dir $mod 0 [list rc_defs_included resolve]"
>
> (procedure "getPathToModule" line 49)
>
> invoked from within
>
> "getPathToModule $mod $modulepath_list $notfounderr"
>
> (procedure "cmdModuleLoad" line 30)
>
> invoked from within
>
> "cmdModuleLoad load 1 $tryload $loadany $tag_list {} {*}$args"
>
> (procedure "cmdModuleIntLoad" line 17)
>
> invoked from within
>
> "$cmdprocname {*}$cmdopts {*}$parsed_args"
>
> (procedure "module" line 186)
>
> invoked from within
>
> "{*}$execcmdlist"
>
>
>
> What is the recommended/best way to get round this issue ?
>
> I’m sure this issue has come up before, but I couldn’t find answers on the
> internet.
>
>
>
> Best regards
>
> Shaun
>
>
>
> --
>
> Shaun Deacon
>
> Principal Software Engineer
>
> Socionext America, Inc.
>
> --
>
>
>
> CONFIDENTIALITY NOTE: This electronic message (including any attachments)
> may contain information that is privileged, confidential, and proprietary.
> If you are not the intended recipient, you are hereby notified that any
> disclosure, copying, distribution, or use of the information contained
> herein (including any reliance thereon) is strictly prohibited. If you
> received this electronic message in error, please immediately reply to the
> sender that you have received this communication and destroy the material
> in its entirety, whether in electronic or hard copy format. Although
> Socionext has taken reasonable precautions to ensure no viruses are present
> in this email, Socionext accepts no responsibility for any loss or damage
> arising from the use of this email or attachments.
>
>
>
> CONFIDENTIALITY NOTE: This electronic message (including any attachments)
> may contain information that is privileged, confidential, and proprietary.
> If you are not the intended recipient, you are hereby notified that any
> disclosure, copying, distribution, or use of the information contained
> herein (including any reliance thereon) is strictly prohibited. If you
> received this electronic message in error, please immediately reply to the
> sender that you have received this communication and destroy the material
> in its entirety, whether in electronic or hard copy format. Although
> Socionext has taken reasonable precautions to ensure no viruses are present
> in this email, Socionext accepts no responsibility for any loss or damage
> arising from the use of this email or attachments.
>
> CONFIDENTIALITY NOTE: This electronic message (including any attachments)
> may contain information that is privileged, confidential, and proprietary.
> If you are not the intended recipient, you are hereby notified that any
> disclosure, copying, distribution, or use of the information contained
> herein (including any reliance thereon) is strictly prohibited. If you
> received this electronic message in error, please immediately reply to the
> sender that you have received this communication and destroy the material
> in its entirety, whether in electronic or hard copy format. Although
> Socionext has taken reasonable precautions to ensure no viruses are present
> in this email, Socionext accepts no responsibility for any loss or damage
> arising from the use of this email or attachments.
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#30): https://lists.hpsf.io/g/modules-interest/message/30
Mute This Topic: https://lists.hpsf.io/mt/119302881/10150481
Group Owner: mod...@li...
Unsubscribe: https://lists.hpsf.io/g/modules-interest/unsub [mod...@li...]
-=-=-=-=-=-=-=-=-=-=-=-
|