From cd33090403f066bb2394507dccdd4a898fee8e64 Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Mon, 5 Sep 2022 17:30:36 +0300 Subject: [PATCH] =?utf8?q?NNCP=20=D0=BD=D0=B5=20=D1=81=D0=BE=D0=B1=D0=B8?= =?utf8?q?=D1=80=D0=B0=D0=BB=D1=81=D1=8F=20=D0=BD=D0=B0=20Go=201.19?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit http://www.nncpgo.org/Release-8_005f8_005f0.html https://github.com/inetaf/netstack/issues/4 https://news.ycombinator.com/item?id=32699261 Я сижу на самых последних версиях Go. И почти сразу же обновляю GOST-овый fork (http://www.gostls13.cypherpunks.ru/). Но далеко не весь софт пересобираю им. Вот и NNCP, который у меня постоянно везде и всегда трудится -- не обновлялся. Оказывается он вообще отказывается собираться под Go 1.19. Всё дело в зависимостях связанных с реализацией TCP/IP стэка, опционально используемой при работе с Yggdrasil. Когда-то там использовалась gVisor библиотека (6ed95a2d84010e41e16c5ee891649d470f765241), потом перешёл на inet.af/netstack -- fork gVisor только с netstack частью, без тьмищи зависимостей. Кроме того, были какие-то проблемы на 32-х битных системах у gVisor, а в inet.af было исправлено это. Но внутри этого inet.af/netstack в ряде файлов явно стоит "!go1.19". Судя по коммитам, это авторы добавили просто на всякий случай -- мол они не проверяли всю эту unsafe работу с новыми версиями и явно указывают на это. Руками удалил эти build тэги -- вроде бы всё работает, хотя и нет уверенности. Более того, как оказалось, этот inet.af вообще стал заброшенным проектом, так как Фитцпатрик больше не имеет проблем с кучей зависимостей gVisor-а после Go 1.17, который умеет делать lazy подгрузку модулей. Если сделать "go mod tidy -compat=1.17", то он круто подчищает зависимости от всяких излишеств. И действительно, проблем с gVisor-ом больше нет. Снова переехал на него, уже на значительно более новую версию, где и куча обратно несовместимых изменений API было. Но это же Go: я буквально не более десяти минут потратил чтобы понять что и как надо подправить. -- 2.50.0