Мне нужен компилятор workin g77 на моем 64-битном ноутбуке Ubuntu 12.04. также было сделано следующее:
deb http ... hu.archive.ubuntu.com / Ubuntu / Hardy Universe
blockquote>
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. Пожалуйста, помогите мне! Спасибо начинающему убунту
Я имел ту же проблему, с ТОЙ ЖЕ СИСТЕМОЙ сегодня и РЕШИЛ. Это может служить для Вас.
Если Вы - эксперт, можно перейти в конец для 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 за альтернативу с открытым исходным кодом. И это работает!
Попробуйте установить fort77 (sudo apt-get install fort77), который также устанавливает f2c. Используйте f77, который вызывает переводчик f2c для компиляции / ссылки. Удачи.