[00:07:00] <ada_ru> (reznikmm)  отвечает (I_vlxy_I) на <>
Может он подхватил твои системные либы?
[00:07:44] <ada_ru> (I_vlxy_I)  отвечает (reznikmm) на <Может он подхватил т…>
ALS то? может быть. а какие ещё он должен был подхватить? он не статически слинкован?
[00:17:52] <ada_ru> (sergey_dukov)  отвечает (I_vlxy_I) на <но, подозреваю, почт…>
C:\ADAPROJECTS\adatest>gnatmake -Pfloatbug.gpr
Compile
  [Ada]          main.adb
+===========================GNAT BUG DETECTED==============================+
| Community 2019 (20190517-83) (x86_64-w64-mingw32) Program_Error EXCEPTION_ACCESS_VIOLATION|
| Error detected at system.ads:200:5                                       |
| Please submit a bug report by email to report@adacore.com.               |
| GAP members can alternatively use GNAT Tracker:                          |
| http://www.adacore.com/ section 'send a report'.                         |
| See gnatinfo.txt for full info on procedure for submitting bugs.         |
| Use a subject line meaningful to you and us to track the bug.            |
| Include the entire contents of this bug box in the report.               |
| Include the exact command that you entered.                              |
| Also include sources listed below.                                       |
| Use plain ASCII or MIME attachment(s).                                   |
+==========================================================================+

Please include these source files with error report
Note that list may not be accurate in some cases,
so please double check that the problem can still
be reproduced with the set of files listed.
Consider also -gnatd.n switch (see debug.adb).

C:\ADAPROJECTS\adatest\src\main.adb
C:\ADAPROJECTS\adatest\src\color_map.ads

compilation abandoned
gprbuild: *** compilation phase failed

C:\ADAPROJECTS\adatest\src>gcc -c main.adb
+===========================GNAT BUG DETECTED==============================+
| Community 2019 (20190517-83) (x86_64-w64-mingw32) Program_Error EXCEPTION_ACCESS_VIOLATION|
| Error detected at system.ads:200:5                                       |
| Please submit a bug report by email to report@adacore.com.               |
| GAP members can alternatively use GNAT Tracker:                          |
| http://www.adacore.com/ section 'send a report'.                         |
| See gnatinfo.txt for full info on procedure for submitting bugs.         |
| Use a subject line meaningful to you and us to track the bug.            |
| Include the entire contents of this bug box in the report.               |
| Include the exact command that you entered.                              |
| Also include sources listed below.                                       |
| Use plain ASCII or MIME attachment(s).                                   |
+==========================================================================+

Please include these source files with error report
Note that list may not be accurate in some cases,
so please double check that the problem can still
be reproduced with the set of files listed.
Consider also -gnatd.n switch (see debug.adb).

main.adb
color_map.ads

compilation abandoned
Вот уж действительно никак! А color_map.ads GNAT Studio покрасил в чёрный цвет!
[00:18:00] <ada_ru> (I_vlxy_I) Угу. Мне везёт 😊
[00:18:25] <ada_ru> (sergey_dukov) Невероятно!
[00:26:33] <ada_ru> (sergey_dukov) А вот проверка синтаксиса обоих файлов успешна. Очень странно!
[00:31:46] <ada_ru> (I_vlxy_I) А как в gps запустить дебаг приложения задав ему рабочий каталог и аргументы?
[00:41:35] <ada_ru> (reznikmm) Аргументы он, кажется, страшивает, когда жмешь кнопку исполнения
[00:42:14] <ada_ru> (I_vlxy_I) не, у меня сразу запустил
[00:42:16] <ada_ru> (reznikmm) А директорию – нужно делать cd dir в консоли
[00:42:40] <ada_ru> (I_vlxy_I) а, не. спрашивает
[00:42:50] <ada_ru> (reznikmm) Я пишу сам start arg1 arg2
[00:43:00] <ada_ru> (I_vlxy_I) в gdb?
[00:43:21] <ada_ru> (reznikmm) В жпс в консоли отладчика
[00:43:43] <ada_ru> (I_vlxy_I) ага. понял. тоже нормально
[00:55:10] <ada_ru> (sergey_dukov) в меню debug вызываешь initialize. Это загружает файлы, но не запускает их. Далее вызываешь Run. И тогда появляется диалог запроса аргументов и выбора каталога (выбор между exec dir и current).
[01:03:46] <ada_ru> (I_vlxy_I) спасибо. попробую
[02:13:40] <ada_ru> (I_vlxy_I) багрепорт на alire: https://github.com/alire-project/alire/issues/337
[14:06:36] <ada_ru> (I_vlxy_I) А alire вообще кто-то пробовал? У меня при сборки им, gprbuild не находит проекты от которых зависит текущий проект
[14:07:00] <ada_ru> (I_vlxy_I)  цитирует (I_vlxy_I)
command alr get --build ada_voxel_space_demo ends with:

make: Leaving directory '/home/valexey/Projects/ad/ttt/ada_voxel_space_demo_1.0.0_b7a0cf7c/alire/cache/dependencies/sdlada_2.3.1_786a047f/build/gnat'

==============Messages for file: /home/valexey/Projects/ad/ttt/ada_voxel_space_demo_1.0.0_b7a0cf7c/ada_voxel_space_demo.gpr
    3. project Ada_Voxel is
                         |
       >>> warning: file name does not match project name, should be "ada_voxel.gpr"

==============Messages for file: /home/valexey/Projects/ad/ttt/ada_voxel_space_demo_1.0.0_b7a0cf7c/ada_voxel_space_demo.gpr
    1. with "gnat/sdlada";
            |
       >>> unknown project file: "gnat/sdlada"

    3. project Ada_Voxel is
                         |
       >>> warning: file name does not match project name, should be "ada_voxel.gpr"
gprbuild: "ada_voxel_space_demo.gpr" processing failed
Warning: alr detected a compilation failure, re-run with -vv -d for details
ERROR: Command ["gprbuild", "-gnatwU", "-j0", "-p", "-P", "ada_voxel_space_demo.gpr", "--root-dir=.", "--relocate-build-tree=alire/build"] exited with code 4
ERROR: alr encountered an unexpected error, re-run with -d for details

What does it mean and how to fix it?
[14:48:06] <ada_ru> (I_vlxy_I) Пофиксил
[14:48:14] <ada_ru> (I_vlxy_I) Ошибка в gpr проекта
[14:48:21] <ada_ru> (I_vlxy_I) картинка https://www.ada-ru.org/files/bot/2020-03-29-x12.jpg
[14:48:34] <ada_ru> (I_vlxy_I) С alr тоже разобрался - фиксится тем PR, что на скриншоте
[14:55:50] <ada_ru> (I_vlxy_I) Но GPS не может открыть такой проект, оказывается 😞
[15:42:51] <ada_ru> (sergey_dukov)  отвечает (I_vlxy_I) на <Но GPS не может откр…>
Это недостаток GPS. Если в файле проекта ошибка, GPS его не открывает и, зачастую, не выдаёт вразумительных сообщений. Откройте gpr-файл в другом редакторе и внимательно посмотрите. Из командной строки запустите gprclean, gprbuild или gnatmake, может они что-то полезное подскажут.
[17:07:52] <ada_ru> (I_vlxy_I)  отвечает (sergey_dukov) на <Это недостаток GPS. …>
Да, он sdlada не находит. Потому, что путь до этого проекта динамический и задается alire через переменную окружения GPR_PROJECT_PATH
[17:08:04] <ada_ru> (I_vlxy_I) Вопрос в том, как эту переменную окружения задать gps
[17:08:41] <ada_ru> (shiz01)  отвечает (I_vlxy_I) на <Вопрос в том, как эт…>
Задать в терминале и запустить gps из терминала?
[17:09:19] <ada_ru> (I_vlxy_I)  отвечает (shiz01) на <Задать в терминале и…>
или через шелл скрипт, да. Но мне что, каждый раз менять его когда я добавляю зависимость или когда релизится очередная версия какой-нибудь либы от которой есть зависимость?
[17:09:23] <ada_ru> (I_vlxy_I) и всё это руками?
[17:09:33] <ada_ru> (shiz01) У меня на арче gps иначе как из терминала не запускается.
И выделяет криво.
Всерьёз подумываю над переходом в вим+плагины.
[17:09:52] <ada_ru> (I_vlxy_I)  отвечает (shiz01) на <У меня на арче gps и…>
то есть выделение не видно?
[17:10:03] <ada_ru> (shiz01)  отвечает (I_vlxy_I) на <и всё это руками?>
Хз.
Я руками привык.
[17:10:04] <ada_ru> (I_vlxy_I) я решил проблему установив GPS из GNAT Community 2019
[17:10:28] <ada_ru> (shiz01)  отвечает (I_vlxy_I) на <то есть выделение не…>
Ага.
А ещё, всплывающие подсказки прозрачные и читать их нереально.
[17:10:40] <ada_ru> (I_vlxy_I) а, alr setenv  есть команда такая. удобно
[17:10:57] <ada_ru> (shiz01)  отвечает (I_vlxy_I) на <я решил проблему уст…>
Не из реп, а с сайта?
[17:11:19] <ada_ru> (I_vlxy_I)  отвечает (shiz01) на <У меня на арче gps и…>
ada language server - пока что довольно падуч, по крайней мере в связке с vscode. 😞 то есть и с вимом оно будет падать
[17:11:23] <ada_ru> (I_vlxy_I)  отвечает (shiz01) на <Не из реп, а с сайта…>
да
[17:11:26] <ada_ru> (I_vlxy_I) прям бинари
[17:11:32] <ada_ru> (shiz01)  отвечает (I_vlxy_I) на <да>
Ясно.
[17:12:00] <ada_ru> (I_vlxy_I) и модифицировал gps пускач так, чтобы LD_LIBRARY_PATH он свой не подмешивал. чтобы системным gcc/gnat пользоваться.
[17:12:10] <ada_ru> (I_vlxy_I) чтобы от GNAT Community 2019 осталась только IDE
[17:12:24] <ada_ru> (I_vlxy_I) (ну и да, я только IDE и ставил, но оно с собой пачку либ еще тащит)
[17:13:55] <ada_ru> (shiz01) Мда, то ещё веселье.
Я дальше хеллоу ворлда из вима, с fsf компилятором не ушел.
Всё время небыло. И сейчас нет :(
А с фрилансом на аде меня кинули через три дня после подписания договора. Вот такие вот дела.
[17:14:38] <ada_ru> (I_vlxy_I) да не. это просто. но до этого самого "просто" добраться не просто - комьюнити мелкое.
[17:14:54] <ada_ru> (I_vlxy_I) в плане alr в итоге мне по сути пришлось полностью самому искать всю информацию.
[17:15:17] <ada_ru> (I_vlxy_I) из плюсов - нужный PR в alire репе уже был (но еще не был вмержен в мастер) который полечил краш alir на Арче.
[17:16:37] <ada_ru> (shiz01)  отвечает (I_vlxy_I) на <да не. это просто. н…>
Это да, заинтересованных лиц мало, открытых baremetal либ нет, а без std на аде под голое железо никто писать не хочет.

Поэтому приходится быть первопроходцем во многом.
[17:17:48] <ada_ru> (I_vlxy_I) ну, мне то голое железо не нужно как раз. у меня максимально попсовый конфиг. минимально - линукс десктоп и сервер
[17:18:49] <ada_ru> (shiz01)  отвечает (I_vlxy_I) на <ну, мне то голое жел…>
Тоже хорошое дело, но было бы не плохо побольше ембеддедов привлечь. Чай для них и разрабатывался язык изначально.
[17:19:27] <ada_ru> (I_vlxy_I) ну, не только же. какая-нибудь автоматизированная рабочая станция для наземных служб - это таки не совсем embedded 😊
[17:23:17] <ada_ru> (shiz01) Ну да.

А по серверу, не в курсе, как там, есть способы создать пулл асинк тредов, и отправить их стучать по какому-нибудь api, через стандартную либу можно?
Или свои костыли городить?
[17:24:27] <ada_ru> (I_vlxy_I) свои костыли
[17:24:59] <ada_ru> (shiz01)  отвечает (I_vlxy_I) на <свои костыли>
Весело.
Сокеты-то хоть есть?
[17:26:09] <ada_ru> (I_vlxy_I) есть
[17:26:20] <ada_ru> (I_vlxy_I) ну, как. в плюсах то пока тоже свои костыли на костылях
[17:26:27] <ada_ru> (shiz01) И то хорошо, а треды и свелосипедить можно.
[17:26:36] <ada_ru> (I_vlxy_I) ну, или можно чужие костыли взять (например boost::coroutine)
[17:26:51] <ada_ru> (shiz01)  отвечает (I_vlxy_I) на <ну, или можно чужие …>
Хммм, и через биндинги?
[17:26:52] <ada_ru> (I_vlxy_I) (это для плюсов)
[17:37:12] <ada_ru> (I_vlxy_I)  отвечает (shiz01) на <Хммм, и через биндин…>
а смысл? размер костылей тут сопоставим с размером биндингов 😊
[17:37:36] <ada_ru> (I_vlxy_I) set/get context и так далее же
[17:37:59] <ada_ru> (I_vlxy_I) более того, @reznikmm уже костыли эти сделал. в каком-то виде 😊
[17:38:22] <ada_ru> (shiz01)  отвечает (I_vlxy_I) на <а смысл? размер кост…>
Ну тогда да, имеет смысл пилить свой костыль.
Заодно и получше с языком освоюсь.
[17:40:14] <ada_ru> (reznikmm)  отвечает (shiz01) на <Это да, заинтересова…>
каких вам ещё ___ библиотек не хватает (перефразируя нашего прошлого президента.) 😊
[17:42:54] <ada_ru> (reznikmm)  отвечает (I_vlxy_I) на <более того, @reznikm…>
я как-то остыл к корутинам в Аде, мне хочется перекурочить рантайм, чтобы были "зелёные потоки", может этого будет достаточно. Только как-то пока нет задач, где мне это нужно 😕
[17:44:36] <ada_ru> (I_vlxy_I) да, надо конкретные задачи посмотреть например серверные и на псевдокоте покрутить как оно будет так, а как эдак.
[17:59:28] <ada_ru> (reznikmm) может  ты и матрешку попробуешь, раз пошла такая пляска? 😋
[18:00:11] <ada_ru> (reznikmm) что ты взялся за эту поделку, где даже проектный файл не смогли правильно написать 😊
[18:01:02] <ada_ru> (I_vlxy_I) ну, у меня ж выходные, я развлекаюсь как могу. на выходных я хочу делать что-то визуальное. игры вот допотопные например 😊
[18:01:21] <ada_ru> (I_vlxy_I) ну и заодно вот макнуться в мир современной Ады и её тулзов.
[18:01:52] <ada_ru> (I_vlxy_I) но да, там в проектном файле сразу две ошибки было - неправильное название и неправильный путь до зависимости (который вообще никак работать не мог, хоть с alire хоть без)
[18:02:30] <ada_ru> (reznikmm)  отвечает (I_vlxy_I) на <но да, там в проектн…>
да, я себе уже поправил локально
[18:03:44] <ada_ru> (reznikmm) еще, почему-то, в SDL ada инклудится 'SDL.h' хотя у меня он лежит а SDL/SDL.h
[18:04:16] <ada_ru> (I_vlxy_I) ой. я туда даже не смотрел. работает и ладно 😊
[18:04:51] <ada_ru> (I_vlxy_I) и интересно, не сойдет ли с ума на таких проектах вот ada language server
[18:05:32] <ada_ru> (reznikmm) да, но у меня не собиралось 😊
[18:06:22] <ada_ru> (I_vlxy_I) хы. у меня собралось с консоли сразу, как только собрал alr из бранча где пофиксили поддержку неподдерживаемых дистрибутивов (то есть всех кроме debian & ubuntu)
[18:07:18] <ada_ru> (reznikmm) alt перестал падать с русской локалью, уже прогресс :)
[18:10:57] <ada_ru> (reznikmm) да, и правда alr_build.gpr больше нет
[18:11:16] <ada_ru> (I_vlxy_I) угу. печаль
[18:11:30] <ada_ru> (I_vlxy_I) а gps небось не будет перечитывать переменные окружения если даже я умудрюсь ему их изменить
[18:11:38] <ada_ru> (I_vlxy_I) во время работы то есть
[18:12:52] <ada_ru> (reznikmm) я даже не уверен, что работающему процессу как-то можно из вне изменить переменные окружения
[18:13:34] <ada_ru> (I_vlxy_I) можно
[18:13:40] <ada_ru> (I_vlxy_I) в крайнем случае - через gdb
[18:13:50] <ada_ru> (I_vlxy_I) подцепился, изменил, отцепился
[18:15:28] <ada_ru> (reznikmm) между прочим вызов setenv даже не threadsafe
[18:15:50] <ada_ru> (I_vlxy_I) э?
[18:17:44] <ada_ru> (reznikmm) http://man7.org/linux/man-pages/man3/setenv.3.html найди Thread safety
[18:18:44] <ada_ru> (reznikmm) а, ну так можно наверное, в GPS открыть питонью консоль и поменять переменные верез питон. Он же в том же процессе исполняется, должно сработать
[18:20:57] <ada_ru> (I_vlxy_I) возможно. плюс может в питоньей консоли есть прям таки и метод соответствующий?
[18:21:03] <ada_ru> (I_vlxy_I) gps же скриптуется через него
[18:26:28] <ada_ru> (I_vlxy_I) но вообще, меня очень сильно удивило, что при разработке alire не учли существование GPS.
[18:29:01] <ada_ru> (a) вы обалдели что-ли, вторую неделю про аду говорите
[18:29:21] <ada_ru> (I_vlxy_I) карантин же!
[18:29:23] <ada_ru> (nitrocerber) Весеннее обострение
[18:29:28] <ada_ru> (a) весна влияет что-ли
[18:30:39] <ada_ru> (I_vlxy_I) ворк фром хом!
[18:31:05] <ada_ru> (I_vlxy_I) у меня +2 свободных часа в день освободились 🙂
[18:32:19] <ada_ru> (a) свободные освободились?
[18:32:21] <ada_ru> (I_vlxy_I) плюс почти все выходные, ибо из дома тоже выходить нельзя.
[18:32:49] <ada_ru> (I_vlxy_I)  отвечает (a) на <свободные освободили…>
да. теперь они заняты адарастом
[18:32:52] <ada_ru> (a) за спичками
[18:38:44] <ada_ru> (I_vlxy_I) а чатик по alire походу реально скорее мертв чем жив: https://gitter.im/ada-lang/Alire
[18:38:46] <ada_ru> (I_vlxy_I) 😞
[18:41:26] <ada_ru> (reznikmm) они просто слоупоки
[18:42:24] <ada_ru> (reznikmm)  отвечает (I_vlxy_I) на <возможно. плюс может…>
Ну какой там метод в питоне:```
import os
os.environ['GPR_PROJECT_PATH']='...'
```
[18:42:53] <ada_ru> (I_vlxy_I) ну, я думал там что-то из потрохов GPS высунули, чтобы можно было из питоняки за ниточки дергать
[18:48:10] <ada_ru> (I_vlxy_I)  отвечает (reznikmm) на <Ну какой там метод в…>
РАБОТАЕТ!
[18:48:44] <ada_ru> (I_vlxy_I) теперь надо подумать как это дело заавтоматизировать 😊
[19:03:56] <ada_ru> (I_vlxy_I) @reznikmm есть ручки!
[19:04:04] <ada_ru> (I_vlxy_I) GPS.setenv
[20:05:15] <ada_ru> (reznikmm) <your_project>.ide.py (я .ide забыл написать)
[20:08:05] <ada_ru> (I_vlxy_I) ага. ок
[20:50:27] <ada_ru> (I_vlxy_I) всё. я сделаль
[20:50:48] <ada_ru> (I_vlxy_I) теперь при открытии проекта, если проект этот с alire, то все переменные правильно выставляются
[20:50:52] <ada_ru> (I_vlxy_I) иначе - работает как обычно
[20:53:04] <ada_ru> (I_vlxy_I) в общем, можете поздравить меня с первым плагином для GPS 😊
[21:07:29] <ada_ru> (reznikmm) Супер! 👍
[21:10:08] <ada_ru> (shiz01) Отлично.
На этой недельке и я поплотнее займусь.
[21:12:14] <ada_ru> (I_vlxy_I) https://github.com/valexey/gnatstudio_alire_integration
[21:13:00] <ada_ru> (I_vlxy_I) Оно пока не умеет на лету (например когда зависимостей новых напихали в проект) перенастраивать эту переменную окружения. Это можно сделать, но нужно вначале руками по граблям походить. 😊
[21:13:08] <ada_ru> (I_vlxy_I) Пока оно просто позволяет открывать такие проекты.
[21:13:17] <ada_ru> (I_vlxy_I) Быстро и грязно 😊
[21:13:44] <ada_ru> (I_vlxy_I) мне пока достаточно
[21:14:13] <ada_ru> (shiz01) Ниче, чай пол индустрии на костылях держится.
А вторая половина индустрии - на допиленных костылях.
[21:26:36] <ada_ru> (I_vlxy_I) ага. главное не стесняться кривыми костылями делиться с сообществом 😊
[22:47:10] <ada_ru> (Vadim) Подпиленных, а не допиленных
[22:48:15] <ada_ru> (I_vlxy_I) ороговевших и окаменевших 😊
[22:48:22] <ada_ru> (I_vlxy_I) стабильный окаменевший костыль!