Comstack la fuente con bibliotecas posteriores en un server y utiliza el binary en un server anterior

Es posible que tenga una pregunta de novato sobre el software de compilation de la fuente.

Necesito la última biblioteca libpcre3-dev para comstackr un software desde el origen, sin embargo, la distribución actual del sistema operativo (Ubuntu) en mi server solo tiene la versión anterior de libpcre3-dev y no hay respaldo disponible.

Estoy pensando en comstackr el binary en un server por separado con la última versión de libpcre3-dev e instalar el binary en mi server real. Tengo dos preguntas:

  1. ¿Esto funciona? Mi principal preocupación es que libpcre3 en mi server sigue siendo la versión anterior, ¿el binary todavía necesita el último libpcre3 correspondiente en time de ejecución, incluso si está comstackdo con el último libpcre3-dev ?

  2. ¿Cuál es la mejor forma de instalar el binary en mi server? Simplemente copie el binary o .deb en un package .deb y luego instálelo usando el administrador de packages (si es posible).

Si el progtwig requiere funciones más nuevas que no están disponibles en su server, esas funciones no estarán disponibles durante el time de ejecución y probablemente su progtwig no se ejecutará.

Puede vincular la biblioteca estáticamente. Esto tiene la desventaja de que no puede actualizar la biblioteca por separado del progtwig. Si se encuentra una vulnerabilidad de security en esa versión de la biblioteca, deberá rebuild el progtwig. Reemplace -lpcre3 en la línea de command del linker por /usr/lib/libpcre3.a .

Puede vincular dinámicamente y copyr la biblioteca al mismo directory donde instala su software. Inicie el software a través de un script envoltorio que establece la ruta de carga de la biblioteca para include ese directory adicional.

 #!/bin/sh export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/my-software/lib" /opt/my-software/bin/foo "$@" 

Su primera pregunta es realmente acerca de la vinculación , por lo que depende si enlaza estáticamente o no. Si lo hace y ambas plataforms tienen la misma architecture, entonces debería funcionar.

Una buena forma de instalar un binary autocomstackdo es usar la installation de verificación . Crea un package Debian que se puede instalar y desinstalar utilizando su administrador de packages favorito.