Как установить компилятор GNU Fortran 77 или g77 на Ubuntu 14.04
У меня есть библиотека, которая нуждается в компиляторе G77.
Я нашел несколько методов в Интернете; но каждый потерпел неудачу. Вот краткое изложение двух моих усилий:
1) Я скачал пакеты, распаковал их и $ sudo./install.sh
Selecting previously unselected package gcc-3.4-base.
(Reading database ... 182226 files and directories currently installed.)
Preparing to unpack gcc-3.4-base_3.4.6-6ubuntu3_i386.deb ...
Unpacking gcc-3.4-base (3.4.6-6ubuntu3) ...
Selecting previously unselected package cpp-3.4.
Preparing to unpack cpp-3.4_3.4.6-6ubuntu3_i386.deb ...
Unpacking cpp-3.4 (3.4.6-6ubuntu3) ...
Selecting previously unselected package gcc-3.4.
Preparing to unpack gcc-3.4_3.4.6-6ubuntu3_i386.deb ...
Unpacking gcc-3.4 (3.4.6-6ubuntu3) ...
dpkg: warning: downgrading libg2c0 from 1:3.4.6-6ubuntu5 to 1:3.4.6-6ubuntu3
Preparing to unpack libg2c0_3.4.6-6ubuntu3_i386.deb ...
Unpacking libg2c0 (1:3.4.6-6ubuntu3) over (1:3.4.6-6ubuntu5) ...
Selecting previously unselected package libg2c0-dev.
Preparing to unpack libg2c0-dev_3.4.6-6ubuntu3_i386.deb ...
Unpacking libg2c0-dev (1:3.4.6-6ubuntu3) ...
Selecting previously unselected package g77-3.4.
Preparing to unpack g77-3.4_3.4.6-6ubuntu3_i386.deb ...
Unpacking g77-3.4 (3.4.6-6ubuntu3) ...
Setting up gcc-3.4-base (3.4.6-6ubuntu3) ...
Setting up cpp-3.4 (3.4.6-6ubuntu3) ...
dpkg: dependency problems prevent configuration of gcc-3.4:
gcc-3.4 depends on binutils (>= 2.16.1-3).
dpkg: error processing package gcc-3.4 (--install):
dependency problems - leaving unconfigured
Setting up libg2c0 (1:3.4.6-6ubuntu3) ...
Setting up libg2c0-dev (1:3.4.6-6ubuntu3) ...
dpkg: dependency problems prevent configuration of g77-3.4:
g77-3.4 depends on gcc-3.4 (= 3.4.6-6ubuntu3); however:
Package gcc-3.4 is not configured yet.
dpkg: error processing package g77-3.4 (--install):
dependency problems - leaving unconfigured
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Processing triggers for libc-bin (2.19-0ubuntu6.3) ...
Errors were encountered while processing:
gcc-3.4
g77-3.4
2) Я изменил файл sources.list, как описано в ( http://seanelvidge.com/2012/08/install-g77-on-ubuntu-9-04/), а затем не смог найти g77 после " sudo apt-get update "работает нормально.
$ sudo apt-get install g77
Reading package lists… Done
Building dependency tree
Reading state information… Done
Package g77 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
Некоторая помощь будет оценена.
2 ответа
Я сделал следующее: 1) Скачал g77 для 64 бит отсюда http://www.ziddu.com/download/16792814/g77_x64_debian_and_ubuntu.tar.gz.html
2) Затем сделал следующее:
tar -xzvf g77_x64_debian_and_ubuntu.tar.gz
cd g77_x64_debian_and_ubuntu
chmod +x ./install.sh
./install.sh
(ответ адаптирован из аскубунту)
ОП связался с моим постом в блоге по установке g77, который больше не работает. Однако я написал новый для версий Ubuntu >=14.04
Для более подробной информации смотрите мою ссылку, но основной обзор:
Добавьте репозиторий Ubuntu 8.04. Сделайте это, отредактировав sources.list:
sudo gedit /etc/apt/sources.list
Затем в конец этого файла добавьте:
deb [trusted=yes] http://old-releases.ubuntu.com/ubuntu/ hardy universe
deb-src [trusted=yes] http://old-releases.ubuntu.com/ubuntu/ hardy universe
deb [trusted=yes] http://old-releases.ubuntu.com/ubuntu/ hardy-updates universe
deb-src [trusted=yes] http://old-releases.ubuntu.com/ubuntu/ hardy-updates universe
Затем запустите обновление и установите g77:
sudo apt update
sudo apt install g77
Возможно, вам повезет, и G77 может работать на вас сразу. Скорее всего, вы получите сообщение об ошибке, что-то вроде:
/usr/bin/ld: cannot find -lgcc_s
collect2: ld returned 1 exit status
Это означает, что ld не может найти библиотеку (libgcc_s). Найдите библиотеку самостоятельно, проверьте, где находится ld, и поместите туда ссылку:
sudo find /usr/ -name libgcc_s.so
ld -lgcc_s --verbose
sudo ln -s /usr/lib/gcc/x86_64-linux-gnu/4.8/libgcc_s.so /usr/lib/x86_64-linux-gnu/
(вам может потребоваться изменить цель и ссылку в команде link в зависимости от возврата из команд find и ld)
Теперь тебе должно быть хорошо идти. Я бы закомментировал строки, которые вы добавили в файл sources.list в конце. Для получения полной информации проверьте мою веб-страницу.