Я пытаюсь установить пакет в R (пакет "ks"). Сбой с сообщением об ошибке:
/usr/bin/ld: cannot find -lgfortran
Я уже установил пакет сборки Ubuntu:
sudo apt-get install build-essential
Я также попытался добавить символические ссылки:
sudo ln -s /usr/lib/x86_64-linux-gnu/libgfortran.so.3 /usr/lib/libgfortran.so
sudo ln -s /usr/lib/libgfortran.so.3.0.0 /usr/lib/libgfortran.so
sudo ldconfig
Я регулярно использую gcc и g ++, но у меня еще не было причин использовать gfortran.
Я видел других с этой проблемой на gcc-4.7 ( http://ubuntuforums.org/showthread.php?t=2123821 ), поэтому мне интересно, если это из-за ручной установки gcc-4.7. Я следовал рецепту из принятого ответа здесь и здесь, здесь .
Бегущие lsb_release -a
отпечатки
Ubuntu 12.04.2 LTS
и бегущие uname -r
отпечатки
3.2.0-39-родовой-пай
Может кто-нибудь дать совет, почему ld
не работает?
Ответы:
Вам необходимо установить gfortran. Ошибка указывает на то, что отсутствует статическая библиотека для компоновки во время сборки, а не динамические библиотеки, которые вы пытались настроить.
источник
sudo apt-get install gfortran
, я получаю0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
... Есть мысли?dpkg -S /usr/lib/gcc/x86)64-linux-gnu/4.6/libgfortran.a
ответ, что это изgfortran-4.6
пакета. Gcc ищет файл .a. Если вы установили другую версию gcc, компоновщик ищет в каталоге с аналогичным именем libgfortran.a.-L
(что в значительной степени совпадает). Если это не поможет, вам нужно установить версию gfortran 4.7 из ppa, который вы использовали для gcc 4.7. Какая версия Gfortran у вас сейчас?Еще немного объяснения к ответу Облака Оливера.
Узнайте версию gcc, которая в данный момент используется этой командой.
Запись с
*
указывает, какая версия GCC используется. Просто нажмите Enter, чтобы сохранить текущие настройки.Если он выводит «нет альтернатив для gcc», возможно, вам придется использовать эту команду, чтобы узнать версию:
cd
в правильный каталог gcc (замените номер версии на ваш):Вы можете искать
libgfortran.a
с помощью следующей команды (необязательно). В моем случае это было в/usr/lib/gcc/x86_64-linux-gnu/4.8/
каталоге.Создайте символическую ссылку:
источник
Что я сделал, я проверил в Ubuntu, совпадают ли версии g ++, gcc и g.
Я думаю, что лучше, если у вас есть все три одинаковой версии.
Для меня это решило все проблемы, с которыми я столкнулся при установке пакета "TTR" в R с использованием RStudio в Ubuntu.
источник
Решение:
источник
cd
строкой хотя бы?cd /usr/lib/gcc/x86_64-linux-gnu/4.9.3
и тогдаsudo ln -s /usr/lib/gcc/x86_64-linux-gnu/4.8/libgfortran.a libgfortran.a