2

GT.M 出现此错误:

%GTM-E-GDINVALID, Unrecognized Global Directory file format: /home/blah/gt.m/example/mumps.gld, expected label: GTCGBDUNX007, found: GTCGBDUNX006

这是我到目前为止所做的:

获取版本http://sourceforge.net/projects/fis-gtm/

tar -xzf gtm_V55000_linux_i686_pro.tar.gz 

chmod +x semstat2 mupip mumps lke gtmsecshr gtcm_shmclean gtcm_server gtcm_play gtcm_pkdisp gtcm_gnp_server geteuid ftok dse

现在我们在 Bash 中这样开始:

mkdir example; cd example

...并从父目录调用腮腺炎:

../mumps -r GDE

输出是这样的:

%GDE-I-GDUSEDEFS, Using defaults for Global Directory 
 /home/blah/gt.m/example/mumps.gld

现在我们设置工作目录来创建 gld 文件。

GDE>  change -s DEFAULT -f=/home/blah/gt.m/gt.m/example/
GDE> exit

该命令的输出如下: >%GDE-I-VERIFY, Verification OK >%GDE-I-GDCREATE, Creating Global Directory file > /home/blah/gt.m/example/mumps.gld

现在这创建了一个 gld 的 v6 版本,mupip 不喜欢它:

strings mumps.gld  | head -1

其中包含此字符串:

GTCGBDUNX006H

但是 mupip 期望的是 7 而不是 6!

../mupip create

>%GTM-E-GDINVALID, Unrecognized Global Directory file format: >/home/blah/gt.m/example/mumps.gld, expected label: GTCGBDUNX007, found: GTCGBDUNX006

如果我只是编辑文件并将 6 替换为 7 ../mupip create,.

这行得通!

现在我有一个 dat 文件,然后去 gtm 保存一些东西: GTM>s ^foo("blah")=1

%GTM-E-GDINVALID,无法识别的全局目录文件格式:>/home/blah/gt.m/example/mumps.gld,预期标签:GTCGBDUNX006,找到:GTCGBDUNX007

哦,所以想要一个 v6,所以我备份了旧的,一个,我替换它。

GTM>s ^foo("blah")=1

这样可行 GTM>zwr ^foo(*)

>^foo("blah")=1

所以数据被存储了。

谁能解释一下?详细地?为什么mupip使用不同的版本号进行操作?

请注意,我没有运行任何其他命令,我只是在学习并且不想以我不理解的根目录执行任何庞大的安装例程。

4

3 回答 3

3

在您的步骤中,您没有显示您是否安装了 GT.M。

那只是解压缩的版本,首先:

    chmod 777 configure
    ./configure

安装将在目录中生成新文件gtm_dist

于 2012-03-09T11:23:17.160 回答
2

您要么已经在其他地方的系统上安装了 GT.M(我猜它是旧版本),并且在 bash/tcsh/*sh 环境中为它定义了一些环境变量,要么您没有提供所有您为解决该错误所做的步骤。

我的猜测是您已经在某处安装了 GT.M,并且您的上述命令使用了该安装的一部分。您可以使用以下命令轻松验证这一点:env | grep gtm

如果我按照上述步骤操作,我会得到以下结果:

laurent@laurent /tmp/test $ tar -zxf ~/Projects/gtm_V55000_linux_i686_pro.tar.gz
laurent@laurent /tmp/test $ chmod +x semstat2 mupip mumps lke gtmsecshr gtcm_shmclean gtcm_server gtcm_play gtcm_pkdisp gtcm_gnp_server geteuid ftok dse
laurent@laurent /tmp/test $ mkdir example; cd example
laurent@laurent /tmp/test/example $ ../mumps -r GDE
%GTM-E-GTMDISTUNDEF, Environment variable $gtm_dist is not defined

所以,正如我所说,您要么做了其他事情,要么已经安装了不同的 GT.M 版本,这就是为什么某些命令需要不同版本的 GLD。

于 2012-05-15T14:42:39.650 回答
1

正如 Bhaskar 在您关于 Hardhats 的交叉帖子中所指出的那样。确保遵循 GT.M 的安装说明。说明可在UNIX 管理和操作指南的第 2 章中找到

于 2012-02-24T19:01:24.293 回答