Come risolvere% GTM-E-GDInvalid, Formato del file di directory globale non riconosciuto: MUMPS.GLD, Etichetta prevista: GTCGBDUNX007, trovato: GTCGBDUNX006?
-
12-11-2019 - |
Domanda
Sto ricevendo questo errore con gt.m
%GTM-E-GDINVALID, Unrecognized Global Directory file format: /home/blah/gt.m/example/mumps.gld, expected label: GTCGBDUNX007, found: GTCGBDUNX006
.
Ecco cosa ho fatto finora:
Ottieni la versione 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
.
Ora iniziamo come questo in Bash
mkdir example; cd example
.
e invoca i parotite dal genitore dir,
../mumps -r GDE
.
L'output è questo
%GDE-I-GDUSEDEFS, Using defaults for Global Directory
/home/blah/gt.m/example/mumps.gld
.
Ora abbiamo impostato il dir funzionante per creare il file GLD
GDE> change -s DEFAULT -f=/home/blah/gt.m/gt.m/example/
GDE> exit
.
L'uscita dal comando è questa:
.% GDE-I-Verifica, verifica OK % GDE-I-GDCREATE, creando il file di directory globale /home/blah/gt.m/example/mumps.gld
Ora questo crea una versione V6 di GLD, quale Mupip non piace.
.strings mumps.gld | head -1
Che contiene questa stringa:
.GTCGBDUNX006H
Ma Mupip si aspetta un 7 non a 6!
.../mupip create >%GTM-E-GDINVALID, Unrecognized Global Directory file format: >/home/blah/gt.m/example/mumps.gld, expected label: GTCGBDUNX007, found: GTCGBDUNX006
Se modifico il file e sostituisco il 6 con un 7,
../mupip create
. Questo funziona!Ora ho un file DAT e vai a GTM per salvare qualcosa:
GTM>s ^foo("blah")=1
.% GTM-E-GDInvalid, formato file di directory globale non riconosciuto:> /home/blah/gt.m/example/mumps.gld, Etichetta prevista: GTCGBDUNX006, Trovato: GTCGBDUNX007
Oh, così che vuole una V6, così buona cosa ho sostenuto il vecchio, uno, lo sostituisco.
GTM>s ^foo("blah")=1
funziona
GTM>zwr ^foo(*)
.>^foo("blah")=1
Quindi i dati sono memorizzati.
Qualcuno può spiegare questo? in dettaglio? Perché Mupip funziona con un numero di versione diverso? Nota, non ho eseguito altri comandi, sto solo imparando e non voglio eseguire qualsiasi enorme routine di installazione una radice che non capisco.
Soluzione
hai già installato GT.M (e immagino che sia una versione precedente) sul tuo sistema da qualche altra parte e ha una variabile di ambiente definita per questo nel tuo ambiente Bash / TCSH / * SH, o non l'hai fattoFornisci tutto il passo che hai da ottenere a quell'errore.
La mia ipotesi è che hai già installato GT.M da qualche parte e i tuoi comandi sopra utilizza parte di quell'installazione.È possibile verificare facilmente questo comando: env | grep gtm
.
Se seguo i tuoi passaggi sopra menzionati, ottengo questo risultato:
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
.
Allora, io come detto, hai fatto qualcos'altro o hai una versione GT.M diversa già installata ed è il motivo per cui alcuni comandi si aspettano diverse versioni di GLD.
Altri suggerimenti
Nei tuoi passaggi u non mostrare se hai installato o non GT.M.
Questa è solo la versione decompressa, prima:
chmod 777 configure
./configure
.
L'installazione produrrà nuovi file nella directory GTM_Dist.
Spero che abbia aiutato.
Poiché Bhaskar ha notato nel tuo post croce su effidami.Assicurati di seguire le istruzioni di installazione per GT.M.Le istruzioni possono essere trovate nel capitolo 2 del Amministrazione e operazioni UNIXGuida