-std=c++17 бывают разные:
Начиная с версии 119.0 в Firefox dom имплементировали новые функции работы с массивами dom/bindings/TypedArray.h. Это привело к тому, что Firefox теперь собирается, либо с помощью clang-17, либо с помощью GCC-13.2.0. GCC 12.2.0 оказался не способным собирать C++ код, в котором используются auto/lambda шаблоны, да еще в рекурсии.
Таким образом стандарт -std=c++17 поддерживается не всегда корректно.
Если озадачиться cross-сборкой Firefox с использованием cross-llvm тулчейна, то работа превращается в ад: ./configure не обращает внимания на CFLAFS/CXXFLAGS, .mozconfig тоже не помогает по тому, что использование cross-llvm не освобождает от GCC, так как GCC тоже используется при сборке некоторых компонентов. Одним словом кудесники из команды Firefox бегут вперед, даже не понимая принципов cross-сборки и правильного процесса конфигурирования исходников.
Поскольку система Radix cross Linux, по сути монолитна, все пакеты собираются именно стем окружением, в котором им и предстоит работать на целевой машине, переход на GCC-13.2.0 будет осуществляться в версии 1.10.
В версии системы 1.9 мы имеем Firefox-118.0.2 и в данной версии (1.9) обновлений Firefox не будет.
В принципе, когда Firefox-118.0.x устареет, мы все равно сможем собирать ESR ветку Firefox с помощью GCC-12.2.0, так как в ESR версии подобные новшества не появятся.
Можно, кроме того, подумать о полном переходе на ESR [как вам такое предложение?].
Post #73
134