powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / помогите запустить програмку в gt.m
13 сообщений из 13, страница 1 из 1
помогите запустить програмку в gt.m
    #38717254
Виталийv4567
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По роду работы изучаю gt.m
Установил gt.m - запускаю его командой:
/usr/local/gtm/mumps -direct
он выдаёт мне командную строку:
GTM>
ввожу команды, всё работает.
Теперь пытаюсь написать файлик - скрипт и скормить его командному интерпретатору gtm
То же получилось:
GTM>d ^prog
но файлик должен находиться в папке где установлен gtm то есть в /usr/local/gtm
Если файлик разместить в другом месте, то gtm уже не понимает. Не понимает слешев, точек и вообще пути, например:
GTM>d ^./user/prog
или
GTM>d ^/usr/local/gtm/user/prog

Как ему надо указывать путь к файлу, если это конечно возможно?
...
Рейтинг: 0 / 0
помогите запустить програмку в gt.m
    #38717293
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виталийv4567,

по воспоминаниям 10-летней давности, код можно запускать только из текущей папки, которая вполне может отличаться от папки gtm: главное, чтобы был определён путь к интерпретатору. В документации это подробно описано (ЕМНИП, "Setting GT.M environment").
...
Рейтинг: 0 / 0
помогите запустить програмку в gt.m
    #38717331
Виталийv4567
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Maslov, не подскажешь где можно найти документацию на русском, если конечно она есть.

У меня получается надо складывать в папке установки gtm

Ещё вот какой вопрос, после выполнения скрипта вернее перед тем как выполнить скрипт gtm преобразовывает текстовый файл с расширением "m" в файл пи кода с расширением "o" и загружает его в оперативную память. После внесения изменений в файл "m" и запуска его в командной строке gtm у меня нового преобразования нет. По видимому исполняется старый записанный в оперативную память файл с расширением "o" Как заставить gtm преобразовать новый файл "m" в "o" и записать его на место старого в оперативной памяти?
...
Рейтинг: 0 / 0
помогите запустить програмку в gt.m
    #38717350
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виталийv4567,

не помню уже, увы. Помню только, что в документации всё подробно описано, проблем такого рода просто не было - зря не хотите заглянуть. По-русски "в мои времена" её не было, думаю, что нет и сейчас - с чего бы ей появиться? Объём рынка в СНГ = 0 (именно рынка). Даже InterSystems с значительно большим объёмом вкладываться в перевод, насколько знаю, не планирует.
...
Рейтинг: 0 / 0
помогите запустить програмку в gt.m
    #38717358
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виталийv4567,
Вы должны указать патч, где находятся ваши
роутины в переменных окружения !

Вот инструкция, которая у меня есть под рукой как все это настроить
на примере некоторой базы(folder) salrte, хотя у вас она может быть и другая :
1. То что делает GT.M по умолчанию при установке в файл дистрибутиве (системном),
mumps.gld и mumps.dat - УДАЛЯЕМ !
Дальше делаем руками.

[root@GTM gtm602]# export gtmgbldir=/usr/gtm602/database
[root@GTM gtm602]# mumps -r GDE
%GDE-I-GDUSEDEFS, Using defaults for Global Directory
/usr/gtm602/database.gld

GDE> change -s DEFAULT -f=/usr/gtm602/database
GDE> exit
%GDE-I-VERIFY, Verification OK

%GDE-I-GDCREATE, Creating Global Directory file
/usr/gtm602/database.gld
[root@GTM gtm602]# mupip create && dse change -f -key_max=2046 -rec=4096
Created file /usr/gtm602/database.dat

File /usr/gtm602/database.dat
Region DEFAULT
[root@GTM gtm602]#


В следующие несколько шагов создаем GT.M базы данных и импортируем глобалы salrte в эту базу данных.
Во-первых, установим несколько переменных среды вручную.

1.Создаем директорию на подобие cache для программ
[root@LinuxServer salrte]# mkdir /usr/local/gtm60/mgr/salrte/r

2.Создаем директорию на подобие cache для глобалов
[root@LinuxServer salrte]# mkdir /usr/local/gtm60/mgr/salrte/g

3.Определимся где будут лежать наши програмы + системные gtm программы:

[root@LinuxServer salrte]# gtmroutines="/usr/local/gtm60/mgr/salrte/r $gtm_dist ."
[root@LinuxServer salrte]# export gtmroutines

4.Создаем переменну для определения глобальной директории
где будет лежать(название.gld). В нашем случае database.gld :

[root@LinuxServer salrte]# gtmgbldir=/usr/local/gtm60/mgr/salrte/g/database
[root@LinuxServer salrte]# export gtmgbldir

5.Создаем остальные переменные для дальнейшей работы(gtm,mupip,lke,gde,dse):

[root@LinuxServer salrte]# gtm="$gtm_dist/mumps -direct"; export gtm
[root@LinuxServer salrte]# mupip="$gtm_dist/mupip"; export mupip
[root@LinuxServer salrte]# lke="$gtm_dist/lke"; export lke
[root@LinuxServer salrte]# gde="$gtm_dist/mumps -r ^GDE"; export gde
[root@LinuxServer salrte]# dse="$gtm_dist/dse"; export dse

6.Используем утитлиту GDE для создания нашей глобальной директории файлов:

[root@LinuxServer salrte]# mumps -r GDE
%GDE-I-GDUSEDEFS, Using defaults for Global Directory
/usr/local/gtm60/mgr/salrte/g/database.gld

[root@LinuxServer salrte]#GDE> change -s DEFAULT -f=/usr/local/gtm60/mgr/salrte/g/database
[root@LinuxServer salrte]#GDE>exit
%GDE-I-VERIFY, Verification OK
%GDE-I-GDCREATE, Create Global Directory file
/usr/local/gtm60/mgr/salrte/g/database.gld

7.Используем утилиту MUPIP для создания файла нашей базы данных
используя новые возможности версии V6.0-000:

- The maximum supported key size increases from 255 to 1,019 bytes.
- Global variable nodes need no longer fit within a database block. This
opens opportunities for applications to consider smaller block sizes where
these improve performance. Also, the new maximum global variable node size
of 1,048,576 bytes (1 MiB) means that any local variable node can also be
stored in a global variable.
- The maximum size of a database file is now 1,040,187,392 (992 Mi) blocks.
Previously this limit was 234,881,024 (224 Mi) blocks.

[root@LinuxServer salrte]# mupip create && dse change -f -key_max=1019 -rec=1048576
Created file /usr/local/gtm60/mgr/salrte/g/database.dat

File /usr/local/gtm60/mgr/salrte/g/database.dat
Region DEFAULT

8. В общем наш профильный (profile) файл должен выглядеть примерно так:

#!/bin/bash
cd /usr/local/gtm60/mgr/salrte
gtm_dist="/usr/local/gtm60"; export gtm_dist
gtmroutines="/usr/local/gtm60/mgr/salrte/r $gtm_dist ."; export gtmroutines
gtmgbldir="/usr/local/gtm60/mgr/salrte/g/database.gld"; export gtmgbldir
gtm="$gtm_dist/mumps -direct"; export gtm
mupip="$gtm_dist/mupip"; export mupip
lke="$gtm_dist/lke"; export lke
gde="$gtm_dist/mumps -r ^GDE"; export gde
dse="$gtm_dist/dse"; export dse
PATH=$PATH:$gtm_dist

Для 64 bit. Систем (Ubuntu 64bit) включить библиотеку.

ln -s /lib64/libncurses.so.5 /lib64/libtinfo.so.5
ln -s /lib64/libtinfo.so.5 /lib64/libtinfo.so

...
Рейтинг: 0 / 0
помогите запустить програмку в gt.m
    #38717363
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, забыл.
Уже когда определитесь что и где, из командной строки
достаточно выполнить команду этого bash файла (name):
[root@GTM gtm602]# source /patch/name

И БУДЕТ ВАМ СЧАСТЬЕ...
...
Рейтинг: 0 / 0
помогите запустить програмку в gt.m
    #38717371
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey MaslovОбъём рынка в СНГ = 0 (именно рынка).Это вы зря, в СНГ есть проекты на GT.M. даже что далеко ходить, вот тут недавно откопали похоже совсем даже свежий проект Аптека GT.M.

а вот делать документацию на русском смысла конечно большого нет
...
Рейтинг: 0 / 0
помогите запустить програмку в gt.m
    #38717424
Виталийv4567
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMor ОГРОМНОЕ СПАСИБО!!!

не подскажите ещё как из командной строки gtm скомпилить в пи код исправленный "m" файл и загрузить этот "o" файл в оперативную память?
Или это можно сделать только из баша командой:
/usr/local/gtm/mumps /usr/local/gtm/*.m
...
Рейтинг: 0 / 0
помогите запустить програмку в gt.m
    #38717436
Виталийv4567
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кажись нашёл как это делать.
В командной строке gtm выполняю:
GTM>zlink "prog.m"
после этой команды рядышком появляется файл с расширением "o" - пи код, а потом командой:
GTM>d ^prog
запускаю программу и она записывается в оперативную память вместо старой и выполняется.
...
Рейтинг: 0 / 0
помогите запустить програмку в gt.m
    #38717443
Виталийv4567
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Maslov,

> Объём рынка в СНГ = 0 (именно рынка).

У нас на нём база данных написана. Вот по работе приходиться изучать gtm что бы дописывать модули и работать с базой.
...
Рейтинг: 0 / 0
помогите запустить програмку в gt.m
    #38717470
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMor[... в СНГ есть проекты на GT.M. ...Проекты и рынок - две большие разницы, не так ли? Насколько понял задумку FIS, они открыли часть кода GT.M (только x86-32 и Alpha), в надежде, что разработчики заинтересуются, и в дальнейшем:
- появятся крупные проекты на платных серверных платформах (x86-64, Solaris, AIX, etc)
- появятся контракты на сопровождение бесплатных установок GT.M.

Ни то, ни другое, ИМХО, "не наш метод". У нас же (у большинства из нас))) на просторах СНГ: уж если халява, то до конца.
...
Рейтинг: 0 / 0
помогите запустить програмку в gt.m
    #38717528
Виталийv4567
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Maslov,

> Проекты и рынок - две большие разницы, не так ли?

Та я не спорю. Я пока на работу не устроился не знал вообще что такое gt.m Причём у кого не спрошу никто не знает. Хотя узнал что на нём написаны банковские вещи, да и вообще не нём реализовывают серьёзные системы. Но вот как то он находится в тени и очень многие кто конкретно по работе с ним не связан про него не знают.
...
Рейтинг: 0 / 0
помогите запустить програмку в gt.m
    #38717926
andrew000999
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
поставьте alt-nc - здорово облегчит работу
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / помогите запустить програмку в gt.m
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]