Hello,
first of all a big "Thank You !" to R.K.Owen for taking care of modules !
I downloaded modules-3.0.3-rko and installed it on HPUX 10.20. (usning HP
ANSI C compiler)
Here are some remarks and diffs:
- I first tried tcl8.3.2 but failed. (It needs some more .h-files from the
tcl-dsitrib.; but finally still fails)
I saw a posting, that 3.0.2 is suposed to compile with tcl8.0.x. Is this
still correct for 3.0.3 ?
(I found nothing contrary in ChangeLog)
I finally used tcl8.0.4
- Using tcl8.0.4 I get the following module avail output:
- Package -----------+- Release -+- Versions -------+- Last mod. ------
/pd/Modules3.0.3/modulefiles:
3.0.3-rko 100/01/11 13:47:16
dot 100/01/11 13:47:16
module-info 100/01/11 13:47:16
modules 100/01/11 13:47:16
null 100/01/11 13:47:16
use.own 100/01/11 13:47:16
Oops - Y2K was here ! Is this a problem of tcl8.0.4 or of module itself ?
(Ok, this problem is really minor)
- When I tried to compile, I got problems with utility.c. This file tries to
initialize arrays with assignments.
This isn't supported by HP ANSI C.
I changed utility.c:
293,295c293
< Tcl_HashTable *table[] = { setenvHashTable, unsetenvHashTable,
< aliasSetHashTable, aliasUnsetHashTable,
< NULL },
---
> Tcl_HashTable *table[5],
297a296,302
> table[0] = setenvHashTable;
> table[1] = unsetenvHashTable;
> table[2] = aliasSetHashTable;
> table[3] = aliasUnsetHashTable;
> table[4] = NULL;
>
>
362,364c367
< Tcl_HashTable *table[] = { setenvHashTable, unsetenvHashTable,
< aliasSetHashTable, aliasUnsetHashTable,
< NULL };
---
> Tcl_HashTable *table[5];
365a369,374
> table[0] = setenvHashTable;
> table[1] = unsetenvHashTable;
> table[2] = aliasSetHashTable;
> table[3] = aliasUnsetHashTable;
> table[4] = NULL;
>
452,455c461,462
< Tcl_HashTable *oldTable[] = { setenvHashTable, unsetenvHashTable,
< aliasSetHashTable,
aliasUnsetHashTable,
< NULL },
< **o_ptr, **n_ptr,
---
> Tcl_HashTable *oldTable[5],
> **o_ptr, **n_ptr,
457a465,470
> oldTable[0] = setenvHashTable;
> oldTable[1] = unsetenvHashTable;
> oldTable[2] = aliasSetHashTable;
> oldTable[3] = aliasUnsetHashTable;
> oldTable[4] = NULL;
>
654c667,670
< Tcl_HashTable *table[] = { setenvHashTable, unsetenvHashTable };
---
> Tcl_HashTable *table[2];
>
> table[0] = setenvHashTable;
> table[1] = unsetenvHashTable;
743,744c759
<
< Tcl_HashTable *table[] = { aliasSetHashTable, aliasUnsetHashTable
};
---
> Tcl_HashTable *table[2];
766a782,784
>
> table[0] = setenvHashTable;
> table[1] = unsetenvHashTable;
- When using modules3.0.3 the first time, I got locked out of my account,
due to a known bug with the init-Files:
they do somehing like
if [ "$LOADEDMODULES" = "" ]; then ..
if LOADEDMODULES isn't defined and the shell is set to 'treat references
to undef. vars as errors' (as mine is)
the login fails.
This has to be changed:
(Yielding "" for undef. vars.)
sh.in:
7c7
< if [ "$LOADEDMODULES" = "" ]; then
---
> if [ "${LOADEDMODULES:-}" = "" ]; then
12c12
< if [ "$MODULEPATH" = "" ]; then
---
> if [ "${MODULEPATH:-}" = "" ]; then
ksh.in:
7c7
< if [ "$LOADEDMODULES" = "" ]; then
---
> if [ "${LOADEDMODULES:-}" = "" ]; then
12c12
< if [ "$MODULEPATH" = "" ]; then
---
> if [ "${MODULEPATH:-}" = "" ]; then
bash.in:
7c7
< if [ "$LOADEDMODULES" = "" ]; then
---
> if [ "${LOADEDMODULES:-}" = "" ]; then
12c12
< if [ "$MODULEPATH" = "" ]; then
---
> if [ "${MODULEPATH:-}" = "" ]; then
I don't know what is needed for the other shells !
I hope this comments will help improving module. Thanks for your work !
Martin Jost
|