gcc 4.7 на Fedora 23 с gcc 5.3.1

Мне нужно установить gcc 4.7.x на мою Fedora 23, чтобы Matlab скомпилировал код. Я также столкнулся с ошибкой, когда пытался использовать Cuda, для которого требовался gcc 4.9.x или ниже.

Я попытался скомпилировать gcc-4.7.4 с нуля, но получаю следующие ошибки:

Makefile:4107: recipe for target 'all-stage1-gcc' failed
make[2]: *** [all-stage1-gcc] Error 2
make[2]: Leaving directory '/home/x/src/objdir'
Makefile:19334: recipe for target 'stage1-bubble' failed
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory '/home/x/src/objdir'
Makefile:903: recipe for target 'all' failed
make: *** [all] Error 2

Я создал отдельный каталог для настройки и сборки и запустил конфигурацию как:

../gcc-4.7.4/configure --enable-languages=c,c++ --disable-multilib --prefix=$HOME/gcc-4.7.4

Однако я думаю, что проблема возникает из-за того, что я использую gcc-5.3.1 для компиляции gcc-4.7.4, но я понятия не имею, как это исправить.

Я заметил, что в dnf нет доступных пакетов для установки gcc-4.7.x.


person user3178756    schedule 03.06.2016    source источник


Ответы (2)


Похоже, вы поместили свой каталог сборки в исходное дерево. Не делай этого. Следуйте инструкциям вики.

не запускайте ./configure из исходного каталога, это не поддерживается. Вам нужно запустить configure из-за пределов исходного каталога, в отдельном каталоге, созданном для сборки.

Это будет выглядеть примерно так:

tar xzf gcc-4.7.4.tar.gz
cd gcc-4.7.4
./contrib/download_prerequisites
cd ..
mkdir objdir
cd objdir
$PWD/../gcc-4.7.4/configure --no-multilib --prefix=$HOME/gcc-4.7.4 --enable-languages=c,c++
make
make install
person uh oh somebody needs a pupper    schedule 03.06.2016
comment
Я сделал то же самое, но я получаю ту же ошибку. - person user3178756; 03.06.2016

Этот вопрос немного устарел, но исправление gcc/cp/cfns.gperf помогло мне. См. здесь: https://gist.github.com/joka90/bb8ef36aa755994d3b3d/. Создан с использованием gcc 5.3.1 под Fedora 23.

#Download and apply fix to be able to build gcc 4.7 with gcc 5.1
cd /path/to/build/gcc/source
wget https://patchwork.ozlabs.org/patch/504982/raw/ -O cfns-fix-mismatch-in-gnu_inline-attributes.patch
patch -p1 -i cfns-fix-mismatch-in-gnu_inline-attributes.patch 
person CatThatKilledCuriosity    schedule 09.10.2016
comment
Ссылки, как правило, со временем ломаются. Может быть, было бы хорошо, если бы вы сохранили ссылку, но скопировали и вставили соответствующие части в свой ответ. (В данном конкретном случае может и все?) Спасибо - person lrnzcig; 09.10.2016