У вас есть идефикс?
У меня есть.
Я, сколько себя помню, хотел разобраться, как летают ракеты.
Базово это очень понятно, и просто - что-то горит, сгоревшие остатки толкают ракету вперед.
Но меня всегда, всегда, с самого первого раза, когда я увидел старт (по телевизору) интересовало - почему эту ебалу, при малейшем перекосе потока горения, не разносит к полным херам.
Короче, меня всегда волновал вопрос устойчивости.
Я, может, даже на мехмат пошел, чтобы что-то в этом понять. Ближе всего к этому было вариационое исчисление, я разобрался, как оптимизировать полет ракеты на дальние расстояния, но почему ракету не разносит к херам локально, здесь и сейчас - так и не понял.
Последний год у меня есть две настольные книги, через которые я продираюсь по странице в день, потому что нужная наука уже забылась, и голова не работает так хорошо, как раньше, но:
Rocket Propulsion
and Spaceflight Dynamics
J. W. Cornelisse
H. F. R. Schoyer
K. F. Wakker
https://www.scribd.com/document/366672675/Cornelisse-Rocket-Propulsion-and-Spaceflight
И https://djvu.online/file/nKdcpf2T6Z3gL
Совершенно потрясающие книги. Однажды я их дочитаю.
У меня есть.
Я, сколько себя помню, хотел разобраться, как летают ракеты.
Базово это очень понятно, и просто - что-то горит, сгоревшие остатки толкают ракету вперед.
Но меня всегда, всегда, с самого первого раза, когда я увидел старт (по телевизору) интересовало - почему эту ебалу, при малейшем перекосе потока горения, не разносит к полным херам.
Короче, меня всегда волновал вопрос устойчивости.
Я, может, даже на мехмат пошел, чтобы что-то в этом понять. Ближе всего к этому было вариационое исчисление, я разобрался, как оптимизировать полет ракеты на дальние расстояния, но почему ракету не разносит к херам локально, здесь и сейчас - так и не понял.
Последний год у меня есть две настольные книги, через которые я продираюсь по странице в день, потому что нужная наука уже забылась, и голова не работает так хорошо, как раньше, но:
Rocket Propulsion
and Spaceflight Dynamics
J. W. Cornelisse
H. F. R. Schoyer
K. F. Wakker
https://www.scribd.com/document/366672675/Cornelisse-Rocket-Propulsion-and-Spaceflight
И https://djvu.online/file/nKdcpf2T6Z3gL
Совершенно потрясающие книги. Однажды я их дочитаю.
Scribd
[Cornelisse]Rocket Propulsion and Spaceflight
This document is a book about rocket propulsion and spaceflight dynamics. It was written by J. W. Cornelisse, H. F. R. Schoyer, and K. F. Wakker. The book examines the principles of rocket propulsion and how it can be used to launch spacecraft and satellites…
❤51🔥22👍3
Forwarded from Вечерний Телеграмъ
Павел Дуров заявил о давлении французских спецслужб перед выборами в Молдове
Сооснователь Telegram раскрыл детали о попытке французских силовиков использовать его задержание в Париже для цензуры общественно-политических телеграм-каналов в Молдове.
Павел Дуров назвал это неприемлемым: если обращение к судье действительно имело место, то это вмешательство в судебный процесс, а если нет — то это было использованием правового положения Дурова во Франции для влияния на политические события в Восточной Европе (в том числе в Румынии).
Дуров заявил, что Telegram привержен свободе слова и не будет удалять контент по политическим причинам. В будущем руководство Telegram будет раскрывать каждую попытку оказать давление на сервис с целью цензуры, в том числе — политической.
Сооснователь Telegram раскрыл детали о попытке французских силовиков использовать его задержание в Париже для цензуры общественно-политических телеграм-каналов в Молдове.
«После проверки каналов, отмеченных французскими (и молдавскими) властями, мы выявили несколько, которые явно нарушали наши правила, и удалили их. Посредник затем сообщил мне, что в обмен на это сотрудничество французская разведка «сделает хорошие отзывы» обо мне судье, который выдал ордер на мой арест в августе прошлого года»
Павел Дуров назвал это неприемлемым: если обращение к судье действительно имело место, то это вмешательство в судебный процесс, а если нет — то это было использованием правового положения Дурова во Франции для влияния на политические события в Восточной Европе (в том числе в Румынии).
«После этого команда Telegram получила второй список «проблемных» молдавских каналов. В отличие от первого, почти все эти каналы были легитимными и полностью соответствовали нашим правилам. Их единственным общим признаком было выражение политических позиций, неугодных французскому и молдавскому правительствам»
Дуров заявил, что Telegram привержен свободе слова и не будет удалять контент по политическим причинам. В будущем руководство Telegram будет раскрывать каждую попытку оказать давление на сервис с целью цензуры, в том числе — политической.
🤡31😁10❤7🤬2💊1
Forwarded from lobste.rs
Spent an hour or so working with claude to write a minimal static web server in COBOL
Comments on lobsters
Comments on lobsters
GitHub
GitHub - jmsdnns/webbol: A minimal static web server written in COBOL
A minimal static web server written in COBOL. Contribute to jmsdnns/webbol development by creating an account on GitHub.
🆒10🤡4😁3💊3👾2❤1
lobste.rs
Spent an hour or so working with claude to write a minimal static web server in COBOL Comments on lobsters
https://xn--r1a.website/itpgchannel/3273 - а про COBOL я ошибся, надо признать!
Telegram
commit -m "better"
А я, тем временем, имею наглость утверждать, что в моей работе #AI не поможет даже процентов на 10%. А, скорее, всего, даже замедлит - https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/.
Чем дальше, тем более ценными будут редкие умения…
Чем дальше, тем более ценными будут редкие умения…
😁8❤3😢2🆒1
commit -m "better"
https://xn--r1a.website/itpgchannel/3273 - а про COBOL я ошибся, надо признать!
От подписчика:
"И финальный прикол:
Отгадайте, что возвращает этот сервер по урлу -
https://github.com/jmsdnns/webbol/issues/1
"И финальный прикол:
Отгадайте, что возвращает этот сервер по урлу -
http://localhost:8080///etc/passwd ;)"https://github.com/jmsdnns/webbol/issues/1
GitHub
Very bad path checking · Issue #1 · jmsdnns/webbol
I can freely go out of working directory for web server Just check response at the url http://localhost:8080///etc/passwd
🤡21😁14🏆6🤔3🤣3🗿1
https://www.opennet.ru/opennews/art.shtml?num=63957
"Расширена возможность отправки содержимого core-дампов через сокет AF_UNIX, позволяющая создавать в пространстве пользователя более безопасные обработчики core-дампов, не завязанные на вызов ядром привилегированных процессов. В новой версии добавлен протокол для создания серверов, способных управлять обработкой core-дампов на уровне отдельных задач. Например, для одних процессов можно игнорировать core-дампы, а для других передавать их через сокет. Отдельно подготовлен прототип сервера для управления core-дампами (*)"
Джвадцать лет этого ждал!
(*) На "#almost_memory_safe", а как же.
"Расширена возможность отправки содержимого core-дампов через сокет AF_UNIX, позволяющая создавать в пространстве пользователя более безопасные обработчики core-дампов, не завязанные на вызов ядром привилегированных процессов. В новой версии добавлен протокол для создания серверов, способных управлять обработкой core-дампов на уровне отдельных задач. Например, для одних процессов можно игнорировать core-дампы, а для других передавать их через сокет. Отдельно подготовлен прототип сервера для управления core-дампами (*)"
Джвадцать лет этого ждал!
(*) На "#almost_memory_safe", а как же.
www.opennet.ru
Релиз ядра Linux 6.17
После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 6.17. Среди наиболее заметных изменений: повышение производительности Btrfs, системные вызовы file_getattr() и file_setattr(), унификация однопроцессорных и многопроцессорных конфигураций…
👍15❤4😁3🤷2🆒1
commit -m "better"
Я так понимаю, некоторые штуки надо загружать или только из initrd
Будни #bootstrap
Кстати, запилил поддержку initrd, потому что купил новую игрушку, а в ней два слота под nvme, ну мне и захотелось сделать из них какой-то raid для корневого раздела (пока пробую btrfs).
Cделал все максимально по рабоче-крестьянски - упаковываю в initrd все содержимое bin/ из system #realm, то есть, чтобы в initrd были доступны тулзы для btrfs, надо сделать
Убил на это целый выходной, потому что про initrd мало информации, она весьма противоречива, и иногда в документации содержатся просто неверные советы.
Например:
* кто-то пишет, что ядро загружает /sbin/init из initrd, кто-то - что /bin/init, а на самом деле - просто /init
* я долго не мог понять, почему не работает pivot_root для подмены корневой fs, пока не прочел вот этот текст - https://www.kernel.org/doc/Documentation/filesystems/ramfs-rootfs-initramfs.txt:
"When switching another root device, initrd would pivot_root and then umount the ramdisk. But initramfs is rootfs: you can neither pivot_root rootfs, nor unmount it. Instead delete everything out of rootfs to free up the space (find -xdev / -exec rm '{}' ';'), overmount rootfs with the new root (cd /newmount; mount --move . /; chroot .), attach stdin/stdout/stderr to the new /dev/console, and exec the new init.
Since this is a remarkably persnickety process (and involves deleting commands before you can run them), the klibc package introduced a helper program (utils/run_init.c) to do all this for you. Most other packages (such as busybox) have named this command "switch_root""
Ну да, ну да, кто бы мог подумать?!?
Кстати, запилил поддержку initrd, потому что купил новую игрушку, а в ней два слота под nvme, ну мне и захотелось сделать из них какой-то raid для корневого раздела (пока пробую btrfs).
Cделал все максимально по рабоче-крестьянски - упаковываю в initrd все содержимое bin/ из system #realm, то есть, чтобы в initrd были доступны тулзы для btrfs, надо сделать
ix mut system bin/btrfs/progs. Вроде как лишнее дублирование, но зато все максимально прозрачно. Так же в system realm требуется наличие исполняемого файла bin/initrd, который и должен сделать весь heavy lifting - https://github.com/pg83/ix/blob/main/pkgs/set/pg/system/initrd/ix.sh. Никакой помощи от меня, в данный момент, для написания этого файла, нет.Убил на это целый выходной, потому что про initrd мало информации, она весьма противоречива, и иногда в документации содержатся просто неверные советы.
Например:
* кто-то пишет, что ядро загружает /sbin/init из initrd, кто-то - что /bin/init, а на самом деле - просто /init
* я долго не мог понять, почему не работает pivot_root для подмены корневой fs, пока не прочел вот этот текст - https://www.kernel.org/doc/Documentation/filesystems/ramfs-rootfs-initramfs.txt:
"When switching another root device, initrd would pivot_root and then umount the ramdisk. But initramfs is rootfs: you can neither pivot_root rootfs, nor unmount it. Instead delete everything out of rootfs to free up the space (find -xdev / -exec rm '{}' ';'), overmount rootfs with the new root (cd /newmount; mount --move . /; chroot .), attach stdin/stdout/stderr to the new /dev/console, and exec the new init.
Since this is a remarkably persnickety process (and involves deleting commands before you can run them), the klibc package introduced a helper program (utils/run_init.c) to do all this for you. Most other packages (such as busybox) have named this command "switch_root""
Ну да, ну да, кто бы мог подумать?!?
GitHub
ix/pkgs/set/pg/system/initrd/ix.sh at main · pg83/ix
ix package manager. Contribute to pg83/ix development by creating an account on GitHub.
🤯14🔥5❤4🤮3👎1
Forwarded from Hacker News
NBC News
Video game maker Electronic Arts to be acquired for $52.5 billion in largest-ever private equity buyout
The private equity firm Silver Lake Partners, Saudi Arabia’s sovereign wealth fund, PIF, and Affinity Partners will pay EA’s stockholders $210 per share.
🆒10🐳5👍2
commit -m "better"
В #nix community продолжается бурление странного. #nixgate
https://www.opennet.ru/opennews/art.shtml?num=63967
Кажется, в сообществе #nix снова начинается какое-то бурление #nixgate
На этот раз команда модераторов ушла в отставку, потому что считает, что управляющий совет слишком лезет в их дела, а управляющий совет считает, что модераторы делают свою работу абы как, исходя из личных предпочтений, а не из CoC.
Ну и новость немного сбоку, раз речь зашла про CoC.
Эрик Реймонд призывает отказаться от CoC, потому что вреда больше, чем пользы - https://www.opennet.ru/opennews/art.shtml?num=63968
Не могу с этим не согласиться.
Кажется, в сообществе #nix снова начинается какое-то бурление #nixgate
На этот раз команда модераторов ушла в отставку, потому что считает, что управляющий совет слишком лезет в их дела, а управляющий совет считает, что модераторы делают свою работу абы как, исходя из личных предпочтений, а не из CoC.
Ну и новость немного сбоку, раз речь зашла про CoC.
Эрик Реймонд призывает отказаться от CoC, потому что вреда больше, чем пользы - https://www.opennet.ru/opennews/art.shtml?num=63968
Не могу с этим не согласиться.
www.opennet.ru
Отставка команды модераторов NixOS из-за разногласий с управляющим комитетом
Команда модераторов, отвечавшая за поддержание порядка в форумах и репозиториях проекта NixOS, объявила о снятии с себя полномочий в знак протеста против действий управляющего комитета (SC - Steering Committee), вмешивающегося в работу модераторов и пытающегося…
👍16❤3😁3🤷1
#llvmweekly
https://discourse.llvm.org/t/our-ai-policy-vs-code-of-conduct-and-vs-reality/88300
TL;DR - нерадивые контрибуторы шлют в LLVM патчи, сгенерированные AI, плохого качества, даже не разбираясь в том, что AI написал. Что очень сильно отвлекает и так загруженных ревьюеров:
"I’ve been using AI to contribute to LLVM, which has a liberal policy.
The code is of terrible quality and I am at 100+ comments on my latest PR"
"In my experience, folks using AI do a much worse job at understanding their patch, and thus a much worse job at getting better over time. The amount of effort to make these contributors start making better contributions is so much more as to not be worth it anymore"
В целом, пока сходятся на том, что надо банить нерадивых контрибуторов, а не использование AI вообще, хотя есть и более радикальные точки зрения.
Годный текст.
Люди, например, пишут, что используют LLM для облагораживания своих текстов, особенно когда не являются native english speaker. Я тоже так часто делаю.
https://discourse.llvm.org/t/our-ai-policy-vs-code-of-conduct-and-vs-reality/88300
TL;DR - нерадивые контрибуторы шлют в LLVM патчи, сгенерированные AI, плохого качества, даже не разбираясь в том, что AI написал. Что очень сильно отвлекает и так загруженных ревьюеров:
"I’ve been using AI to contribute to LLVM, which has a liberal policy.
The code is of terrible quality and I am at 100+ comments on my latest PR"
"In my experience, folks using AI do a much worse job at understanding their patch, and thus a much worse job at getting better over time. The amount of effort to make these contributors start making better contributions is so much more as to not be worth it anymore"
В целом, пока сходятся на том, что надо банить нерадивых контрибуторов, а не использование AI вообще, хотя есть и более радикальные точки зрения.
Годный текст.
Люди, например, пишут, что используют LLM для облагораживания своих текстов, особенно когда не являются native english speaker. Я тоже так часто делаю.
LLVM Discussion Forums
Our AI policy vs code of conduct and vs reality
We have a code of conduct encouraging various behaviours, especially being welcoming and patient with newcomers. We also have a statement that AI contributions are acceptable provided the contributor understands the code before submitting for review. These…
❤16👍8🤡6🤣4
#llvmweekly
https://discourse.llvm.org/t/rfc-lightweight-fault-isolation-lfi-efficient-native-code-sandboxing-upstream-lfi-target-and-compiler-changes/88380
А вот это прямо крутая штука.
In process sandbox, реализованный с помощью компиляции в некоторое подмножество инструкций целевой ISA, которое гарантирует, что код не вылезет за пределы выданного ему адресного пространства.
Эдакий #WebAssembly, но с компиляцией в целевую архитектуру, а не в промежуточное представление. Или, если хотите, сильно более лайтовый asan (компиляция в код с bound check + рантайм).
Я как-то писал, что firefox использует компиляцию кодеков в #WebAssembly, чтобы кодеки не ездили по чужой памяти.
Вот, это очень похоже, только без WebAssembly, поэтому еще быстрее, практически, нативная скорость.
Ниша у этой штуки тоже чуть другая. Если в WebAssembly можно передать код, скомпилированный внешним участником, и вы будете иметь гарантию, что он не шароебится по памяти, то тут речь идет про тот код, которым вы владеете и сами компилируете в такое представление, но хотите обеспечить гарантии того, что он не будет ездить по другим частям вашего приложения.
Кодеки, конечно, в такую схему ложатся лучше.
От Google, поэтому есть шанс, что это реально проедет в upstream, и будет доступно всем желающим.
https://discourse.llvm.org/t/rfc-lightweight-fault-isolation-lfi-efficient-native-code-sandboxing-upstream-lfi-target-and-compiler-changes/88380
А вот это прямо крутая штука.
In process sandbox, реализованный с помощью компиляции в некоторое подмножество инструкций целевой ISA, которое гарантирует, что код не вылезет за пределы выданного ему адресного пространства.
Эдакий #WebAssembly, но с компиляцией в целевую архитектуру, а не в промежуточное представление. Или, если хотите, сильно более лайтовый asan (компиляция в код с bound check + рантайм).
Я как-то писал, что firefox использует компиляцию кодеков в #WebAssembly, чтобы кодеки не ездили по чужой памяти.
Вот, это очень похоже, только без WebAssembly, поэтому еще быстрее, практически, нативная скорость.
Ниша у этой штуки тоже чуть другая. Если в WebAssembly можно передать код, скомпилированный внешним участником, и вы будете иметь гарантию, что он не шароебится по памяти, то тут речь идет про тот код, которым вы владеете и сами компилируете в такое представление, но хотите обеспечить гарантии того, что он не будет ездить по другим частям вашего приложения.
Кодеки, конечно, в такую схему ложатся лучше.
От Google, поэтому есть шанс, что это реально проедет в upstream, и будет доступно всем желающим.
LLVM Discussion Forums
[RFC] Lightweight Fault Isolation (LFI): Efficient Native Code Sandboxing (Upstream LFI Target and Compiler Changes)
Authors: Zachary Yedidia, Tal Garfinkel, Taehyun Noh, Shravan Narayan, Sharjeel Khan, Pirama Arumuga Nainar, Nathan Egge This RFC proposes adding Lightweight Fault Isolation (LFI) backend compiler passes and LFI-specific targets to LLVM. These changes primarily…
🔥36❤4👍2🆒1
commit -m "better"
Кажется, в сообществе #nix снова начинается какое-то бурление #nixgate
https://discourse.nixos.org/t/the-sc-prepared-to-lie-to-us-and-what-we-can-do-about-it-whistleblow/70103
Какие-то бездны SJW угнетения в #nixgate
Какие-то бездны SJW угнетения в #nixgate
NixOS Discourse
The SC prepared to lie to us, and what we can do about it [whistleblow]
Hi, I have been approached and asked to help aid a whistleblowing SC member as an independent and neutral party. Honored by this significant display of trust, I chose to review leaked evidence, help draft this statement, and publish it under my own account…
✍7😁4❤3🆒1
Forwarded from DeadP47
📱 Блогеров обязали передавать права от Telegram-каналов боту Роскомнадзора
При регистрации и получении маркировки «А+» требуется запускать специальный бот и добавлять его в администраторы, сообщили в Роскомнадзоре. В ведомстве привели ссылку на подробную инструкцию.
Первый этап регистрации – подача заявления через портал госуслуг. Запуск бота предусмотрен вторым этапом. «Это единственный способ подтверждения для Telegram владения вами регистрируемым каналом», – отметили в Роскомнадзоре.
🔺Полученный на «Госуслугах» номер регистрации будет сверяться с введенным в бот. Как уточнили в ведомстве, его нельзя удалять из канала или лишать прав администратора.
📰 Подпишитесь на «Ведомости»
👤
При регистрации и получении маркировки «А+» требуется запускать специальный бот и добавлять его в администраторы, сообщили в Роскомнадзоре. В ведомстве привели ссылку на подробную инструкцию.
Первый этап регистрации – подача заявления через портал госуслуг. Запуск бота предусмотрен вторым этапом. «Это единственный способ подтверждения для Telegram владения вами регистрируемым каналом», – отметили в Роскомнадзоре.
🔺Полученный на «Госуслугах» номер регистрации будет сверяться с введенным в бот. Как уточнили в ведомстве, его нельзя удалять из канала или лишать прав администратора.
📰 Подпишитесь на «Ведомости»
👤
Евстахий Эпилептик (источник: "ВЕДОМОСТИ")Telegraph
Пользовательская инструкция
Бот @trustchannelbot создан, чтобы помочь вам зарегистрировать ваш Telegram-канал в соответствии с законом №303-ФЗ от 8 августа 2024 года и получить для него отметку “А+” ⚠️ Зарегистрировать канал вправе только его владелец, и в нём должно быть не меньше…
🥴44💩23😁9🤡8🍌3👍2🎉2🫡2
https://www.opennet.ru/opennews/art.shtml?num=63981
Ой какая красота, лудший док портировали под Wayland!
Ой какая красота, лудший док портировали под Wayland!
www.opennet.ru
Выпуск панели Cairo-Dock 3.6, возрождённой после 10 летнего перерыва
Спустя более 10 лет после публикации прошлого значительного релиза сформирован выпуск проекта Cairo-Dock 3.6, нацеленного на создание визуально привлекательной, быстрой и настраиваемой панели запуска программ. Cairo-Dock может использоваться как самостоятельная…
❤10🔥5👍4🤷2🆒1
commit -m "better"
Ой какая красота, лудший док портировали под Wayland!
Заметил тут в changelog:
"Для функционирования также требуется поддержка одного из Wayland-протоколов для управления окнами верхнего уровня (wlr-foreign-toplevel-management, plasma-window-management cosmic-toplevel-management)"
https://wayland.app/protocols/wlr-foreign-toplevel-management-unstable-v1
https://wayland.app/protocols/kde-plasma-window-management
https://wayland.app/protocols/cosmic-toplevel-management-unstable-v1
Реально, 3 способа сделать одно и то же, небось и для гнума есть похожее, но:
"Не поддерживается работа с композитным менеджером Mutter - Cairo-Dock не совместим с GNOME и не может применяться с рабочим столом, предлагаемым по умолчанию в Ubuntu Desktop"
И чтобы сложное приложение работало под все композиторы, надо реализовывать все 3 протокола, жесть какая.
"Для функционирования также требуется поддержка одного из Wayland-протоколов для управления окнами верхнего уровня (wlr-foreign-toplevel-management, plasma-window-management cosmic-toplevel-management)"
https://wayland.app/protocols/wlr-foreign-toplevel-management-unstable-v1
https://wayland.app/protocols/kde-plasma-window-management
https://wayland.app/protocols/cosmic-toplevel-management-unstable-v1
Реально, 3 способа сделать одно и то же, небось и для гнума есть похожее, но:
"Не поддерживается работа с композитным менеджером Mutter - Cairo-Dock не совместим с GNOME и не может применяться с рабочим столом, предлагаемым по умолчанию в Ubuntu Desktop"
И чтобы сложное приложение работало под все композиторы, надо реализовывать все 3 протокола, жесть какая.
wayland.app
wlr foreign toplevel management protocol | Wayland Explorer
A better way to read Wayland documentation
🤡11😁8🤮6💊4👎3🤔2
Будни #bootstrap
Обновил llvm/clang/etc до версии 21.
С каждым разом это все сложнее, и сложнее, несмотря на то, что обновление непосредственно компилятора было очень простой задачей - вся кодовая база взялась, и собралась, без единой ошибки.
Но, к сожалению, upver clang тянет за собой обновление spirv тулинга (это формат шейдеров vulkan), а обновление spirv тулинга тянет обновление vulkan, а обновление vulkan тянет с собой обновление mesa. Это не жесткое правило, но вот так оно обычно получается - старая #mesa перестает собираться против нового vulkan sdk.
Все бы ничего, но иногда происходит что-то настолько всратое, что хочется взять клавиатуру, и долбить ей по столу.
Вот есть такая запчасть, https://github.com/KhronosGroup/SPIRV-LLVM-Translator.
Ее надо одновременно, со всем остальным стеком, обновить до версии 21.
Маленькая проблема заключается в том, что автор этой запчасти сошел с ума, и сказал, что ему нужен снапшот транка vulkan sdk, против которого он хочет собираться.
Ну, то есть, понятно, что произошло?
Есть версия vulkan sdk, против которой собирается весь код этого стека, но автор одной запчасти сказал, что ему нужен более новый sdk. Проблема в том, что, этот более новый sdk не совместим со всеми остальными запчастями стека (я проверил).
Обновление "встряло"...
В общем, в итоге я сделал странное #herobora - собрал только эту запчасть против нужной ему версии sdk (https://github.com/pg83/ix/blob/main/pkgs/lib/spirv/llvm/translator/21/impl/ix.sh#L23-L25), но использовал в составе стека, скомпилированного с нужной всем остальным версией sdk.
Мораль? Нет ее.
Обновил llvm/clang/etc до версии 21.
С каждым разом это все сложнее, и сложнее, несмотря на то, что обновление непосредственно компилятора было очень простой задачей - вся кодовая база взялась, и собралась, без единой ошибки.
Но, к сожалению, upver clang тянет за собой обновление spirv тулинга (это формат шейдеров vulkan), а обновление spirv тулинга тянет обновление vulkan, а обновление vulkan тянет с собой обновление mesa. Это не жесткое правило, но вот так оно обычно получается - старая #mesa перестает собираться против нового vulkan sdk.
Все бы ничего, но иногда происходит что-то настолько всратое, что хочется взять клавиатуру, и долбить ей по столу.
Вот есть такая запчасть, https://github.com/KhronosGroup/SPIRV-LLVM-Translator.
Ее надо одновременно, со всем остальным стеком, обновить до версии 21.
Маленькая проблема заключается в том, что автор этой запчасти сошел с ума, и сказал, что ему нужен снапшот транка vulkan sdk, против которого он хочет собираться.
Ну, то есть, понятно, что произошло?
Есть версия vulkan sdk, против которой собирается весь код этого стека, но автор одной запчасти сказал, что ему нужен более новый sdk. Проблема в том, что, этот более новый sdk не совместим со всеми остальными запчастями стека (я проверил).
Обновление "встряло"...
В общем, в итоге я сделал странное #herobora - собрал только эту запчасть против нужной ему версии sdk (https://github.com/pg83/ix/blob/main/pkgs/lib/spirv/llvm/translator/21/impl/ix.sh#L23-L25), но использовал в составе стека, скомпилированного с нужной всем остальным версией sdk.
Мораль? Нет ее.
GitHub
GitHub - KhronosGroup/SPIRV-LLVM-Translator: A tool and a library for bi-directional translation between SPIR-V and LLVM IR
A tool and a library for bi-directional translation between SPIR-V and LLVM IR - KhronosGroup/SPIRV-LLVM-Translator
😢22🤯9❤5🔥2👍1💊1