h4ck3rm1k3
h4ck3rm1k3

Reputation: 2100

How to solve %GTM-E-GDINVALID, Unrecognized Global Directory file format: mumps.gld, expected label: GTCGBDUNX007, found: GTCGBDUNX006?

I am getting this error with GT.M:

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

Here is what I did so far:

get the version 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

Now we start like this in Bash:

mkdir example; cd example

...and invoke the mumps from the parent dir:

../mumps -r GDE

The output is this:

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

Now we set the working dir to create the gld file.

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

The output from the command is this : >%GDE-I-VERIFY, Verification OK >%GDE-I-GDCREATE, Creating Global Directory file > /home/blah/gt.m/example/mumps.gld

Now this creates a v6 version of gld, which mupip does not like:

strings mumps.gld  | head -1

Which contains this string:

GTCGBDUNX006H

But mupip expects a 7 not a 6!

../mupip create

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

If I just edit the file and replace the 6 with a 7, ../mupip create.

This works!

Now I have a dat file, and go to gtm to save something : GTM>s ^foo("blah")=1

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

Oh so that wants a v6, so good thing i backed up the old, one, i replace it .

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

that works GTM>zwr ^foo(*)

>^foo("blah")=1

So the data is stored.

Can anyone please explain this? In detail? Why does mupip operate with a different version number?

Note, I did not run any other commands, I am just learning and don't want to execute any huge install routines a root that I don't understand.

Upvotes: 2

Views: 1218

Answers (3)

Jonh Snow
Jonh Snow

Reputation: 43

In your steps you don't show whether you installed GT.M or not.

That is only the unziped version, first:

    chmod 777 configure
    ./configure

The installation will produce new files in the gtm_dist directory.

Upvotes: 3

Laurent Parenteau
Laurent Parenteau

Reputation: 2576

You either have GT.M already installed (and I would guess it is an older version) on your system somewhere else and have some environment variable defined for it in your bash/tcsh/*sh environment, or you didn't provide all the step you did to get to that error.

My guess is that you already have GT.M installed somewhere and your above commands uses part of that installation. You can easily verify this using this command : env | grep gtm.

If I follow your steps mentioned above, I get this result :

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

So, I as said, you either did something else, or have a different GT.M version already installed and this is why some commands expect different versions of GLD.

Upvotes: 2

igotmumps
igotmumps

Reputation: 614

As Bhaskar has noted in your cross post on Hardhats. Make sure you follow the installation instructions for GT.M. Instructions can be found in Chapter 2 of the UNIX Administration and Operations Guide

Upvotes: 1

Related Questions