Причина сбоя сборки связана с нарушением среды сборки.
В этом конкретном случае используется сборка Sun GCC. Эта конкретная версия GCC была скомпилирована для использования смеси ассемблера GNU и компоновщика Sun.
Платформа Sparc очень чувствительна к выравниванию кода, и она будет давать сбой (например, с ошибкой шины), если будет выполнен невыровненный код.
GNU-ассемблер, используемый в стандартной сборке GCC на Sparc Solaris 10, не так усердно работает для автоматического выравнивания функций, сгенерированных компилятором, что приводит к выравниванию кода.
Решение состоит в том, чтобы создать свой собственный GCC и убедиться, что вы используете системный ассемблер и компоновщик; Вы можете достичь этого, используя следующие параметры в скрипте настройки GCC:
--with-as=/usr/ccs/bin/as \
--without-gnu-as \
--without-gnu-ld \
--with-ld=/usr/ccs/bin/ld \
Результирующая сборка GCC сгенерирует правильно выровненный код и позволит вам успешно построить Erlang.