LINUX.ORG.RU

Назовите хотя бы одну причину существования долбанного meson...

 , , , ,


0

6

Указываю новые CFLAGS, CXXFLAGS, запускаю meson setup --reconfigure с новым buildtype, запускаю ninja, И НИЧЕГО НЕ ПЕРЕСОБИРАЕТСЯ!!! Только линковка запускается повторно!
Для чего нужна билдсистема, которая не может отреагировать на изменение конфигурации? Чем это лучше мейкфайла или bash-скрипта? Чем это лучше autotools, который им заменяют в конце-то концов (другой синтаксис - субъективщина)? Что делал этот чёртов reconfigure, если не привёл к пересборке?

★★★★★
Ответ на: комментарий от hateyoufeel

воображаемых внешних врагов, рептилоидов и иллюминатов, конечно же! кого же ещё-то. всем остальным просто насрать.

вот агама вчера ползала по клавиатуре. наверняка рептилоиды имеют секретные планы по захвату интернетов.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 2)
Ответ на: комментарий от Iron_Bug

воображаемых внешних врагов, рептилоидов и иллюминатов, конечно же! кого же ещё-то. другим просто насрать.

Это ты зря. Потенциальный бэкдор в Dual_EC_DRBG от АНБ таки был.

Обезян тут намекает, что если все один раз доверились АНБ, то почему бы не довериться ФСБ сегодня. Но проблема в его логике состоит в том, что АНБ теперь никто больше не верит, и это недоверие распространяется заодно и на аналогичные службы других стран. Поэтому к алгоритмам-кандидатам на стандартизацию весьма пристальное внимание.

hateyoufeel ★★★★★
()
Ответ на: комментарий от Iron_Bug

Проблемы с версиями там есть т.к скрипты сборки пытаются вызвать $CC и распарсить его вывод, но вывод не подходит под кривой шаблон

mittorn ★★★★★
() автор топика
Ответ на: комментарий от hateyoufeel

тоже верно. мир уже не так наивен. дурачков нет.

с другой стороны, ну, чем нам угрожает АНБ? они далеко, им до нас вообще нет дела, нам до них нет дела, все счастливы и довольны. а вот настоящий враг близко и от него надо обороняться. потому и выпиливала я эти зонды к хренам у себя в библиотеках с самого момента их появления. а теперь вот и выпиливать не надо - красота.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

с другой стороны, ну, чем нам угрожает АНБ?

Тем, что почти у всех стран есть договор об экстрадиции в США.

А ещё тем, что рано или поздно инфа об этих бекдорах может утечь в свободную продажу.

hateyoufeel ★★★★★
()
Ответ на: комментарий от hateyoufeel

Тем, что почти у всех стран есть договор об экстрадиции в США.

а где можно записаться? а гринкарту дадут? :)

Iron_Bug ★★★★★
()
Ответ на: комментарий от hateyoufeel

А ещё тем, что рано или поздно инфа об этих бекдорах может утечь в свободную продажу.

ну, вот это уже да - это реальная проблема всех NOBUS закладок.

поэтому лучше шифровать с PSK, где можно. симметричные алгоритмы, туннели, периодическая смена ключей. а вообще, не надо в сеть выкладывать ничего особо важного и конфиденциального. эта защита всегда работала лучше всего.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от Iron_Bug

Тем, что почти у всех стран есть договор об экстрадиции в США.

а где можно записаться? а гринкарту дадут? :)

Нет, дадут в тюрячке посидеть с ниггерами и поесть баланды: https://www.bbc.com/news/world-us-canada-36852495

Чувак, правда, сбежал: https://cyberscoop.com/kickasstorrents-artem-vaulin-poland/

Но ты можешь завести свой торрент-трекер. Станешь популярной, скатаешься в ЕС, и тогда будет тебе счастье.

hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от wandrien

Самое забавное в этой ветке было то, как LamerOk не выдержал и из-под анона побежал обличать меня в куколдизме.

Куколд, подай челобитную к модераторам и они меня забанят за мультиводство.

LamerOk ★★★★★
()
Последнее исправление: LamerOk (всего исправлений: 1)
Ответ на: комментарий от anonmyous

Да уж конечно. &: для параллельной сборки, появился только в GNU make 4.3.

Ты путаешь божий дар с яичницей. Параллельная сборка - это сборка через -j и она там не позднее начала нулевых, а скорее всего ещё из 90-ых. &: - это групповая цель, а не параллельная сборка.

LamerOk ★★★★★
()
Ответ на: комментарий от LamerOk

&: нужно чтобы корректно собрать групповую цель при параллельной сборке. Без неё, он запустит выполнение цели N раз, где N - кол-во файлов в групповой цели.

anonmyous ★★
()
Ответ на: комментарий от LamerOk

Да. Я к тому, что не это традиционно называется «параллельной сборкой»,

Так я же написал «ДЛЯ параллельной сборки». Тут даже с микроскопом не прикопаешься. А фича, между тем, ДЛЯ параллельной сборки мега-нужная, практически маст хэв.

anonmyous ★★
()
Ответ на: комментарий от mittorn

хы! я решила сделать финт ушами и собрать gcc-14 самим же gcc-14м. ну, теоретически ничего не должно было бы помешать.... ага, щщаз!

в общем, он нишмог. стала копать. оказалось, что они там поломали опции командной строки. причём даже, например, такие тривиальные как запрос версии компилятора. идиоты. поэтому собрать его более старыми компиляторами можно, а самим новым компилятором нельзя. это пинцет! зато влепляют туда всякий синтаксический сахар пачками, стандартизаторы туевы.

о, медведи и белки... куда катится этот мир?

З.Ы. не выбрасывайте старые компиляторы. они ещё пригодятся. 12-й ещё был нормальный.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 3)
Ответ на: комментарий от anonmyous

CMake худшая система сборки, не считая всех других - Черчиль.

MOPKOBKA ★★★★★
()
Ответ на: комментарий от mittorn

Какая то ссылка на твиттер, не нашел там ничего интересного. Есть какое то утверждение, но где ссылка? О чем он пишет?

MOPKOBKA ★★★★★
()
Ответ на: комментарий от Iron_Bug

в общем, GCC 14 как-то вообще не алё. по крайней мере, c musl. там как-то жёстко поломан posix_spawn, не знаю, почему. в musl он есть. и ещё много чего поломано. дело даже не в опциях, а он вообще как-то криво работает. хотя собирается. и опции конфигурации те же, я проверила, что новых не появилось.

короче, я решила не мучиться и взять 12.1.1 - он точно гарантированно работает, я им уже собирала кучу всего. а эксперименты с новьём - потом, если будет время.

Iron_Bug ★★★★★
()

https://www.gnu.org/software/autoconf/manual/autoconf-2.65/html_node/autoheader-Invocation.html

You might wonder why autoheader is needed: after all, why would configure need to “patch” a config.h.in to produce a config.h instead of just creating config.h from scratch? Well, when everything rocks, the answer is just that we are wasting our time maintaining autoheader: generating config.h directly is all that is needed. When things go wrong, however, you’ll be thankful for the existence of autoheader.

Автолулзы даже сами для себя не могут объяснить, почему оно такое оверинженернутое говно без архитектуры.

Обычно things go wrong исключительно по причине наличия самих автолулзов.

wandrien ★★★
()
Последнее исправление: wandrien (всего исправлений: 1)
Ответ на: комментарий от wandrien

Автолулзы даже сами для себя не могут объяснить, почему оно такое оверинженернутое говно без архитектуры.

Поздравляю вас соврамши. Объяснение-то ты проскипал:

The fact that the symbols are documented is important in order
to check that config.h makes sense. The fact that there is a
well-defined list of symbols that should be defined (or not) is
also important for people who are porting packages to environments
where configure cannot be run: they just have to fill in the
blanks.

Для тех, кто плохо читает: config.h.in нужен там, где нет баша и нельзя запустить конфигуре. Тогда, из него можно создать config.h хотя бы вручную. Будет ли кто-то так делать сейчас? Конечно нет. А лет 30 назад - вполне.

Обычно things go wrong исключительно по причине наличия самих автолулзов.

Примеры в студию. Лично для меня, автотулзы - наиболее предсказуемая система.

anonmyous ★★
()
Ответ на: комментарий от wandrien

В противовес розовым пони из мануала, у которых «просто запусти autoreconf».

Это не ваша проблема. Автореконф будет запускать маинтаинер проекта. Автотулзы предлагают готовые конфигуре пихать прям в гит, чтобы юзер не обретал геморрой.

Ну либо нужны вот такие autogen.sh - это если маинтаинер всё-таки решил, что автотулзы должен будет запускать юзер.

anonmyous ★★
()
Ответ на: комментарий от anonmyous

Автотулзы предлагают готовые конфигуре пихать прям в гит, чтобы юзер не обретал геморрой.

Жесть ты там упарываешься. Бросай шмаляться этой дрянью.

wandrien ★★★
()
Ответ на: комментарий от wandrien

Охереть, а чья же это проблема?? Я разрабатываю софт, если что.

Тогда вы должны знать варианты решения проблемы. Можно готовый конфигуре в гита пихнуть. Можно поставить AC_PREREQ() чтобы не делать все вот эти

case "$AM_INSTALLED_VERSION" in
    1.1[1-8])

из скрипта выше. Скрипт-то, по сути, просто пытается обойти проблемы совместимости со старыми версиями.

Кстати, очень похоже, что этот скрипт - он вообще какой-то «общий», для других проектов сделанный. По тому, что там по-всюду:

    if grep -q "^AM_GNU_GETTEXT" ./configure.ac ; then

То есть, они проверяют наличие разных макросов в самом configure.ac. Очевидно, проверять их наличие в СВОЁМ configure.ac - не нужно. А этот скрипт - стало быть, некая рыба для других проектов, вероятно. И если так, то ссылаться на него, как на пример - это клевета чистой воды.

anonmyous ★★
()
Ответ на: комментарий от anonmyous

Кстати, очень похоже, что этот скрипт - он вообще какой-то «общий», для других проектов сделанный.

Офигеть ты проницательный, конечно.

Разумеется, этот общий скрипт. Ты же не думаешь, что я буду отдельно говнокодить частные autogen.sh на 18 разных репозиториев? Хотя кто вас, любителей в гамаке на лыжах, знает…

wandrien ★★★
()
Ответ на: комментарий от anonmyous

Тогда вы должны знать варианты решения проблемы.

Вот оптимальный вариант решения по ссылке и лежит.

wandrien ★★★
()
Ответ на: комментарий от wandrien

Разумеется, этот общий скрипт. Ты же не думаешь, что я буду

А при чём тут вообще ты? Или что, ты дал ссылку на собственный говнокод, как доказательство «плохости» автотулзов? А так же, «избирательным» цитированием их документации, «доказал» ущербность оной? Гениально.

что я буду отдельно говнокодить

Сначала я так не думал. Но теперь похоже, что да… И не только говнокодить, но ещё и срать этим на форуме.

частные autogen.sh на 18 разных репозиториев?

Ржу-нимагу. А меня вот не напаривает в 18 репозитариев покидать скрипты с вызовом autoreconf -v, если альтернатива этому - писать вот такое дерьмище, которое, типа, применимо всюду. Разумеется, у нормальных людей это работает без проблем, так как проставлены и AC_PREREQ(), и AC_CONFIG_MACRO_DIRS(), и всё остальное, что этот скрипт пытается «разрулить». Когда они корректно (и по-разному) проставлены в каждом из 18 репозитариев, то autogen.sh содержит только autoreconf -v.

anonmyous ★★
()
Ответ на: комментарий от anonmyous

Реально сердечка не хватает в реакциях, @token_polyak был прав.

На такой поток бредогенерации ставить алые лайки самое то.

Но раз нету реакции такой, то держи клоуна, от души, бро.

wandrien ★★★
()
Последнее исправление: wandrien (всего исправлений: 1)
Ответ на: комментарий от anonmyous

азумеется, у нормальных людей это работает без проблем, так как проставлены и AC_PREREQ(), и AC_CONFIG_MACRO_DIRS(), и всё остальное, что этот скрипт пытается «разрулить».

У нормальных людей нет файла configure.ac в репозитарии, они пользуются куда более адекватными инструментами.

Configure.ac – это признак либо очень древнего проекта, либо того, что авторы – поехавшие наглухо долбонавты.

hateyoufeel ★★★★★
()
Ответ на: комментарий от hateyoufeel

очень древнего проекта

Приходится страдать пока что. Думаю вот на что переписать, на meson попробовать что ли.

wandrien ★★★
()
Ответ на: комментарий от hateyoufeel

У нормальных людей нет файла configure.ac в репозитарии, они пользуются куда более адекватными инструментами.

Опять проснулся… Ты бы лучше посмотрел, на что я отвечал. Он «избирательным цитированием» доказывал «плохость» документации автотулзов, и собственным говнокодом - «плохость» их реализации.

У тебя привычка влезать, не ознакомившись с контекстом?

anonmyous ★★
()
Ответ на: комментарий от anonmyous

Опять проснулся… Ты бы лучше посмотрел, на что я отвечал. Он «избирательным цитированием» доказывал «плохость» документации автотулзов, и собственным говнокодом - «плохость» их реализации.

А в чём он неправ-то? Доки автолулзов и правда сосут. Причём чудовищно.

У тебя привычка влезать, не ознакомившись с контекстом?

Контекст здесь очень простой: автолулзы сосут, meson лучше, используйте по возможности meson или что-то ещё. Meson вон даже кросскомпиляцию нормальную умеет! А автолулзы не умеют. Доказано тысячами страдальцев, кои пытались генту кросскомпилировать (я в их числе).

hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

А в чём он неправ-то? Доки автолулзов и правда сосут. Причём чудовищно.

В том, что он умышленно выкинул нужный кусок при цитировании, и сказал, что его нет. А потом ссылался на какой-то говнокод, который оказался его собственным.

Контекст здесь очень простой: автолулзы сосут

Контекст в том, что чел умышленно врал. И я это наглядно показал. Слушай, шёл бы ты, «нечитатель», а не влезал всюду без контекста.

anonmyous ★★
()
Ответ на: комментарий от wandrien

на meson попробовать что ли

Вообще-то, meson – это не система сборки. Это оркестратор, а собирает непосредственно проект ninja.

yars068 ★★★★★
()
Ответ на: комментарий от yars068

Так и автотулзы – не make. Собирает непосредственно после конфигурирования – make. (:

wandrien ★★★
()
Ответ на: комментарий от anonmyous

Он ничего не выкинул, потому что твои рецепты решения проблем ничего не решают.

Тогда вы должны знать варианты решения проблемы. Можно готовый конфигуре в гита пихнуть.

Пихать бинарные блобы в git – херовая идея. А configure – это фактически бинарный блоб, потому что ни один человек это говно прочитать не в состоянии.

Можно поставить AC_PREREQ()

Это вообще нихрена не помогает. Все скрипты, что я видел, были с AC_PREREQ, но говно из них всё равно периодически валилось при использовании другой версии autoconf.

hateyoufeel ★★★★★
()
Ответ на: комментарий от hateyoufeel

В git его не стоит пихать как минимум из-за возможных проблем при мержах. А вот в source релизы паковать - вполне

mittorn ★★★★★
() автор топика
Ответ на: комментарий от hateyoufeel

Он ничего не выкинул,

В смысле, не выкинул, ты нормальный? Назовите хотя бы одну причину существования долбанного meson... (комментарий) Я цитату ведь привёл, которую он выкинул!

Это вообще нихрена не помогает. Все скрипты, что я видел, были с AC_PREREQ, но говно из них всё равно периодически валилось при использовании другой версии autoconf.

Да ты бы хоть в его скрипт глянул, умник. Он там, именно что, со старыми версиями возится, а от этого AC_PREREQ() бы помог. Для случая более новых есть autoupdate, но об этом речь не шла. Ты бы в его говноскрипт, для приличия, заглянул, но нет…

Короче, всё ясно.

anonmyous ★★
()
Ответ на: комментарий от wandrien

Приходится страдать пока что. Думаю вот на что переписать

Автор sqlite в начале года перешёл на https://msteveb.github.io/autosetup.
Что неудивительно, потому что Tcl. :)

autosetup is a tool, similar to autoconf, to configure a build system for the appropriate environment, according to the system capabilities and the user-selected options.

autosetup is designed to be light-weight, fast, simple and flexible.

dataman ★★★★★
()
Ответ на: комментарий от anonmyous

В смысле, не выкинул, ты нормальный? Назовите хотя бы одну причину существования долбанного meson… (комментарий) Я цитату ведь привёл, которую он выкинул!

Для тех, кто плохо читает: config.h.in нужен там, где нет баша и нельзя запустить конфигуре. Тогда, из него можно создать config.h хотя бы вручную. Будет ли кто-то так делать сейчас? Конечно нет. А лет 30 назад - вполне.

Какое отношение события 30-летней давности имеют к убогости autoconf сегодня? Никакого.

Исходная цитата от @wandrien

Автолулзы даже сами для себя не могут объяснить, почему оно такое оверинженернутое говно без архитектуры.

всё ещё актуально. То, что в README притянут за уши какой-то мутный сценарий, мало что значит.

Он там, именно что, со старыми версиями возится, а от этого AC_PREREQ() бы помог.

Каким образом? Выпал бы в ошибку при встрече старой версии? Чем это лучше?

hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

Автолулзы даже сами для себя не могут объяснить, почему оно такое оверинженернутое говно без архитектуры.

всё ещё актуально. То, что в README притянут за уши какой-то мутный сценарий, мало что значит.

Тебе не значит - твои проблемы. Тезис "мне не нужны автолулзы - значит и авторам автолулзов автолулзы не нужны" какой-то образцово дебильный.

Лично мне автолулзы нафик не нужны, я их терпеть ненавижу и заменяю их на другую сборочную систему примерно везде, где нужно работать с проектом больше недели (в отличие от других участников этой темы, которые только думают над этим вопросом по нескольку лет).

У авторов автолулзов была чёткая постановка задачи, и в рамках этих требований они её решили.

То, что такое решение сегодня создаёт больше проблем, чем решает - это уже не их вина.

LamerOk ★★★★★
()
Ответ на: комментарий от dataman

Runs with either Tcl 8.5+, Jim Tcl or just a C compiler (using the included Jim Tcl source code!)

Хорошие сапоги, надо брать.

wandrien ★★★
()
Ответ на: комментарий от LamerOk

У авторов автолулзов была чёткая постановка задачи, и в рамках этих требований они её решили.

Это какая? Сделать чудовищно тормозное говно, которым невозможно пользоваться? Ну, да. Справились.

hateyoufeel ★★★★★
()
Ответ на: комментарий от hateyoufeel

всё ещё актуально. То, что в README притянут за уши какой-то мутный сценарий, мало что значит.

И то, что он его умышленно выкинул - ничего не значит? И то, что это писалось тогда, когда данный сценарий был очень даже актуален - тоже ничего не значит? Когда пытаются доказать, что что-то есть дерьмо - не выкидывают цитаты из документации, и не размахивают говнокодом, который потом оказывается ими же и написан.

Каким образом? Выпал бы в ошибку при встрече старой версии? Чем это лучше?

Тем, что юзер бы либо обновился, либо перестал бы заниматься ерундой, и запустил бы готовый конфигуре из проекта.

А вы, будто бы, знаете много способов «победить» устаревшую версию какой-либо совтины, если другой проект требует более новую? Вариант стандартный: обновить. И никто, кроме автотулзов, не предложил вам 2й вариант: взять готовый конфигуре (например, в мезоне такого нет - придётся всегда обновлять). Не понимаю, правда, как это всё связано с тем, что чел банально врал. Скорее всего, задача сейчас раздёргать меня на хейт автоконфа, а про происки лжецов - плавно забыть.

anonmyous ★★
()
Ответ на: комментарий от hateyoufeel

Это какая? Сделать чудовищно тормозное говно, которым невозможно пользоваться?

Нет, собрать им gcc. Что ж ты за бездарь то…

anonmyous ★★
()
Ответ на: комментарий от dataman

всё это прекрасно, но когда каждый пакет тащит какую-то свою уникальную снежинку утильку для сборки, конфига и прочего - это полная жопа для майнтейнеров и дистрибутивов.

Iron_Bug ★★★★★
()
Ответ на: комментарий от hateyoufeel

У авторов автолулзов была чёткая постановка задачи, и в рамках этих требований они её решили.

Это какая?

Сделать сколь угодно тормозное говно, но которое будет работать на уже полумёртвых железках их времени с протухшими компиляторами и отсутствующими функциями и файлами без внешних зависимостей. Свою задачу они решили.

То, что 100500 долбоклюев в 2К25 всё ещё насилуют этого борт-проводника, говорит вовсе не об авторах автолулзов, а о долбоклюях.

Вопли про кривые автолулзы выглядят как жалобы 40-летнего мужика на детский трёхколёсный велосипедик. Дегенератам уже центральный процессор ускорили в 300 раз, но они всё ещё пытаются ездить на трёхколёсном велосипедике и жалуются, что он плохо едет.

LamerOk ★★★★★
()
Последнее исправление: LamerOk (всего исправлений: 3)
Ответ на: комментарий от LamerOk

Вопли про кривые автолулзы выглядят как жалобы 40-летнего мужика на детский трёхколёсный велосипедик.

Именно, особенно учитывая что:

  • почему-то тем, кто это делает, приходится прибегать к прямой лжи и манипуляциям
  • автотулзы писались для сборки gcc, и до сих пор с этой задачей справляются
  • в мезон нормальную кросс-компиляцию так и не завезли, как было в соседнем топике показано
anonmyous ★★
()
Ограничение на отправку комментариев: