g77 с Ubuntu 14.04 LTS
Я работаю с правительственной программой, написанной на Фортране 77, и для настройки и компиляции исходного кода требуется g77. Я понимаю, что g77 был выведен из эксплуатации и заменен новыми компиляторами, но моя точка соприкосновения с правительством и я обнаружил, что новые компиляторы в GCC выдают многочисленные ошибки, когда мы пытаемся скомпилировать эту программу.
Я попробовал инструкции, которые были доступны в ранее опубликованном вопросе для Ubuntu 12, где в файл sources.list добавлены страницы Hardy Ubuntu, и он должен быть доступен. Однако, как видно из приведенного ниже вывода, это не удалось. Я пытался найти другие источники g77, но ничего не произошло.
Я попытался установить более ранние версии Linux на этот и другие компьютеры, но обнаружил, что в загруженных версиях отсутствуют ключевые функции и их невозможно установить. Пожалуйста, дайте подробный ответ, так как я не очень разбираюсь в Linux.
sudo apt-get update
Ign http:// us.archive.ubuntu.com trusty InRelease
Ign http:// security.ubuntu.com trusty-security InRelease
Ign http:// us.archive.ubuntu.com trusty-updates InRelease
Get:1 http:// security.ubuntu.com trusty-security Release.gpg [933 B]
Ign http:// extras.ubuntu.com trusty InRelease
Ign http:// us.archive.ubuntu.com trusty-backports InRelease
Get:2 http:// security.ubuntu.com trusty-security Release [62.0 kB]
Hit http:// us.archive.ubuntu.com trusty Release.gpg
Get:3 http:// extras.ubuntu.com trusty Release.gpg [72 B]
Get:4 http:// us.archive.ubuntu.com trusty-updates Release.gpg [933 B]
Ign http:// hu.archive.ubuntu.com hardy InRelease
Hit http:// extras.ubuntu.com trusty Release
Get:5 http:// us.archive.ubuntu.com trusty-backports Release.gpg [933 B]
Get:6 http:// security.ubuntu.com trusty-security/main Sources [71.5 kB]
Hit http:// us.archive.ubuntu.com trusty Release
Hit http:// extras.ubuntu.com trusty/main Sources
Ign http:// hu.archive.ubuntu.com hardy-updates InRelease
Get:7 http:// us.archive.ubuntu.com trusty-updates Release [62.0 kB]
Get:8 http:// security.ubuntu.com trusty-security/restricted Sources [2,061 B]
Hit http:// extras.ubuntu.com trusty/main amd64 Packages
Get:9 http:// security.ubuntu.com trusty-security/universe Sources [17.9 kB]
Ign http:// hu.archive.ubuntu.com hardy Release.gpg
Get:10 http:// security.ubuntu.com trusty-security/multiverse Sources [1,896 B]
Hit http:// extras.ubuntu.com trusty/main i386 Packages
Get:11 http:// security.ubuntu.com trusty-security/main amd64 Packages [220 kB]
Get:12 http:// us.archive.ubuntu.com trusty-backports Release [62.0 kB]
Ign http:// hu.archive.ubuntu.com hardy-updates Release.gpg
Ign http:// hu.archive.ubuntu.com hardy Release
Get:13 http:// security.ubuntu.com trusty-security/restricted amd64 Packages [8,875 B]
Hit http:// us.archive.ubuntu.com trusty/main Sources
Get:14 http:// security.ubuntu.com trusty-security/universe amd64 Packages [87.7 kB]
Ign http:// hu.archive.ubuntu.com hardy-updates Release
Hit http:// us.archive.ubuntu.com trusty/restricted Sources
Hit http:// us.archive.ubuntu.com trusty/universe Sources
Get:15 http:// security.ubuntu.com trusty-security/multiverse amd64 Packages [3,458 B]
Hit http:// us.archive.ubuntu.com trusty/multiverse Sources
Get:16 http:// security.ubuntu.com trusty-security/main i386 Packages [210 kB]
Hit http:// us.archive.ubuntu.com trusty/main amd64 Packages
Hit http:// us.archive.ubuntu.com trusty/restricted amd64 Packages
Hit http:// us.archive.ubuntu.com trusty/universe amd64 Packages
Hit http:// us.archive.ubuntu.com trusty/multiverse amd64 Packages
Get:17 http:// security.ubuntu.com trusty-security/restricted i386 Packages [8,846 B]
Hit http:// us.archive.ubuntu.com trusty/main i386 Packages
Get:18 http:// security.ubuntu.com trusty-security/universe i386 Packages [87.7 kB]
Hit http:// us.archive.ubuntu.com trusty/restricted i386 Packages
Ign http:// extras.ubuntu.com trusty/main Translation-en_US
Get:19 http:// security.ubuntu.com trusty-security/multiverse i386 Packages [3,624 B]
Ign http:// extras.ubuntu.com trusty/main Translation-en
Get:20 http:// security.ubuntu.com trusty-security/main Translation-en [113 kB]
Hit http:// us.archive.ubuntu.com trusty/universe i386 Packages
Hit http:// us.archive.ubuntu.com trusty/multiverse i386 Packages
Hit http:// security.ubuntu.com trusty-security/multiverse Translation-en
Hit http:// security.ubuntu.com trusty-security/restricted Translation-en
Hit http:// us.archive.ubuntu.com trusty/main Translation-en
Get:21 http:// security.ubuntu.com trusty-security/universe Translation-en [48.5 kB]
Hit http:// us.archive.ubuntu.com trusty/multiverse Translation-en
Hit http:// us.archive.ubuntu.com trusty/restricted Translation-en
Hit http:// us.archive.ubuntu.com trusty/universe Translation-en
Get:22 http:// us.archive.ubuntu.com trusty-updates/main Sources [181 kB]
Get:23 http:// us.archive.ubuntu.com trusty-updates/restricted Sources [2,061 B]
Get:24 http:// us.archive.ubuntu.com trusty-updates/universe Sources [105 kB]
Get:25 http:// us.archive.ubuntu.com trusty-updates/multiverse Sources [4,463 B]
Get:26 http:// us.archive.ubuntu.com trusty-updates/main amd64 Packages [446 kB]
Get:27 http:// us.archive.ubuntu.com trusty-updates/restricted amd64 Packages [8,875 B]
Get:28 http:// us.archive.ubuntu.com trusty-updates/universe amd64 Packages [254 kB]
Get:29 http:// us.archive.ubuntu.com trusty-updates/multiverse amd64 Packages [11.2 kB]
Get:30 http:// us.archive.ubuntu.com trusty-updates/main i386 Packages [436 kB]
Get:31 http:// us.archive.ubuntu.com trusty-updates/restricted i386 Packages [8,846 B]
Get:32 http:// us.archive.ubuntu.com trusty-updates/universe i386 Packages [255 kB]
Get:33 http:// us.archive.ubuntu.com trusty-updates/multiverse i386 Packages [11.3 kB]
Get:34 http:// us.archive.ubuntu.com trusty-updates/main Translation-en [213 kB]
Err http:// hu.archive.ubuntu.com hardy/universe Sources
404 Not Found [IP: 148.6.0.24 80]
Err http:// hu.archive.ubuntu.com hardy/universe amd64 Packages
404 Not Found [IP: 148.6.0.24 80]
Err http:// hu.archive.ubuntu.com hardy/universe i386 Packages
404 Not Found [IP: 148.6.0.24 80]
Ign http:// hu.archive.ubuntu.com hardy/universe Translation-en_US
Hit http:// us.archive.ubuntu.com trusty-updates/multiverse Translation-en
Hit http:// us.archive.ubuntu.com trusty-updates/restricted Translation-en
Get:35 http:// us.archive.ubuntu.com trusty-updates/universe Translation-en [131 kB]
Ign http:// hu.archive.ubuntu.com hardy/universe Translation-en
Get:36 http:// us.archive.ubuntu.com trusty-backports/main Sources [5,298 B]
Err http:// hu.archive.ubuntu.com hardy-updates/universe Sources
404 Not Found [IP: 148.6.0.24 80]
Get:37 http://us.archive.ubuntu.com trusty-backports/restricted Sources [28 B]
Get:38 http:// us.archive.ubuntu.com trusty-backports/universe Sources [20.7 kB]
Err http:// hu.archive.ubuntu.com hardy-updates/universe amd64 Packages
404 Not Found [IP: 148.6.0.24 80]
Get:39 http:// us.archive.ubuntu.com trusty-backports/multiverse Sources [1,898 B]
Get:40 http:// us.archive.ubuntu.com trusty-backports/main amd64 Packages [5,536 B]
Get:41 http:// us.archive.ubuntu.com trusty-backports/restricted amd64 Packages [28 B]
Err http:// hu.archive.ubuntu.com hardy-updates/universe i386 Packages
404 Not Found [IP: 148.6.0.24 80]
Get:42 http:// us.archive.ubuntu.com trusty-backports/universe amd64 Packages [24.4 kB]
Get:43 http:// us.archive.ubuntu.com trusty-backports/multiverse amd64 Packages [1,245 B]
Ign http:// hu.archive.ubuntu.com hardy-updates/universe Translation-en_US
Get:44 http:// us.archive.ubuntu.com trusty-backports/main i386 Packages [5,550 B]
Get:45 http:// us.archive.ubuntu.com trusty-backports/restricted i386 Packages [28 B]
Ign http:// hu.archive.ubuntu.com hardy-updates/universe Translation-en
Get:46 http:// us.archive.ubuntu.com trusty-backports/universe i386 Packages [24.5 kB]
Get:47 http:// us.archive.ubuntu.com trusty-backports/multiverse i386 Packages [1,249 B]
Get:48 http:// us.archive.ubuntu.com trusty-backports/main Translation-en [3,233 B]
Hit http:// us.archive.ubuntu.com trusty-backports/multiverse Translation-en
Hit http:// us.archive.ubuntu.com trusty-backports/restricted Translation-en
Get:49 http:// us.archive.ubuntu.com trusty-backports/universe Translation-en [22.7 kB]
Ign http:// us.archive.ubuntu.com trusty/main Translation-en_US
Ign http:// us.archive.ubuntu.com trusty/multiverse Translation-en_US
Ign http:// us.archive.ubuntu.com trusty/restricted Translation-en_US
Ign http:// us.archive.ubuntu.com trusty/universe Translation-en_US
Fetched 3,258 kB in 11s (275 kB/s)
W: Failed to fetch http:// hu.archive.ubuntu.com/ubuntu/dists/hardy/universe/source/Sources 404 Not Found [IP: 148.6.0.24 80]
W: Failed to fetch http:// hu.archive.ubuntu.com/ubuntu/dists/hardy/universe/binary-amd64/Packages 404 Not Found [IP: 148.6.0.24 80]
W: Failed to fetch http:// hu.archive.ubuntu.com/ubuntu/dists/hardy/universe/binary-i386/Packages 404 Not Found [IP: 148.6.0.24 80]
W: Failed to fetch http:// hu.archive.ubuntu.com/ubuntu/dists/hardy-updates/universe/source/Sources 404 Not Found [IP: 148.6.0.24 80]
W: Failed to fetch http:// hu.archive.ubuntu.com/ubuntu/dists/hardy-updates/universe/binary-amd64/Packages 404 Not Found [IP: 148.6.0.24 80]
W: Failed to fetch http:// hu.archive.ubuntu.com/ubuntu/dists/hardy-updates/universe/binary-i386/Packages 404 Not Found [IP: 148.6.0.24 80]
E: Some index files failed to download. They have been ignored, or old ones used instead.
:~$ 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
E: Package 'g77' has no installation candidate
:~$ which g77
:~$ dir
1 ответ
Я тоже работаю со старыми программами F77! У gfortran есть флаги, которые вы можете установить, чтобы указать, что вы используете / компилируете старый код. Они помогают, но не идеальны. Вы также можете скомпилировать с опциями отладки.
Вы можете прочитать страницу руководства для gfortran, чтобы получить больше информации. -ff2c Генерирует код, разработанный для совместимости с кодом, сгенерированным g77 и f2c. -g устанавливает отладку, чтобы вы могли использовать GDB позже
gfortran -ff2c -g foo.f -o foo
вот отличное руководство по отладке на фортране http://infohost.nmt.edu/tcc/help/lang/fortran/gdbcompile.html
его написали для более старых систем, но я думаю, что это понятно.