我在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,创建全局目录文件>home/blah/gt.m/example/mumps.gld
现在,这创建了一个v6版本的gld,mupip不喜欢它:
strings mumps.gld | head -1
包含以下字符串:
GTCGBDUNX006H
但是穆皮期望的是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,CCD_ 1。
这很管用!
现在我有了一个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
使用不同的版本号运行?
注意,我没有运行任何其他命令,我只是在学习,不想执行任何庞大的安装例程——我不理解这个根。
在步骤中,您不会显示是否安装了GT.M。
这只是解压缩的版本,首先:
chmod 777 configure
./configure
安装将在gtm_dist
目录中生成新文件。
您的系统上已经在其他地方安装了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。
正如巴斯卡在你关于安全帽的交叉帖子中所指出的。请确保遵循GT.M的安装说明。有关说明,请参阅UNIX管理和操作指南的第2章