Estoy construyendo un ejecutable de C++ en Linux. El ejecutable se vincula a algunas bibliotecas de impulso.error al cargar las bibliotecas compartidas: libboost_system.so.1.45.0: no se puede abrir el archivo de objeto compartido: Ningún archivo o directorio
Ésta es la salida cuando intento ejecutar el binario:
[email protected]:~/work/dev/c++/projects/testfgci/dist/Debug/GNU-Linux-x86$ ./testfgci
./testfgci: error while loading shared libraries: libboost_system.so.1.45.0: cannot open shared object file: No such file or directory
Luego ejecutar LDD en el binario para comprobar las dependencias:
[email protected]:~/work/dev/c++/projects/testfgci/dist/Debug/GNU-Linux-x86$ ldd testfgci
linux-gate.so.1 => (0x00380000)
libboost_system.so.1.45.0 => not found
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00b50000)
libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0x005f6000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x0099a000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x001b3000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0x00110000)
/lib/ld-linux.so.2 (0x00ea2000)
No estoy seguro de por qué el liboos_system.sl .1.45.0 SO no se encuentra. Lo construí con éxito un poco antes hoy. ¿Alguien puede explicar?
Es posible que cuando la construcción, está de paso banderas para el compilador para las bibliotecas de enlazadores adicionales, pero cuando se quiere ejecutar el programa, la bibliotecas Boost Don' t existe en las rutas del enlazador. Posible duplicado de [vincular el problema en las bibliotecas] (http://stackoverflow.com/questions/4568187/linking-problem-in-libraries) – birryree
Encontré la respuesta. Tuve que agregar la ruta a mi LD_LIBRARY_PATH y luego exportarla. El binario se ejecuta, pero informa errores (Sistema de error: 9: descriptor de archivo incorrecto).Tendré que enmendar esta pregunta para reflejar eso, o hacer una nueva pregunta – skyeagle