Closed ztmr closed 6 years ago
Tomas. Yes. That is on purpose. But I am trying to understand why that is an issue. Can you please explain. Thanks.
May not be, just didn't expect anything to override something I have set earlier and originally suspected myself but found out it is actually happening in the binary itself.
This is all because I was seeing an error where my utf8 app (that worked well with GT.M 6.3-003A) tried to access a non-utf8 version of one of the precompiled routines distributed with ydb so I thought it may also affect $zroutines
.
As I think about it, if you do it just for *_dist
variables, that should be fine. Can you confirm? If yes, we can probably close this :)
OK, so the issue is in the code that tries to simulate UCIs from other MUMPS systems. On GT.M, we had a list of UCIs registered in configuration global and when we have switched in between these, the switch UCI function would take the UCI name and derive the right global directory and routine paths from it -- using environment variables in format of <UCI>_RTNS
and <UCI>_GLD
. At the end of each of the routine variables, the $ZTRNLNM("gtm_dist")
was appended.
So two points:
$ZTRNLNM("gtm_dist")
cannot be used anymore -- we would have to replace it with another name like gtm_vendor_routines=$gtm_dist
before gtm_dist
is overriden$zgbldir
cannot be set to $someEnvVariablePointingToGld
under some circumstances, not sure when exactly yet -- but everything points to JOB'd processes as in direct mode it works fine. That can be fixed too -- instead of setting $zgbldir="$"_UCI_"_GLD"
, we just do an extra $ZTRNLNM
on that valueHaving these workarounds applied, everything seems to work OK now.
Yes we do it just for *_dist variables. Glad you found a workaround.
When you set
ydb_dist
orgtm_dist
to it'sutf8
subdirectory and have a standard install (most of theutf8
files are symlinked to the main non-utf8 directory), these variables are forcibly changed to the directory where the binary is physically located (where the symlink is pointing to).An example tells you everything: