Я хочу собрать более старые версии (<= 5.4.0) gcc в Ubuntu 18.04, однако продолжаю сталкиваться с различными ошибками компиляции, связанными с изменениями в стандарте POSIX.Я хочу создать много версий, но каждая версия gcc имеет различные проблемы, связанные с изменениями пространства имен.В настоящее время я компилирую с gcc-7.3. </p>
Существует ли центральный репозиторий более старого источника gcc (5.4, 4.8 и т. Д.) С патчами, позволяющими собирать их на Ubuntu 18.04 / gcc-7.3?В качестве альтернативы, есть ли какой-нибудь инструмент преобразования или аргументы компиляции, которые я могу использовать, чтобы полностью избежать этих ошибок?
Большинство ошибок связано с переопределениями struct namespace и, насколько я понимаю, это связано с некоторыми изменениями в POSIX.Некоторые примеры из моих попыток компиляции gcc-5.4.0:
In linux-unwind.h
с патчем от здесь
siginfo_t info;
- struct ucontext uc;
+ ucontext_t uc;
} *rt_ = context->cfa;
- В
sanitizer_stoptheworld_linux_libcdep.cc
с патчем от здесь
Дело в том, что у меня нет полного списка необходимых мне изменений, и каждая версия gcc, кажется, требуетэто собственные модификации.
Мои параметры настройки для gcc-5.4.0 для справки:
../src/configure --prefix=/home/common/modules/gcc/5.4.0 --enable-languages=c,c++,fortran --disable-multilib --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --enable-checking=release