Compilando Scotch de OpenFOAM en macOS
Estoy intentando compilar la biblioteca scotch
incrustada en el repositorio de terceros de OpenFOAM.org aquí. Ejecuté el comando:
make -C ./ThirdParty-dev/scotch_6.0.9/src/
y obtuve el siguiente mensaje de error:
(cd libscotch ; make VERSION=6 RELEASE=0 PATCHLEVEL=9 scotch && make install) make \ CC="gcc" \ CCD="gcc" \ scotch.h \ scotchf.h \ libscotch.so \ libscotcherr.so \ libscotcherrexit.so gcc -O3 -DCOMMONFILECOMPRESSGZ -DCOMMONRANDOMFIXEDSEED -DSCOTCHRENAME -Drestrict=restrict -DSCOTCHVERSIONNUM=6 -DSCOTCHRELEASENUM=0 -DSCOTCHPATCHLEVEL_NUM=9 dummysizes.c -o dummysizes -Xlinker --no-as-needed -lz -lm -lrt ld: opción desconocida: --no-as-needed clang: error: el enlace del comando falló con el código de salida 1 (use -v para ver la invocación) make[2]: ** [dummysizes] Error 1 make1: * [scotch] Error 2 make: ** [libscotch] Error 2
No estoy seguro de lo que significa este mensaje de error. Si se está quejando de que scotch
no está disponible, es por eso que estoy tratando de compilarlo en primer lugar. Por desesperación, también intenté instalarlo a través de brew install scotch
sin éxito. Agradecería si pudiera ayudarme a entender el mensaje de error anterior y resolver el problema.
davy.ai
El mensaje de error indica que el enlazador falla con el código de salida 1 debido a una opción desconocida:
--no-as-needed
. Esto suele ocurrir cuando la versión del enlazador que se está utilizando es incompatible con las opciones de línea de comandos utilizadas. Una solución podría ser cambiar al uso del enlazadorGNU
(ld.gold
), que admite la opción--no-as-needed
.Para hacer esto, configure el enlazador a
ld.gold
agregando la siguiente línea al comandomake
:El comando actualizado sería:
Esto debería resolver el error del enlazador y permitir la compilación exitosa de la biblioteca
scotch
.Si esta solución no funciona, podría intentar actualizar su versión de
gcc
o verificar cualquier dependencia de biblioteca en conflicto.