/usr/bin/ld: opción no reconocida ‘-pthread’ al compilar con meson.
Estoy construyendo un código con Mesón utilizando GCC 7.5.0 y CUDA 11.4 y obteniendo el error:
/usr/bin/ld: opción no reconocida ‘-pthread’
en el paso de construcción. La versión de ld es 2.34. Aquí está el resultado:
[5/6] Vinculando el objetivo SU2_CFD/src/SU2_CFD
FALLÓ: SU2_CFD/src/SU2_CFD
nvcc -o SU2_CFD/src/SU2_CFD SU2_CFD/src/SU2_CFD.p/SU2_CFD.cpp.o -Xlinker=-O1 SU2_CFD/src/libSU2core.a externals/metis/libmetis.a externals/parmetis/libparmetis.a Common/src/libSU2Common.a -Xlinker=-pthread -Xlinker=-rpath -Xlinker=/usr/apps/openmpi/lib -Xlinker=–enable-new-dtags -L/usr/apps/openmpi/lib -lmpi -Xlinker=-pthread -Xlinker=-rpath -Xlinker=/usr/apps/openmpi/lib -Xlinker=–enable-new-dtags -L/usr/apps/openmpi/lib -lmpi -Xlinker=/usr/local/cuda-11.4/targets/x86_64-linux/lib/libcusparse.so -Xlinker=-pthread -Xlinker=-rpath -Xlinker=/usr/apps/openmpi/lib -Xlinker=–enable-new-dtags -L/usr/apps/openmpi/lib -lmpi -Xlinker=-pthread -Xlinker=-rpath -Xlinker=/usr/apps/openmpi/lib -Xlinker=–enable-new-dtags -L/usr/apps/openmpi/lib -lmpi -Xlinker=-pthread -Xlinker=-rpath -Xlinker=/usr/apps/openmpi/lib -Xlinker=–enable-new-dtags -L/usr/apps/openmpi/lib -lmpi -Xlinker=-pthread -Xlinker=-rpath -Xlinker=/usr/apps/openmpi/lib -Xlinker=–enable-new-dtags -L/usr/apps/openmpi/lib -lmpi -Xlinker=-pthread -Xlinker=-rpath -Xlinker=/usr/apps/openmpi/lib -Xlinker=–enable-new-dtags -L/usr/apps/openmpi/lib -lmpi -Xlinker=-pthread -Xlinker=-rpath -Xlinker=/usr/apps/openmpi/lib -Xlinker=–enable-new-dtags -L/usr/apps/openmpi/lib -lmpi -Xlinker=-pthread -Xlinker=-rpath -Xlinker=/usr/apps/openmpi/lib -Xlinker=–enable-new-dtags -L/usr/apps/openmpi/lib -lmpi ‘-Xlinker=-rpath,$ORIGIN/:$ORIGIN/../../externals/metis:$ORIGIN/../../externals/parmetis:$ORIGIN/../../Common/src’ -Xlinker=-rpath-link,/home/nahmad16/SU2/build/SU2_CFD/src -Xlinker=-rpath-link,/home/nahmad16/SU2/build/externals/metis -Xlinker=-rpath-link,/home/nahmad16/SU2/build/externals/parmetis -Xlinker=-rpath-link,/home/nahmad16/SU2/build/Common/src -lstdc++
/usr/bin/ld: opción no reconocida ‘-pthread’
/usr/bin/ld: usa la opción –help para obtener información de uso
collect2: error: ld devolvió el estado de salida 1
ninja: la construcción se detuvo: el subcomando falló.
Gracias por tu ayuda.
davy.ai
Parece que hay un problema con la opción
-pthread
que no es reconocida por el enlazador ld. Una posible solución es intentar reemplazar-pthread
con-lpthread
en el archivo meson.build. Alternativamente, puede valer la pena verificar si la versión de ld que se está utilizando es compatible con la versión de GCC y CUDA que se están utilizando. Actualizar ld a una versión más nueva o degradar GCC y CUDA puede resolver el problema. También puede ser útil consultar la documentación y el soporte de cada herramienta, así como buscar en foros y en Stack Overflow problemas similares para encontrar una solución.