que tienen que construir Boost fuera del árbol de directorios "habitual" (es decir, en lugar de /custom/dir
/usr
), que no es que gran parte de un problema: Sólo tiene que pasar a --prefix=/custom/path
./runscript.sh
/./bjam
, y ahí lo tienes.Cómo forzar a Boost a usar rpath?
O eso creía.
El problema es que algunas de las bibliotecas Boost dependen unos de otros, y - utilizar el proceso de construcción por defecto de pasar por ./bootstrap.sh
/./bjam
- parece que el camino --prefix
no se añade a la ruta de búsqueda de biblioteca para las bibliotecas Boost, es decir, no se aplica -Wl,-rpath
. Eso significa que las bibliotecas de Boost que dependen de otras bibliotecas de Boost no pueden encontrarlas en tiempo de ejecución.
Mi aplicación - la vinculación de esos /custom/path
bibliotecas Boost - ya falla en ./configure
etapa porque libboost_filesystem.so
no puede encontrar libboost_system.so
, a pesar de que me pasó -Wl,-rpath=/custom/path/boost/lib
a mi propia línea compilador (es decir, el camino correcto para las librerías Boost, hago doble registramos que libboost_system.so
está allí).
Ahora, para evitar métodos duros como configurar LD_LIBRARY_PATH
, me gustaría construir Boost de forma que todas las bibliotecas de Boost tengan la ruta de búsqueda adecuada para las otras compilaciones de Boost compiladas en ellas. Sin embargo, no pude encontrar el procedimiento adecuado para eso. Alguien puede ayudarme?
Excelente, ¡gracias! – DevSolar
Ejem ... aparentemente esto dejó de funcionar con Boost 1.45.0 (la misma invocación exacta). No pude encontrar ninguna mención de ningún cambio relevante en 1.45.0; ¿por casualidad sabes más que yo? – DevSolar
Hm, no sé más de lo que haces en este caso. Pero si dejara de funcionar, lo consideraría un error. Y debe ser informado como tal. – GrafikRobot