Получение gfortran 10 из Fedora 31

#fedora #gfortran

#fedora #gfortran

Вопрос:

Я попытался установить gfortran 10 из Fedora 31. Следуйте https://fortran-lang.org/learn/os_setup/install_gfortran
sudo dnf install gcc-gfortran ведет к gfortran 9

Я попытался загрузить с https://fedora.pkgs.org/33/fedora-x86_64/gcc-gfortran-10.2.1-3.fc33.x86_64.rpm.html ссылка на скачивание файла ведет Failed to install file, not supported из графического интерфейса:(

или bash: ./gcc-gfortran-10.2.1-9.fc33.x86_64.rpm: cannot execute binary file: Exec format error из терминала с root.

Есть ли какой-либо способ установить gfortran-10 из Fedora?

Спасибо!

Ответ №1:

Конечно, вы всегда можете скомпилировать GCC из исходного кода, это не так сложно, и скрипт для получения предварительных условий включен ( ./contrib/download_prerequisites ).

Самый простой способ — загрузить один из снимков https://gcc.gnu.org/snapshots.html и следуйте инструкциям. Вам даже не нужно иметь права администратора, вы можете сделать это конфиденциально в своем домашнем каталоге.


Проверьте, существует ли репозиторий с дополнительными версиями GCC для вашего дистрибутива. Например, на моем openSUSE у меня есть пакеты для GCC 7, 8, 9, 10 и 11. И они могут быть установлены одновременно.


Что касается:

 bash: ./gcc-gfortran-10.2.1-9.fc33.x86_64.rpm: cannot execute binary file: Exec format error
 

Вы не можете запустить rpm-файл в bash, вы должны установить его с помощью rpm -i или с помощью вашего менеджера пакетов более высокого уровня.

Комментарии:

1. Сборка gcc-10.x.x из исходного кода drive.google.com/file/d/1zIwm4j1obAPYbQqva9LDNMrvCpR39sgu /…

Ответ №2:

Загруженный вами файл является пакетом RPM, а не исполняемым файлом. Обычно вы устанавливаете его dnf install ./gcc-gfortran-10.2.1-9.fc33.x86_64.rpm из командной строки. Однако этот пакет предназначен для Fedora Linux 33, а вы используете 31. Иногда это работает, но обычно установка пакетов из новых выпусков в более старые версии не поддерживается.

Если по какой-либо причине вы не можете перейти на Fedora Linux 33 для всей вашей системы, одним из подходов является использование утилиты toolbox для создания контейнерного рабочего пространства с использованием образа контейнера F33. Затем вы можете установить в него нужную версию gfortran (с dnf install gcc-gfortran помощью).

Вы также можете использовать F34 (выйдет завтра), но обратите внимание, что у него есть gcc 11.