История изменений
Исправление lefsha, (текущая версия) :
Вот сообщение при сборке media-gfx/openvdb:
#error – unsupported GNU version! gcc versions later than 11 are not supported!
Ты написал, что Firefox собирается только Clang 14, перечитай свой пост.
Сэр! Вы идиот! Вы не знаете про компьютеры ровным счётом ничего. Вы пишите ЕРЕСЬ!
Firefox это проект написанный НА C++ и RUST.
Речь изначальна шла о том, что БОЛЕЕ НОВЫЕ компиляторы НЕ поддерживаются определёнными версиями разных программ или библиотек.
Вам и другому танкисту был приведён пример этого.
Clang или GCC это просто разные реализации компилятора С++. В некоторых случаях лучше использовать один, в других - другой.
На самом деле используют НЕ компилятор, а Toolchain. Т.е. набор компонентов для сборки программ. Этот набор взаимосвязан друг с другом. Т.е. все программы из набора должны работать вместе. В итоге есть toolchain, который базируется на clang или точнее llvm, а есть который на gcc и так далее.
Но основная суть именно в том, что с помощью последней вышедшей версией почти любого компилятора НЕЛЬЗЯ собрать ВСЁ что угодно.
Теоретический голый текст на C++ написанный в стиле С, наверно можно собрать любым компилятором, но таких случае в практике НЕТ. Меняется и сам язык и библиотеки.
Тот же RUST эту проблему осознал и по этому создал такую вещь как редакция компилятора по мимо версии. В рамках одной редакции код написанный для нее будет компилироваться любой версией компилятора. Этого НЕТ в случае C++.
Читать здесь: https://doc.rust-lang.org/edition-guide/editions/index.html
Вы же тут рассуждаете о том, о чем не имеете представления. В таком случае нефиг спорить. Не знаешь - молчи.
то проект написан на Clang, где ошибка в моих рассуждениях?
Нет и еще раз НЕТ. Ошибка в рассуждениях в том, что речь была о КОНКРЕТНОЙ версии clang!!! НЕ о самом clang.
Build system cmake для firefox проверяет используете ли Вы версию 14 или нет. И если нет, то выдает ошибку! Т.е. нельзя использовать версию 15 или 16. Иногда можно использовать версию 13 или ниже. Иногда нельзя. Т.е. есть ограничения И сверху И снизу!
И так ВЕЗДЕ и во ВСЁМ!!!
Если Вы используете GCC, то там другие ограничения версий!!! Номера версий другие! Например это скорее будет версия 11.3 Хотя давно есть 12ая версия GCC.
проблема именно с FIREFOX заключается в том, что вы в любом!!! случае используете LLVM, потому что вы используете RUST, который НЕ может без LLVM. Соответственно и RUST должен быть собран с помощью LLVM 14. В итоге зависимость от версии GCC теряется где-то там в глубине. Компилируя FIREFOX И с помощью GCC тоже Вы просто добавляете еще одну зависимость и еще одно ограничение.
И это все очень и очень плохо. Но это так есть и с этим сделать ничего нельзя.
И по этому RUST будет побеждать. У него нет этих проблем.
Исходная версия lefsha, :
Вот сообщение при сборке media-gfx/openvdb:
#error – unsupported GNU version! gcc versions later than 11 are not supported!
Ты написал, что Firefox собирается только Clang 14, перечитай свой пост.
Сэр! Вы идиот! Вы не знаете про компьютеры ровным счётом ничего. Вы пишите ЕРЕСЬ!
Firefox это проект написанный НА C++ и RUST.
Речь изначальна шла о том, что БОЛЕЕ НОВЫЕ компиляторы НЕ поддерживаются определёнными версиями разных программ или библиотек.
Вам и другому танкисту был приведён пример этого.
Clang или GCC это просто разные реализации компилятора С++. В некоторых случаях лучше использовать один, в других - другой.
На самом деле используют НЕ компилятор, а Toolchain. Т.е. набор компонентов для сборки программ. Этот набор взаимосвязан друг с другом. Т.е. все программы из набора должны работать вместе. В итоге есть toolchain, который базируется на clang или точнее llvm, а есть который на gcc и так далее.
Но основная суть именно в том, что с помощью последней вышедшей версией почти любого компилятора НЕЛЬЗЯ собрать ВСЁ что угодно.
Теоретический голый текст на C++ написанный в стиле С, наверно можно собрать любым компилятором, но таких случае в практике НЕТ. Меняется и сам язык и библиотеки.
Тот же RUST эту проблему осознал и по этому создал такую вещь как редакция компилятора по мимо версии. В рамках одной редакции код написанный для нее будет компилироваться любой версией компилятора. Этого НЕТ в случае C++.
Читать здесь: https://doc.rust-lang.org/edition-guide/editions/index.html
Вы же тут рассуждаете о том, о чем не имеете представления. В таком случае нефиг спорить. Не знаешь - молчи.
то проект написан на Clang, где ошибка в моих рассуждениях?
Нет и еще раз НЕТ. Ошибка в рассуждениях в том, что речь была о КОНКРЕТНОЙ версии clang!!! НЕ о самом clang.
Build system cmake для firefox проверяет используете ли Вы версию 14 или нет. И если нет, то выдает ошибку! Т.е. нельзя использовать версию 15 или 16. Иногда можно использовать версию 13 или ниже. Иногда нельзя. Т.е. есть ограничения И сверху И снизу!
И так ВЕЗДЕ и во ВСЁМ!!!
Если Вы используете GCC, то там другие ограничения версий!!! Номера версий другие! Например это скорее будет версия 11.3 Хотя давно есть 12ая версия GCC.
проблема именно с FIREFOX заключается в том, что вы в любом!!! случае используете LLVM, потому что вы используете RUST, который НЕ может без LLVM. Соответственно и RUST должен быть собран с помощью LLVM 14. В итоге зависимость от версии GCC теряется где-то там в глубине. Компилируя FIREFOX И GCC Вы просто добавляете еще одну зависимость и еще одно ограничение.
И это все очень и очень плохо. Но это так есть и с этим сделать ничего нельзя.
И по этому RUST будет побеждать. У него нет этих проблем.