[00:57:23] <landgraf> Ambiguous variable substitution, need to specify the language (in PATH)
Invalid setup of the gprconfig knowledge base
gprbuild: could not create /home/pavel/projects/qtada/main_windows/dock_widgets/gpr/../.amoc/auto.cgpr
[00:58:57] <landgraf> 2 target:x86_64-redhat-linux
2 normalized_target:x86_64-linux
2 executable:amoc
2 path:/usr/bin/
2 lang:Amoc
2 name:AMOC
2 version:3.0.0 GPL Edition
2 runtime:
2 native:TRUE
[00:59:02] <landgraf> :(
[01:01:57] <vgodunko> Это что такое?
[01:03:19] <yeo> это старый формат *xml для gprbuild
[01:03:54] <landgraf> а где взять новый?
[01:05:56] <yeo> где-то надо воткнуть ("Ada") наверное
[01:06:48] <landgraf> в xml?
[01:06:53] <yeo> <------><------>sed -i -e "s/{PATH}/{PATH(Amoc)}/" \
<------><------> "${D}"/${PREFIX}/share/gprconfig/amoc.xml
[01:07:13] <yeo> вот так у меня в gentoo-overlay-е
[01:08:20] <yeo> amoc.xml древний, заточен под gprbuild-2010
[01:09:01] <landgraf> yeo, fixed thx
[01:14:04] <landgraf> там, теперь надо научиться выводить содержимое текстового файла )
[01:14:38] <yeo> в qt я не силен :(
[01:19:52] <yeo> не в курсе, почему при упаковке в RPM может исчезать дебаговая информация?
[09:15:18] <vgodunko> QTextEdit в режиме read-only?
[09:43:20] <landgraf> yeo, есть специальная директива, которая отключает дебаг, или в debuginfo пакует
[09:43:30] <landgraf> vgodunko, ага, он саый.
[10:17:31] <vgodunko> landgraf: там кстати и раскрашивать текст можно
[10:21:47] <landgraf> это у меня задача #1
[10:22:00] <landgraf> нужно раскрашивать строки с ERROR в красный )
[11:21:20] <landgraf> если я объвяляю не protected Name, а protected type Name и создаю объект где-нибудь на уровне процедуры - после выхода из процедуры он сдохнет?
[11:22:03] <landgraf> или, если сделаю указатель - не сдохнет пока явно не сделать Free?
[11:55:57] <landgraf> что это за MOC child packagе такой:
[11:56:00] <landgraf> ?
[12:01:42] <landgraf> amoc log_viewer_widgets.ads
:1:1: ERROR_CANT_READ_UNIT Standard
Asis.Ada_Environments.Open: Exception name: CONSTRAINT_ERROR
Message: asis-gela-unit_utils.adb:19 access check failed
[12:11:14] <vgodunko> yeo: есть мысли?
[12:21:00] <vgodunko> landgraf: не ожидайте чудес. Локальный объект живёт ровно пока управление находится внутри подпрограммы.
[12:21:33] <landgraf> это я уже молчу про
gprbuild -Pgnat/adev_moc -g -ggdb -p -f -gnat05 -cargs -O0 -gnata -p -ggdb
amoc -O0 -gnata -p -ggdb log_viewer_widgets.ads
Unhandled argument '-O0'
Unhandled argument '-gnata'
Unhandled argument '-p'
Unhandled argument '-ggdb'
:1:1: ERROR_CANT_READ_UNIT Standard
Asis.Ada_Environments.Open: Exception name: CONSTRAINT_ERROR
Message: asis-gela-unit_utils.adb:19 access check failed
[12:22:09] <vgodunko> Всё, чем может помочь Ada - поругать при попытке присвоения 'Access на него к переменной ссылочного типа если...
[12:22:50] <vgodunko> ... насколько же сложно объяснить что есть accessibility level
[12:23:07] <landgraf> vgodunko, а если я его в куче создам?
[12:23:28] <vgodunko> Тогда до приложения к нему Unchecked_Deallocation
[12:23:35] <landgraf> Вот!
[12:23:40] <landgraf> я это и имею в виду )
[12:23:47] <vgodunko> про gprbuild/amoc - нужно "правильно" писать gpr файлы
[12:23:52] <landgraf> 'Access я уже пытался сделать год назад )
[12:24:03] <landgraf> vgodunko, я взял gpr из examples
[12:24:19] <landgraf> и поменял пути
[12:25:31] <landgraf> даже так:
[pavel@landgraf t8]$ pwd
[pavel@landgraf t8]$ make
gprbuild -p -Pgpr/t8_moc.gpr
amoc cannon_fields.ads
:1:1: ERROR_CANT_READ_UNIT Standard
Asis.Ada_Environments.Open: Exception name: CONSTRAINT_ERROR
Message: asis-gela-unit_utils.adb:19 access check failed
raised ASIS.EXCEPTIONS.ASIS_FAILED : asis-ada_environments.adb:241
gprbuild: *** compilation phase failed
make: *** [all] Error 4
[12:25:37] <vgodunko>
with "qt_gui";
project Dock_Widgets is
type Build_Modes is ("Application", "Metadata");
Build_Mode : Build_Modes := external ("BUILD_MODE");
for Source_Dirs use (".", ".amoc");
case Build_Mode is
when "Application" =>
for Main use ("main.adb");
for Object_Dir use ".objs";
for Exec_Dir use ".";
when "Metadata" =>
for Languages use ("Amoc");
for Object_Dir use ".amoc";
for Source_Files use ("main_windows.ads");
end case;
package Compiler is
for Default_Switches ("Ada") use ("-g", "-gnat05");
end Compiler;
package IDE is
for QtAda_Amoc_Invocation_Switch use "-XBUILD_MODE=Metadata";
end IDE;
end Dock_Widgets;
[12:26:07] <landgraf> vgodunko, у меня samples тоже не собирается - вываливается с аналогичным исключением
[12:26:12] <vgodunko> Вот как "правильно"
[12:26:26] <vgodunko> Я это понял... и кажется знаю в чём дело!
[12:27:30] <landgraf> vgodunkom и падает еще до компиляции "основного" gpr
[12:27:36] <landgraf> на moc падает
[12:27:44] <vgodunko> GELA_INCLUDE_PATH=$(top_srcdir)/source/tools/amoc/gela/stdlib/
[12:28:10] <vgodunko> В общем где-то поставился каталог stdlib
[12:28:27] <vgodunko> Путь до него нужно указать в переменной окружения GELA_INCLUDE_PATH
[12:29:07] <landgraf> негоже заставлять пользователя пути менять :(
[12:30:16] <vgodunko> Поменял пути - сам себе злобный буратино ;-)
[12:30:25] <landgraf> а неработающие приверы - уже повод не включать пакет в репозиторий, он тупо Review не пройдет
[12:30:29] <landgraf> примеры
[12:30:55] <vgodunko> Все примеры работают
[12:31:01] <landgraf> t8 не работает )
[12:31:13] <vgodunko> Не собирается?
[12:31:17] <landgraf> не собирается с установленной qtada
[12:31:18] <landgraf> да
[12:31:34] <landgraf> raised ASIS.EXCEPTIONS.ASIS_FAILED : asis-ada_environments.adb:241
[12:31:34] <vgodunko> GELA_INCLUDE_PATH нужно поставить и проверить
[12:32:12] <landgraf> куда он должен указывать?
[12:32:56] <landgraf> rpm -qa qtada-devel | grep -i gela
[pavel@landgraf t8]$
[12:32:57] <vgodunko> Если бы я помнил...
[12:33:06] <landgraf> а gela вообще пакуется??
[12:33:11] <vgodunko> /usr/include/qtada/stdlib похоже
[12:33:19] <landgraf> или надо make install gela делать?
[12:33:26] <vgodunko> Gela - нет, устанавливается только stdlib
[12:33:38] <vgodunko> make install для всего QtAda нужно делать
[12:33:48] <landgraf> :q
[12:33:57] <vgodunko> Если он с Gela собран, то stdlib от gela поставтся сама
[12:34:46] <landgraf> vgodunko, так пытается собираться
[12:34:50] <landgraf> собралось
[12:37:41] <landgraf> vgodunko, спасибо
[12:37:54] <vgodunko> Всегда пожалуйста!
[12:38:13] <vgodunko> А что, в Fedora ASIS for GNAT нет ещё?
[12:38:29] <landgraf> нет
[12:38:38] <vgodunko> И это правильно
[12:38:52] <landgraf> и не будет, пока мантейнер gcc не поменяется :(
[12:39:13] <vgodunko> Не, не нужно
[12:39:53] <vgodunko> Синхронной версии не существует, попытка натянуть GPL на FSF в один момент может закончиться непредсказуемо
[13:35:59] <nordwind> в системах с системд есть еще /etc/фвоешьу
[13:36:12] <nordwind> adjtime
[13:36:24] <nordwind> к вопросу о поясах
[14:24:04] <landgraf> как в qt-creator-е менять иерархию?
[17:14:09] <landgraf> а что делают Директора в qtada?
[17:31:51] <vgodunko> landgraf: директор это база для создания своего подкласса.
[17:32:36] <landgraf> vgodunko, то есть я не могу Q_Text_Edit в лоб использовать? надо делать свой?
[17:32:39] <vgodunko> Главная его особенность - он умеет вызовы из C++ преобразовывать в вызовы Ada подпрограмм
[17:32:47] <vgodunko> Зачем свой?
[17:32:58] <vgodunko> Qt4.Text_Edits.Constrcutors.Create
[17:33:14] <vgodunko> Получаем нечто типа Q_Text_Edit'Class и радостно его используем
[17:33:27] <vgodunko> director-ы нужны ТОЛЬКО для создания подклассов
[17:33:30] <landgraf> /me увидел Директора и пошел своего ляпать
[17:34:04] <yeo> тяга к начальству!
[17:34:14] <landgraf> vgodunko, а чтобы делать слоты-сигналы нужен будет подкласс все равно?
[17:34:29] <vgodunko> Да
[17:34:49] <vgodunko> Хотя бы один подкласс нужен в любой программе.
[17:35:00] <vgodunko> Ну за исключением примеров t1 .. t7
[17:44:47] <landgraf> vgodunko, http://fpaste.org/Y92h/ я правильно мыслю?
[17:46:54] <vgodunko> Типа того, но так обычно не елают.
[17:46:57] <vgodunko> ltkf.n
[17:47:05] <vgodunko> Да блин, делают
[17:47:11] <landgraf> (((
[17:48:14] <landgraf> main_windows/dock_widgets/main_windows.ads
[17:48:23] <landgraf> во, то, что доктор прописал..
[17:49:32] <vgodunko> Да, именно так. Обычно (и как минимум) переопределяют QMainWindow
[17:49:49] <vgodunko> Во-первых, по любому нужна отправная точка.
[17:50:14] <vgodunko> Во-вторых, желательна одна точка для всех наворотов современного приложения.
[18:08:16] <landgraf> main_windows.ads:86:11: warning: unrecognized pragma "Q_Slot"
[18:08:21] <landgraf> o_O
[18:08:32] <landgraf> это нормально?
[18:09:46] <vgodunko> Да
[18:10:03] <vgodunko> на ada-ru.qtada.com есть статья как от этого избавиться
[18:10:11] <vgodunko> а то мозолит глаза :-)
[18:16:37] <yeo> http://www.ada-ru.org/warnings-off :-P
[18:16:51] <landgraf> да уже нашел )
[18:17:12] <landgraf> yeo, эт другая )
[18:17:38] <vgodunko> Это наверное та же, только честно стянутая yeo
[18:19:11] <yeo> не дадим vgodunko заработать на рекламе!
[18:22:35] <landgraf> мне, скорее Q_String_List нужен...
[18:22:45] <landgraf> там можно цвет раскрашивать:
[18:22:47] <landgraf> ?
[18:22:51] <landgraf> *текст
[18:23:09] <vgodunko> Да.
[18:23:30] <vgodunko> На вопрос как... не помню.
[18:23:45] <vgodunko> yeo: а где был пример редактора с подсветкой Ada синтаксиса?
[18:24:48] <yeo> был
[18:25:44] <yeo> http://forge.ada-ru.org/gela/browser/branches/oag/examples/syntax_highlight
[18:27:19] <landgraf> thx
[19:18:14] <landgraf> 22 Self.Log_Text := Qt4.List_Widgets.Constructors.Create;
23 Self.Set_Central_Widget (Self.Log_Text);
[19:18:19] <landgraf> что не так то? (
[19:18:54] <landgraf> raised CONSTRAINT_ERROR : qt_ada-internals-objects.adb:93 access check failed
[19:19:14] <landgraf> до добавления 23 все было нормально...
[19:25:42] <landgraf> Qt4.Main_Windows.Directors.Constructors.Initialize (Self);
[19:26:21] <vgodunko> Qt4.Main_Windows.Directors.Constructors.Initialize (Self); долдно быть первой строкой
[19:27:00] <landgraf> а почему до этого без нее работало?
[19:27:06] <landgraf> менюшки даже рисовало...
[19:27:32] <vgodunko> Видимо так сложились звёзды :-)
[19:38:52] <landgraf> ух... оказалось лог-файлы могут быть up to 2Gb, а еще они ротируются и сжимаются LZMA
[19:39:04] <landgraf> то есть могут быть Nx2Gb
[19:43:31] <landgraf> vgodunko, а матрешку можно заюзать для "поиска" по timestamp? если есть несколько вариантов оного и нужно синхронизировать файлы открытые по времени?
[19:43:40] <landgraf> подозреваю, что да )
[19:45:04] <vgodunko> Или нет.
[19:45:10] <vgodunko> Матрёшка с файлами пока не работает.
[19:45:23] <vgodunko> Но если данные не в файлах, то - да
[19:45:33] <landgraf> в файлах
[19:45:45] <landgraf> придется вытягивать из файла и кормить матрешу?
[19:46:47] <vgodunko> Да
[19:46:49] <landgraf> vgodunko, а как Universal_String с QT4.Strings пересекаются?
[19:47:36] <vgodunko> QString := Qt4.Strings.From_UTF8 (Universal_String.To_UTF_8_String)
[19:47:47] <landgraf> thx
[19:48:15] <vgodunko> Если будет слишком медлено - могу "доработать напильником"
[19:48:37] <vgodunko> Путём грязного хака можно достичь весьма серьёзной производительности.
[19:48:49] <vgodunko> У Матрёшки и Qt внутреннее представление похоже.
[19:48:51] <landgraf> насколько грязного? )
[19:52:45] <landgraf> алгоритм получается печальный - открыть файл A.log, найти там error_pattern если не найден распаковать A.log.1.xz и так далее, если найден - взять timestamp, сделать из него timestamp лога B, открыть лог B и искать там наиболее близкую запись, продвигаясь по архивам...
[19:53:14] <landgraf> это программа-минимум )
[19:58:01] <landgraf> vgodunko, если учесть что файлы нужны Read_Only задачу поиска можно распараллелить?
[19:59:19] <vgodunko> Кто его знает
[19:59:41] <vgodunko> С распараллеливанием хорошо пока файлы в кэше лежат.
[19:59:51] <vgodunko> Как только винт дёргаться начал - делю труба.
[20:00:16] <landgraf> :(
[20:00:50] <landgraf> в один потом перебирать миллион строк тоже не очень весело...
[22:06:18] <yeo> давай в матрешку архиваторы добавим? слабо API запилить?
[22:08:19] <yeo> а еще можно mmap версию Stream_Element_Vector! :)
[22:29:29] <vgodunko> Эх... где бы столько времени взять?
[22:30:08] <yeo> не спать и не работать!
[22:30:20] <vgodunko> Не дождёшся!
[22:30:28] <vgodunko> У меня подъём в 4:00 завтра!
[22:30:37] <vgodunko> Поэтому я - спать!
[22:30:43] <vgodunko> И работать завтра не буду!
[22:31:12] <yeo> во, будешь пилить АПИ :D
[22:32:03] <vgodunko> Да я вообще боюсь съехать с текущим состоянием здоровья и предстоящим завтра подвигом.
[22:32:10] <vgodunko> Что-то очкливо...
[22:32:12] <vgodunko> :-(
[22:48:34] <landgraf> пиво 22 кроны в баре, красота
[22:51:01] <vgodunko> Это неправильно!
[22:53:45] <landgraf> зато так приятно )
[23:51:44] <landgraf> можно как-нибудь получить кол-во строк в текстовом файле?
[23:51:54] <landgraf> кроме "wc -l " :)
[23:56:24] <landgraf> http://rosettacode.org/wiki/File_IO#Ada разве это правильно доводить до exception дело?