5 votos

Error del compilador de GFortran en Mac OS Big Sur

Estoy intentando compilar un programa hello world en fortran en Mac OS Big Sur. Antes de actualizar todo funcionaba bien.

Compilo con esta línea:

~ % gfortran hw.f90
--> ld: library not found for -lSystem
    collect2: error: ld returned 1 exit status

He instalado gnu gfortran y gcc antes de actualizar. Salida del comando de versión:

~ % gfortran --version
--> GNU Fortran (Homebrew GCC 10.2.0) 10.2.0
    Copyright (C) 2020 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

~ % gcc --version
--> Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/4.2.1
    Apple clang version 12.0.0 (clang-1200.0.32.28)
    Target: x86_64-apple-darwin20.2.0
    Thread model: posix
    InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

Salida de qué comando:

~ % which gfortran
--> /usr/local/bin/gfortran

~ % which gcc     
--> /usr/bin/gcc

0 votos

0 votos

Ver las listas de correo de macports lists.macports.org/pipermail/macports-users/2020-December/

5voto

Jan12 Puntos 1

He podido solucionar el problema con la ayuda de los dos siguientes posts:

El problema es que tras la actualización la librería System ya no está en las rutas de búsqueda del gcc. Lo he solucionado añadiéndola manualmente al zprofile, de forma que cada vez que ejecute el Terminal, la variable $LIBRARY_PATH se ponga en marcha.

Para solucionar este problema

Editar archivo /private/etc/zprofile

Añade esto al final del archivo:

if [ -z "${LIBRARY_PATH}" ]; then
    export LIBRARY_PATH="/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib"
else
    export LIBRARY_PATH="$LIBRARY_PATH:/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib"
fi

Reiniciar el terminal

0 votos

¿Impresión tipográfica? Necesita un $LIBRARY_PATH ¿en la 4ª línea?

0 votos

Sí. No me di cuenta ya que está vacío para mí.

0 votos

Es posible que tenga que sudo chmod 666 /private/etc/zprofile para que el archivo sea escribible.

4voto

Nigu Puntos 121

La respuesta de @Jan12 no me ha funcionado.

En su lugar, brew uninstall gfortran seguido de brew install gcc lo hizo por mí. Supongo que el gcc instalación hace un mejor trabajo en la fijación de los caminos, pero no se molestó en comprobar con más detalle.

1 votos

Esta simple respuesta funcionó para mí a partir de Big Sur Ver.11.2.3. Tenga en cuenta que era necesario instalar las herramientas de línea de comandos de Apple de antemano mediante la ejecución de xcode-select --install (si no brew install gcc fallaría).

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X