如何解决%GTM-E-GDINVALID,无法识别的全局目录文件格式:mumps.gld,预期标签:GTCGBDUNX007,找到:GTCGBDUNX006?

时间:2012-02-24 08:25:43

标签: mumps

我收到了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,验证确定   %GDE-I-GDCREATE,创建全局目录文件   /home/blah/gt.m/example/mumps.gld

现在这会创建一个v6版本的gld,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

如果我只是编辑文件并用7替换6,   ../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使用不同的版本号? 请注意,我没有运行任何其他命令,我只是在学习,并且不想执行任何我不理解的根目录的大型安装例程。

3 个答案:

答案 0 :(得分:3)

在你的步骤中你不会显示你是否安装了GT.M。

这只是unziped版本,首先:

    chmod 777 configure
    ./configure

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

希望它有所帮助。

答案 1 :(得分:1)

正如Bhaskar在你关于安全帽的交叉帖子中所说的那样。确保遵循GT.M的安装说明。有关说明,请参阅UNIX Administration and Operations Guide

的第2章

答案 2 :(得分:1)

您的系统上已经安装了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。