我收到了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使用不同的版本号? 请注意,我没有运行任何其他命令,我只是在学习,并且不想执行任何我不理解的根目录的大型安装例程。
答案 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。