Estoy tratando de instalar un paquete en R (paquete "ks"). Falla con el mensaje de error:
/usr/bin/ld: cannot find -lgfortran
Ya he instalado el paquete de Ubuntu build-essential:
sudo apt-get install build-essential
También he intentado agregar enlaces simbólicos:
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
Uso gcc y g ++ regularmente, pero aún no he tenido motivos para usar gfortran.
He visto a otros con este problema en gcc-4.7 ( http://ubuntuforums.org/showthread.php?t=2123821 ), así que me pregunto si esto se debe a la instalación manual de gcc-4.7. Seguí la receta de la respuesta aceptada aquí y aquí .
Ejecutando lsb_release -a
impresiones
Ubuntu 12.04.2 LTS
y corriendo uname -r
impresiones
3.2.0-39-generico-pae
¿Alguien puede ofrecer consejos sobre por qué ld
no funciona?
Respuestas:
Necesitas instalar gfortran. El error señala que falta la biblioteca estática para la vinculación en tiempo de compilación, no las bibliotecas dinámicas que intentó ajustar.
fuente
sudo apt-get install gfortran
, me sale0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
... ¿Alguna idea?dpkg -S /usr/lib/gcc/x86)64-linux-gnu/4.6/libgfortran.a
la respuesta de que esto es delgfortran-4.6
paquete. Gcc está buscando el archivo .a. Si instaló otra versión de gcc, el enlazador está buscando dentro de un directorio con un nombre similar para libgfortran.a.-L
(que es en gran medida igual). Si esto falla, necesita instalar la versión 4.7 de gfortran desde el ppa que usó para gcc 4.7. ¿Qué versión de gfortran tienes ahora?Un poco más de explicación a la respuesta de Cloud Oliver.
Descubra la versión de gcc que se utiliza actualmente con este comando.
La entrada con
*
indica qué versión de GCC se está utilizando. Simplemente presione Intro para mantener la configuración actual.Si imprime "no hay alternativas para gcc", es posible que deba usar este comando para averiguar la versión:
cd
al directorio gcc correcto (reemplace el número de versión con el suyo):Puede buscar
libgfortran.a
con el siguiente comando (opcional). En mi caso estaba presente en el/usr/lib/gcc/x86_64-linux-gnu/4.8/
directorio.Crea el enlace simbólico:
fuente
Lo que hice, verifiqué en ubuntu si las versiones de g ++, gcc y g son las mismas o no.
Supongo que es mejor si tienes los tres de la misma versión.
Para mí, esto resolvió todos los problemas que enfrentaba al instalar el paquete "TTR" en R usando RStudio en Ubuntu.
fuente
Solución:
fuente
cd
línea separada al menos?cd /usr/lib/gcc/x86_64-linux-gnu/4.9.3
y luegosudo ln -s /usr/lib/gcc/x86_64-linux-gnu/4.8/libgfortran.a libgfortran.a