Как решить% GTM-E-GDINVALID, Нераспознанный формат файла Глобального каталога: mumps.gld, ожидаемая метка: GTCGBDUNX007, найдено: GTCGBDUNX006? - PullRequest
1 голос
/ 24 февраля 2012

Я получаю эту ошибку с 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, верификация OK% GDE-I-GDCREATE,Создание файла глобального каталога /home/blah/gt.m/example/mumps.gld

теперь это создает версию gld версии v6, которая не нравится 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

Если я просто отредактирую файл и заменил 6 на 7, ../mupip create Это работает!

Теперь у меня есть файл dat, и я захожу в gtm, чтобы что-то сохранить: GTM>s ^foo("blah")=1

% GTM-E-GDINVALID, Нераспознанный формат файла Global Directory:>/home/blah/gt.m/example/mumps.gld, expected label: GTCGBDUNX006, найдено: GTCGBDUNX007

О, так, что хочет v6, так хорошо, что я сделал резервную копию старого, один, я заменяю его.

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

, который работает GTM>zwr ^foo(*)

>^foo("blah")=1

Итак, данные хранятся.

Может кто-нибудь объяснить, пожалуйста?в деталях?почему mupip работает с другим номером версии?обратите внимание, я не запускал никаких других команд, я только учусь и не хочу выполнять какие-либо огромные процедуры установки в корне, который я не понимаю.

Ответы [ 3 ]

3 голосов
/ 09 марта 2012

В ваших шагах вы не показываете, установлен ли вы или нет GT.M.

Это только разархивированная версия, сначала:

    chmod 777 configure
    ./configure

При установке будут созданы новые файлы в каталоге gtm_dist.

Надеюсь, это помогло.

1 голос
/ 15 мая 2012

У вас либо 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.

1 голос
/ 24 февраля 2012

Как отметил Бхаскар в вашем кросс-посте на Hardhats.Обязательно следуйте инструкциям по установке для GT.M.Инструкции можно найти в главе 2 Руководства по администрированию и эксплуатации UNIX

...