Я работаю над проектом, в котором пакет используется для печати в R. Когда я пытался установить plotly, hexbin (зависимость) не компилировалась, потому что не могла найти библиотеки gfortran .so. Я уже установил gfortran (gcc64-gfortran.x86_64), но файлы .so не устанавливаются или не обнаруживаются с помощью ld . Вот соответствующая часть журнала:

$ R
> install.packages("hexbin", repos = "http://cran.rstudio.com/")
Installing package into ‘/home/ec2-user/R/x86_64-redhat-linux-gnu-library/3.4’

...

gcc -m64 -std=gnu99 -shared -L/usr/lib64/R/lib -L/usr/local/lib64 -o hexbin.so hbin.o hcell.o herode.o hsm.o reg.o -lgfortran -lm -lquadmath - L/usr/lib64/R/lib -lR
/usr/bin/ld: cannot find -lgfortran
/usr/bin/ld: cannot find -lquadmath
collect2: error: ld returned 1 exit status

Запуск ld -lgfortran --verbose дает мне это:

...

==================================================
attempt to open /usr/x86_64-amazon-linux/lib64/libgfortran.so failed
attempt to open /usr/x86_64-amazon-linux/lib64/libgfortran.a failed
attempt to open /usr/lib64/libgfortran.so failed
attempt to open /usr/lib64/libgfortran.a failed
attempt to open /usr/local/lib64/libgfortran.so failed
attempt to open /usr/local/lib64/libgfortran.a failed
attempt to open /lib64/libgfortran.so failed
attempt to open /lib64/libgfortran.a failed
attempt to open /usr/x86_64-amazon-linux/lib/libgfortran.so failed
attempt to open /usr/x86_64-amazon-linux/lib/libgfortran.a failed
attempt to open /usr/local/lib/libgfortran.so failed
attempt to open /usr/local/lib/libgfortran.a failed
attempt to open /lib/libgfortran.so failed
attempt to open /lib/libgfortran.a failed
attempt to open /usr/lib/libgfortran.so failed 
attempt to open /usr/lib/libgfortran.a failed
ld: cannot find -lgfortran

yum info gcc64-gfortran.x86_64 говорит, что я установил gfortran на версии 6.4.1 от amzn-main.

2 ответа2

1

У меня была такая же проблема со стандартным экземпляром AWS Linux.
Я должен был связать оба, gfortran и quadmath:

sudo ln -s /usr/lib/gcc/x86_64-amazon-linux/6.4.1/libquadmath.so /usr/lib/libquadmath.so
0

Я нашел проблему. Когда я искал файл .so fortran, я неправильно использовал команду find . Я использовал find / -file gfortran.so вместо find / -file *gfortran* . Я просто связал его с sudo ln -s /usr/lib/gcc/x86_64-amazon-linux/6.4.1/libgfortran.so /usr/lib/libgfortran.so , и теперь ссылка разрешена.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .