es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Compilando SCIP: ‘/usr/bin/ld: no se puede encontrar -lpthreads’

Me rindo.

Estoy intentando compilar SCIP desde la fuente del archivo tarball scipoptsuite-7.0.3.tgz. Siguiendo las instrucciones de instalación, pero cmake falla.

CMakeError.log dice: /usr/bin/ld: no se puede encontrar -lpthreads. Busqué y encontré este hilo hace 5 años: /usr/bin/ld: no se puede encontrar -lpthreads. El comentario principal dice que es un error de escritura, debería ser lpthread en lugar de lpthreads, pero no escribí el código y tengo que pensar que ese no es el caso. Además, no pude encontrar dónde se pasó la bandera -lpthreads. Los otros comentarios tampoco pudieron resolver mi problema.

¿Alguien tiene alguna idea?

Estoy ejecutando Ubuntu 20.04.3 LTS en amd64.

Aquí hay un pastebin de la salida completa de cmake: cmake_output

Aquí hay un pastebin de todo CMakeError.log: CMakeError

Estoy agradecido por cualquier ayuda.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Basándose en el mensaje de error en CMakeError.log, parece que el enlazador “ld” no puede encontrar la biblioteca “-lpthreads”. Esto podría ser debido a una instalación incorrecta o faltante de la biblioteca pthread.

    Aquí hay algunos pasos que puede seguir para resolver el problema:

    1. Verifique si la biblioteca pthread está instalada en su sistema:
    sudo apt-get update
    sudo apt-get install libpthread-stubs0-dev
    
    1. Si la biblioteca ya está instalada, asegúrese de que su ruta esté incluida en las rutas de búsqueda del enlazador. Puede verificar esto ejecutando:
    ldconfig -p | grep pthread
    

    Si la biblioteca está instalada pero no en la ruta de búsqueda del enlazador, puede agregarla editando los archivos /etc/ld.so.conf.d/*.conf o agregándola a la variable de entorno LD_LIBRARY_PATH.

    1. Si los pasos anteriores no resuelven el problema, intente enlazar explícitamente con la biblioteca “pthread” en su archivo CMakeLists.txt:
    target_link_libraries(nombre_de_su_objetivo pthread)
    

    donde nombre_de_su_objetivo es el nombre del objetivo que está construyendo.

    Esperamos que uno de estos pasos lo ayude a resolver el problema al compilar SCIP desde la fuente. ¡Buena suerte!

Comments are closed.