как установить g77 на Ubuntu 12.04

Мне нужен компилятор workin g77 на моем 64-битном ноутбуке Ubuntu 12.04. также было сделано следующее:

  1. Я изменил sources.list, добавив следующие строки:

deb http ... hu.archive.ubuntu.com / Ubuntu / Hardy Universe
deb-src ..//hu.archive.ubuntu.com/ubuntu/ Hardy Universe
deb http: ... hu.archive.ubuntu.com/ Ubuntu / Hardy-updates Universe
deb-src ..//hu.archive.ubuntu.com/ubuntu/ Hardy-updates Universe

[ 116]
2. затем я на терминале сделал следующее:

sudo apt-get update
sudo apt-get install g77

Тогда все выглядело очень хорошо. Но когда я попытался скомпилировать с g77 на моей программе Fortran77. Я получил следующие ошибки:

/usr/bin/ld: cannot find crt1.o: No such file or directory
/usr/bin/ld: cannot find crti.o: No such file or directory
/usr/bin/ld: cannot find -lgcc_s
collect2: ld returned 1 exit status


3. Почему g77 не работает должным образом. Многим нужен g77, почему Ubuntu не может предложить работоспособный g77?


4. Пожалуйста, помогите мне! Спасибо начинающему убунту

0
задан 1 November 2012 в 01:36

2 ответа

Я имел ту же проблему, с ТОЙ ЖЕ СИСТЕМОЙ сегодня и РЕШИЛ. Это может служить для Вас.

Если Вы - эксперт, можно перейти в конец для 3 решений для строки или следовать за моим путем,

это было:
1)
$ определяют местоположение crt1.o
/usr/lib/x86_64-linux-gnu/Mcrt1.o
/usr/lib/x86_64-linux-gnu/Scrt1.o
/usr/lib/x86_64-linux-gnu/crt1.o
/usr/lib/x86_64-linux-gnu/gcrt1.o
/usr/lib32/Mcrt1.o
/usr/lib32/Scrt1.o
/usr/lib32/crt1.o
/usr/lib32/gcrt1.o

Поскольку я использую x86_64, просто скопированный "/usr/lib/x86_64-linux-gnu /"

2)
$ определяют местоположение crti.o
/usr/lib/x86_64-linux-gnu/crti.o
/usr/lib32/crti.o

Это совпало с выше, таким образом, ничто нового.

3a)
$ определяют местоположение lgcc_s
Ничего

паника...

Но, я попробовал:

3b)
$ определяют местоположение gcc_s
/lib/i386-linux-gnu/libgcc_s.so.1
/lib/x86_64-linux-gnu/libgcc_s.so.1
/usr/lib/gcc/x86_64-linux-gnu/4.4/libgcc_s.so
/usr/lib/gcc/x86_64-linux-gnu/4.6/libgcc_s.so
/usr/lib/gcc/x86_64-linux-gnu/4.6/libgcc_s_32.so
/usr/lib/gcc/x86_64-linux-gnu/4.6/32/libgcc_s.so
/usr/lib32/libgcc_s.so.1
/usr/libexec/autopackage/libgcc_s.so.1

Теперь, я просто выбираю более старую версию, 4.4, поэтому просто скопированный "/usr/lib/gcc/x86_64-linux-gnu/4.4 /"

Рассматриваемое программное обеспечение было в make-файле. Openned тот и измененный:

(от) FFLAGS =-g-o2

(к) FFLAGS =-g-o2-B/usr/lib/x86_64-linux-gnu/-B/usr/lib/gcc/x86_64-linux-gnu/4.4/

Быть простым: Я просто добавляю-B для каждого пути, который я скопировал

Если Вы используете g77 прямое в терминале, может быть:

$ g77 (...)-B/usr/lib/x86_64-linux-gnu/-B/usr/lib/gcc/x86_64-linux-gnu/4.4/(...)

Эксперт:

1) Используйте определение местоположение для нахождения пути crt1.o, crti.o и-lgcc_s (поиск gcc_s);
2) Скопируйте пути для своего дистрибутива/биты;
3) Добавьте "-B path_1" "-B path_2" (где path_i являются путями выше) в Вашем вызове компиляции g77.

Править
cogitoergosum,
В моем случае программное обеспечение ОЧЕНЬ старо и fort77, gfortran, и f77 дал тонны проблем. Я сначала успешно скомпилировал с ifort (компилятор Intel Fortran). Но я попробовал g77 за альтернативу с открытым исходным кодом. И это работает!

1
ответ дан 1 November 2012 в 01:36

Попробуйте установить fort77 (sudo apt-get install fort77), который также устанавливает f2c. Используйте f77, который вызывает переводчик f2c для компиляции / ссылки. Удачи.

0
ответ дан 1 November 2012 в 01:36

Другие вопросы по тегам:

Похожие вопросы: