You might also want to "protect" the environment variable: TCL_LIBRARY
(after you set it).
On 2026-05-14 1:00 PM, Shaun Deacon via lists.hpsf.io wrote:
> Hi Xavier,
>
> Thank you so much for your support…
>
> I decided to go with your second work-around (set TCL_LIBRARY in the modulefile). I prefer not to mess with the vendor tool installation (even if it is broken). I’m also figuring that other modules that may be loaded later in the same session will still be OK with the TCL_LIBRARY environment set.
>
> Best regards,
> Shaun
>
> From: Xavier Delaruelle <xav...@gm...>
> Sent: Thursday, May 14, 2026 2:07 AM
> To: Shaun Deacon <Sha...@us...>
> Cc: Environment Modules usage and discussion. <mod...@li...>
> Subject: Re: [Modules] Conflict with Tcl libraries in LD_LIBRARY_PATH
>
> 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...<mailto: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...<mailto:xav...@gm...>>
> Sent: Wednesday, May 13, 2026 1:11 PM
> To: Shaun Deacon <Sha...@us...<mailto:Sha...@us...>>
> Cc: Environment Modules usage and discussion. <mod...@li...<mailto: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...<mailto: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...<mailto:xav...@gm...>>
> Sent: Wednesday, May 13, 2026 12:38 PM
> To: Shaun Deacon <Sha...@us...<mailto:Sha...@us...>>
> Cc: Environment Modules usage and discussion. <mod...@li...<mailto: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<http://lists.hpsf.io> <Sha...@li...<mailto: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.
> 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.
>
>
>
>
>
--
--------------------------------------------------------
The views and opinions expressed above are strictly
those of the author(s). The content of this message has
not been reviewed nor approved by any entity whatsoever.
--------------------------------------------------------
Paul FM Info: http://paulfm.com/~paulfm/
--------------------------------------------------------
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#32): https://lists.hpsf.io/g/modules-interest/message/32
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...]
-=-=-=-=-=-=-=-=-=-=-=-
|