Cuando intento para construir este proyecto con cmake y gcc en un sistema Linux de 64 bits (debian) de la máquina, me sale un error del vinculador:proyecto de construcción que implica cmake, como creo que consciente de las bibliotecas
Linking C executable ../../../../cpsadamsx
/home/dala/lib64/libSimTKcommon.so: undefined reference to `dlopen'
/home/dala/lib64/libSimTKcommon.so: undefined reference to `dlclose'
/home/dala/lib64/libSimTKcommon.so: undefined reference to `dlerror'
/home/dala/lib64/libSimTKcommon.so: undefined reference to `dlsym'
collect2: ld returned 1 exit status
make[2]: *** [cpsadamsx] Error 1
make[1]: *** [sundials/examples/cpodes/serial/CMakeFiles/cpsadamsx.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
Aparentemente dlopen, dlclose, dlerror y dlsym son referencias a libdl.so. Tengo esa biblioteca en /lib64/libdl.so.2, pero ¿por qué no se encuentra?
Hubiera sido un './configure normal; hacer; hacer install'-ruta que podría haber establecido la variable LIBS y emitió el comando configure como esto (creo):
export LIBS=-ldl && ./configure
Pero, ¿qué hago ahora?
ACTUALIZACIÓN:
por lo que parece que el (o al menos una) se encuentra la biblioteca, pero no contiene los símbolos en cuestión. Tal vez lo intente con la biblioteca de 32 bits en/lib?
¿Hay alguna manera de desensamblar /lib64/libdl.so.2 para asegurarse de que tiene las referencias dlopen, etc.?
El problema ahora parece guiar las herramientas de compilación a la versión correcta de la biblioteca.
que podría funcionar, pero no es "mi" proyecto, por lo que preferentemente no quiero editar los archivos CMakeLists.txt. – dala