[16:17:24] <ada_ru> (Лекс) https://www.staticgen.com/yass прикольно
[16:18:24] <ada_ru> (I_vlxy_I) ухты!
[16:19:00] <ada_ru> (Лекс) даже последний коммит в прошлом году
[16:19:14] <ada_ru> (I_vlxy_I) ну, оно вообще модерново смотрится
[16:21:14] <ada_ru> (Лекс) если бы собралось на винде, ато я тут бложецкий для своего агентства собираю, думал на hakyll, но я макет замутил сильно навороченный, а хаскель я настолько не понимаю чтобы модифицировать ридер маркдаунов
[16:22:28] <ada_ru> (Лекс) автор эйплодрочер, в релизах есть образы для мака. Как всегда
[16:25:48] <ada_ru> (Eugene) отвечает (Лекс) на <если бы ещё собралос…>
Ну вот как раз повод изучить его 😅
[16:26:17] <ada_ru> (Лекс) повод — да, я и так над этим работаю, но у меня горит) нужно контент куда-то бомбить
[16:27:24] <ada_ru> (Eugene) Используй вордпресс, Лекс!
[16:27:56] <ada_ru> (Лекс) не хочу, он мне всю мою семантическую вёрстку поломаить, ещё и создасть инценденты в иб 😃
[16:28:59] <ada_ru> (Лекс) о, рассссссст!!!!!!! https://www.getzola.org/ xD
[16:35:26] <ada_ru> (I_vlxy_I) rustRustRUST!
[16:44:25] <ada_ru> (I_vlxy_I) отвечает (Лекс) на <если бы ещё собралос…>
а оно не собирается? а зачем на винде? в виндах же есть WSL
[16:44:47] <ada_ru> (I_vlxy_I) это ж комманд лайн утилита - отлично должно в WSL заработать. запустил - оно прожевало, выплюнуло html'ки и всё
[16:44:49] <ada_ru> (Лекс) ещё не пробовал, но обычно хрен там
[16:44:56] <ada_ru> (Лекс) у меня win 8
[16:45:02] <ada_ru> (I_vlxy_I) в крайнем случае - собери и пускай в dicker'e
[16:45:04] <ada_ru> (I_vlxy_I) *docker'e
[16:45:18] <ada_ru> (Лекс) камень без виртуализации :-\
[16:45:21] <ada_ru> (I_vlxy_I) оу. win8 маздай! нужно на 10 переезжать
[16:45:33] <ada_ru> (I_vlxy_I) ухты. а где ты такой камень нашел?
[16:45:54] <ada_ru> (Лекс) старенький ноут с амд
[16:45:57] <ada_ru> (I_vlxy_I) хотя, докер он на таких машинах через вмтварь вроде работает. должен завестись
[16:46:16] <ada_ru> (I_vlxy_I) но может реально проще тогда под винду собрать 🙂
[16:46:18] <ada_ru> (Лекс) докер не заводится без виртуализации, изучал уже
[16:46:21] <ada_ru> (AnatoliyChepiga) отвечает (Лекс) на <камень без виртуализ…>
А зачем докеру виртуализация?
[16:46:48] <ada_ru> (Лекс) отвечает (AnatoliyChepiga) на <А зачем докеру вирту…>
откуда я знаю? написано что нужна
[16:46:52] <ada_ru> (I_vlxy_I) по описанию - там ничего не должно быть платформосцепицического. это ж просто утилита которая считывает файл, жуёт его, выплевывает файл
[16:47:05] <ada_ru> (AnatoliyChepiga) В убогой венде, может и не заводится без виртуализации
[16:47:13] <ada_ru> (I_vlxy_I) отвечает (Лекс) на <докер не заводится б…>
это через Hyper-V не заводится, а через вмтварь должен завестись
[16:47:34] <ada_ru> (AnatoliyChepiga) В тру кошерном Линукс с этим всё норм
[16:47:40] <ada_ru> (Лекс) отвечает (I_vlxy_I) на <по описанию - там ни…>
ну попробуем, посмотрим что из этого выйдет 😃 У меня тут и f# и раст не всегдасобирается xD
[16:48:01] <ada_ru> (I_vlxy_I) отвечает (AnatoliyChepiga) на <В убогой венде, може…>
в линуксе естественно виртуализация нафиг не нужна, но в виндах тебе нужна виртуальная машина в которой будет линукс с хост-системой, на котором уже будут крутиться докер-контейнеры
[16:48:38] <ada_ru> (AnatoliyChepiga) отвечает (I_vlxy_I) на <в линуксе естественн…>
Венжовозники должны страдать
[16:48:47] <ada_ru> (I_vlxy_I) отвечает (AnatoliyChepiga) на <Венжовозники должны …>
согласен
[16:49:09] <ada_ru> (I_vlxy_I) но там бывают докер-контейнеры и для виндовозных прог. вот что там, и нафига оно и какие требования - я хз
[16:49:18] <ada_ru> (Лекс) отвечает (AnatoliyChepiga) на <Венжовозники должны …>
тише будь
[16:49:50] <ada_ru> (AnatoliyChepiga) отвечает (Лекс) на <тише будь>
Папе своему советы давай
[16:50:00] <ada_ru> (I_vlxy_I) вчера вот я страдал на работе - у очередной гугловой либы юниттесты на виндах не проходят. баг у них в трекере висит уже два года. гуглу - пофиг
[16:50:09] <ada_ru> (I_vlxy_I) придется самостоятельно фиксить гуглокод 🙁
[16:50:33] <ada_ru> (Лекс) отвечает (AnatoliyChepiga) на <Папе своему советы д…>
Это предостережение
[16:51:54] <ada_ru> (Лекс) https://docs.docker.com/toolbox/toolbox_install_windows/
"If virtualization is not enabled on your system, follow the manufacturer’s instructions for enabling it."
А её здесь вообще нету >_<
[16:53:16] <ada_ru> (I_vlxy_I) https://www.kevinkuszyk.com/2016/11/03/running-linux-docker-containers-on-windows-without-virtualization/
[16:53:34] <ada_ru> (I_vlxy_I) один из вариантов
[16:54:53] <ada_ru> (AnatoliyChepiga) Виндовс вообще нельзя брать в рот, несмотря на какие-то странные рецепты
[16:56:16] <ada_ru> (I_vlxy_I) https://forums.docker.com/t/solved-i-want-to-run-docker-on-windws-without-hypervisitor-softwares/14272
[16:57:03] <ada_ru> (I_vlxy_I) короче, сложно, но можо
[16:57:27] <ada_ru> (I_vlxy_I) но проще реально попробовать собрать адский генератор на виндах
[16:57:30] <ada_ru> (AnatoliyChepiga) Судя по орфографии лучше даже не попробовать
[16:57:34] <ada_ru> (I_vlxy_I) или тупо виртуалку с линуксом поставить
[16:58:14] <ada_ru> (I_vlxy_I) алсо попробуй не докер-десктоп, а докер тулбокс: https://webme.ie/how-to-install-docker-on-windows-7/
[16:58:22] <ada_ru> (conorjohn1969) дык докер на винде так и сделан, все контейнеры крутятся в виртуалке линукс
[16:58:39] <ada_ru> (I_vlxy_I) отвечает (conorjohn1969) на <дык докер на винде т…>
я про это и написал 🙂
[16:58:46] <ada_ru> (AnatoliyChepiga) отвечает (conorjohn1969) на <дык докер на винде т…>
Как в макосе, получается
[16:59:05] <ada_ru> (I_vlxy_I) отвечает (AnatoliyChepiga) на <Как в макосе, получа…>
да. только хреновей
[16:59:16] <ada_ru> (AnatoliyChepiga) Убогая технология
[16:59:19] <ada_ru> (conorjohn1969) отвечает (I_vlxy_I) на <да. только хреновей>
не, на макоси больше проблем
[16:59:49] <ada_ru> (I_vlxy_I) отвечает (conorjohn1969) на <не, на макоси больше…>
да? не замечал. в виндах подмонтированные хостовые директории - это боль, страдания и унижения
[16:59:51] <ada_ru> (conorjohn1969) поэтому на макоси ставят докеры на какое нибудь другое железо
[17:00:09] <ada_ru> (I_vlxy_I) особенно когда в винде установлен корпоративный троян в виде антивируса
[17:00:14] <ada_ru> (conorjohn1969) отвечает (I_vlxy_I) на <да? не замечал. в ви…>
ой, слаб боху мне ничо монтировать не надо было )))
[17:01:10] <ada_ru> (I_vlxy_I) а винда сильно иначе с файлами обращается - если кто-то читает файл, то никто его удалить или переименовать не может. в итоге у линуксовых прог случается фрустрация когда они что-то делают с файлами а на них еще и виндовый антивирус агрится
[17:02:30] <ada_ru> (Лекс) отвечает (I_vlxy_I) на <или тупо виртуалку с…>
без виртуализации это полная жопа, qemu без kvm буквально по кадрам выводит
[17:03:11] <ada_ru> (I_vlxy_I) Тебе не нужны кадры, у тебя консоль
[17:03:19] <ada_ru> (conorjohn1969) на макоси все просто - не ставим докеры на макос, запускаем докеры на стороннем сервере и не мучаемся
[17:03:28] <ada_ru> (I_vlxy_I) И vmware работает шустро без виртуализации
[17:03:51] <ada_ru> (I_vlxy_I) отвечает (conorjohn1969) на <на макоси все просто…>
Аналогичный совет с ажуром выше был для винды
[17:05:11] <ada_ru> (Лекс) отвечает (I_vlxy_I) на <Тебе не нужны кадры,…>
я про неё и говорю) инит ядра по кадрам, блин
[17:06:42] <ada_ru> (I_vlxy_I) А в идеале конечно железку поменять :-)
[17:13:56] <ada_ru> (Лекс) ну блин, вексель мне в ксор
[17:14:56] <ada_ru> (Лекс) <прислал документ>
[17:15:39] <ada_ru> (Лекс) и таки шо бы это вообще значило
[17:16:18] <ada_ru> (I_vlxy_I) Работает!!1
[17:16:44] <ada_ru> (Лекс) да нет же, линкер отказался собирать, но даже не обосновал свою позицию
[17:17:34] <ada_ru> (Лекс) аа, вижу, cmark ему нужен
[17:17:51] <ada_ru> (Лекс) и как эту сишную либу сюда всунуть
[17:19:02] <ada_ru> (Лекс) а вообще у меня есть идея)) пойду сейчас возьму триальный супермощный сервер на 7 дней, соберу на линаксе ( надеюсь в генту уже завезли свежую Аду )
[17:19:55] <ada_ru> (I_vlxy_I) Вообще, я ж говорил и говорю, что Аде нужен пакетный менеджер умеющий в сишные либы тоже
[17:20:01] <ada_ru> (I_vlxy_I) Нужен conan
[17:20:26] <ada_ru> (I_vlxy_I) И тогда сборка была бы в виндах одной командой
[18:55:55] <ada_ru> (sergey_dukov) отвечает (I_vlxy_I) на <Вообще, я ж говорил …>
В АДЕ "gprbuild" умеет всё. Вот пример комплексного пакета, который собирает сишную библиотеку NCURSES 6.0 под Windows и АДА-обёртка к нему: http://www.rtsdd.ru/Ada2012_Unicode_NCURSES.aspx
[18:58:32] <ada_ru> (I_vlxy_I) отвечает (sergey_dukov) на <В АДЕ "gprbuild" уме…>
Ну да. Только скачивать исходники не умеет. И нужно руками прописывать каждый раз правила сборки всего графа зависимостей.
Не даром же alire развивается. Но alire может не осилить сборку какого-нибудь OpenCV. Да и gprbuild тоже.
[19:05:29] <ada_ru> (sergey_dukov) отвечает (I_vlxy_I) на <Ну да. Только скачив…>
GPS (сейчас называется просто GNAT Studio) умеет управлять проектами CSV.
[19:25:04] <ada_ru> (sergey_dukov) отвечает (I_vlxy_I) на <Ну да. Только скачив…>
В случае AdaNCurses, я сконфигурировал NCURSES с помощю AUTOCONF, сложил получившиеся исходники в папку проекта GPRBUILD, а gprbuild сам определил все зависимости!
[19:28:29] <ada_ru> (I_vlxy_I) круто! но это нужно для каждой завистмости руками проделывать каждому разработчику. кроме того, автоконф скорее всего будет проблематичен под виндою например.
ну и более сложные зависимости, тем более транзитивные зависимости - это будет либо не возможно либо очень больно.
[19:35:40] <ada_ru> (sergey_dukov) отвечает (I_vlxy_I) на <круто! но это нужно …>
Волшебных палочек не существует! Всегда нужно работать!
[19:36:26] <ada_ru> (I_vlxy_I) волшебных палочек нет, но советую посмотреть как оно в Go, Rust, python, ну и в той же nodejs.
[19:36:45] <ada_ru> (I_vlxy_I) проблем там на пару порядков меньше чем в с++ и в Аде в этом плане
[19:37:19] <ada_ru> (I_vlxy_I) все зависимости подтягиваются и собираются автоматом. вне зависимости от ОС
[19:37:32] <ada_ru> (I_vlxy_I) и без IDE естественно
[19:59:27] <ada_ru> (shiz01) отвечает (Лекс) на <докер не заводится б…>
А как же через нативные контейнеры виндовз?
[20:03:34] <ada_ru> (Лекс) отвечает (Лекс) на <https://docs.docker.…>
как-то так и всо тут
[20:20:02] <ada_ru> (Oleg) Эх.... читаю про раст :-) есть интересный проект rusticata
[20:23:54] <ada_ru> (sergey_dukov) Совместимости по исходным кодам не существует и никогда не существовало. Всё из за сильнешей зависимости ЮНИКС-подобных ОС от версий системных библиотек. Единстенное, известное мне, исключение — интерфейс Win32 в Windows. В интерфейсе ничего не меняется, только добавляются новые функции. Но вот MINGW, на котором построен GNAT, обладает недостатком непеносимости исходных кодов в поной мере. Я каждый год занимаюсь сборкой собственой весии системы GNAT GPL. И, чтобы обойти проблему зависимости версий, я собираю MINGW с самого нуля, Самую большую проблему в этом представляет именно PYTHON, который зависит от версии системной библиотеки MSVCRT. Скачанный с сайта PYTHON имеет версию этой библиотеки отличную от версии в MINGW. Поэтому приходится собирать PYTHON из исходников, отличных от нативных. А так же, собирать большинство пакетов с пощью программы setup.py, и зачастую необходимо изменять исходные коды этих пакетов. Пакеты скачанные утилитой PIP часто не работают в MINGW.
[20:35:05] <ada_ru> (sergey_dukov) В каждой, указанной вами системе, в исходниках имеются инструкции для сборки проектов. Это имеется и в АДЕ. Поэтому в АДЕ можно собирать пакеты без создания файла проекта с помощью одного лишь вызова утилиты GNATMAKE (или ей подобной в других компиляторах)!
[20:35:51] <ada_ru> (insert_reference_here) отвечает (sergey_dukov) на <В каждой, указанной …>
А зависимости откуда брать? И каких версий?
[20:38:06] <ada_ru> (I_vlxy_I) И как их собирать?
[20:46:24] <ada_ru> (sergey_dukov) Но всё же лучше содавать файл проекта. В этом файле имеются инструкции WITH для подключения допонительных пакетов. И это всё. Ни какого ручного управления графом зависимоти не нужно. Всё делает GPRBUILD!
[20:47:12] <ada_ru> (I_vlxy_I) у меня в зависимостях opencv - как gprbuild его соберет? и откуда gprbuild узнает какая версия и откуда opencv брать вообще?
[20:52:32] <ada_ru> (sergey_dukov) отвечает (I_vlxy_I) на <И как их собирать?>
GNATMAKE получает в качестве параметра имя исходника с головной процедурой, и этого бывает достаточно.
[20:54:54] <ada_ru> (I_vlxy_I) это ж либы. на плюсах. большие и собираемые через cmake. gprbuild это не разрулит сам
[21:13:16] <ada_ru> (sergey_dukov) отвечает (I_vlxy_I) на <у меня в зависимостя…>
Если у вас имеются исходники OPENCV, то сложите их в папку src проекта opencv. GPRBUILD сам создаст дерево завимостей вызовов. Проблему конфликтов версий он не решит, в этом вся и завоздка! Эти конфликты проявятся на стадии компиляции, на стадии компоновки или на стадии выполнения. Для разрешения этих конфликтов нужно будет модифицировать сами исходники OPENCV. В этом и состоит основная работа программиста при сборке подобных проектов. Без труда не вынешь и рыбку из пруда!
[21:17:39] <ada_ru> (I_vlxy_I) gprbuild понимает плюсовые шаблоны и прочее? Хитрости линковки и какие опции компилятора? Не верю.
[21:36:48] <ada_ru> (sergey_dukov) Почитайте документацию по gprbuid на AdaCore. На настойку всех этих опций в файле проекта можно создать инструкции, но в большинстве случаев достаточно значений по-умолчанию. Так что обычно файлы проектов очень короткие, в отличии от файлов automake-autoconf, где все опции нужно задавать вручную и, часто, для каждого файла исходника. Из всех современных построителей пакетов я считаю GPRBUILD самым лучшим! И по скорости построения пакетов он находится на одном уровне с ninja и Visual Studio IDE, так в нем вся информация о зависимостях заранее компилируется и сохраняется в кэше.
[22:45:13] <ada_ru> (Максим) отвечает (sergey_dukov) на <Совместимости по исх…>
Это ужасно тяжелая работа. Я когда-то пробовал собирать под виндой, это ужас. Я наш Ada_Language_Server с трудом собираю, правда в облаке.
[22:47:40] <ada_ru> (Максим) отвечает (I_vlxy_I) на <Ну да. Только скачив…>
Кстати, снова пробовал alire, заметил улучшения. Смог собрать часть матрешки. Отправил пул-реквест для первого crade. 👍
[22:49:09] <ada_ru> (I_vlxy_I) отвечает (Максим) на <Кстати, снова пробов…>
crate?
[22:50:45] <ada_ru> (Максим) да 😕
[23:58:06] <ada_ru> (sergey_dukov) отвечает (Максим) на <Это ужасно тяжелая р…>
Поставщики ОС уже давно не заикаются о переносимости на уровне исходных кодов, а на форумах по АДЕ всё толдычать о переносимости исходных кодов и кросплатформености. Всё это толком не работает даже под Windows, Я двигаюсь в другом направлении, и счатаю более конструктивном. Я пытаюсь наилушим образом приспособить GNAT для программирования под Windows и для Windows. Сборки GNAT поставляемые AdaCore ужасно плохо приспособлены для программирования под Windows, и ещё хуже для программирования для Windows. Поэтому я, начиная с 2011 года, делаю свои сборки MINGW-GNAT GPL. Первоначально главной причиной этой деятельности было то, что AdaCore не поставляло 64-разрядных сборок, а стандартные сборки MINGW значительно отставали по версии GNAT от AdaCore, и начиная с версий MINGW более поздних чем 5.1 вообще перестали поддерживать АДУ. Да и сами сборки MINGW были очень куцими. И вот, наконец то, AdaCore выпустила 64-разрядную сборку GNAT community 2018. Но программирование для Windows в ней осталось очень тяжёлым занятием. Я в 2017 году создал очень удачную сборку MINGW64 GNAT GPL 2017. В этой сборке мне удалось собрать свой правильный, работающий PYTHON (ранее я пользовался питоном из стандартной поставки MINGW и с ним было связано очень много проблем). В январе 2019 я опубликовал на своём сайте сборку MINGW64 GNAT Community 2018 (хотя сама сборка была сделана в начале августа). В июле 2019 года я создал очень навороченную сборку GNAT Community 2019. А вот опубликовать её никак не нахожу времени.