как решить %GTM-E-GDINVALID, Непризнанный формат файла глобального каталога:mumps.gld, ожидаемая метка:GTCGBDUNX007, найден:GTCGBDUNX006?
-
12-11-2019 - |
Вопрос
Я получаю эту ошибку с 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 из родительского каталога,
../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
теперь это создает версию 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, формат файла нераспознанного глобального каталога:>/home/blah/gt.m/example/mumps.gld, ожидаемая метка:GTCGBDUNX006, найден:GTCGBDUNX007
О, так ему нужен v6, так что хорошо, что я сделал резервную копию старого, я заменяю его .
GTM>s ^foo("blah")=1
это работает
GTM>zwr ^foo(*)
>^foo("blah")=1
Таким образом, данные сохраняются.
Кто-нибудь может, пожалуйста, объяснить это?в деталях?почему mupip работает с другим номером версии?обратите внимание, я не запускал никаких других команд, я только учусь и не хочу выполнять какие-либо огромные процедуры установки root, которые я не понимаю.
Решение
У вас тоже есть 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.
Это только неразделенная версия, сначала:
chmod 777 configure
./configure
.
Установка произведет новые файлы в каталоге GTM_DIST.
Надеюсь, это помогло.
Как отметил Бхаскар в вашем перекрестном посте о каск.Убедитесь, что вы следуете инструкциям по установке GT.M.Инструкции можно найти в главе 2 настоящего руководства. Руководство по администрированию и эксплуатации UNIX