2016-04-11 14:50 GMT-05:00 Ala de Dragón <aladedra...@gmail.com>: > Hola :D > > Ando un par de días preguntándome acerca de unas dudas en cuanto a compilar. > > Supongamos que tengo un sistema, llamémosle debian 7, que tendrá lo > necesario para compilar un programa. Por ejemplo firefox. > Si lo compilo desde las fuentes lo hago con las versiones de lasa > librerías y programas que están instaladas en mi computadora. Con lo > que en un debian 8 no funcionara bien. > entonces, ¿como se hace para compilar un programa, empaquetarlo en un > tar y hacer que funcione en cualquier debian? > Es simple curiosidad
Las bibliotecas pueden ser compartidas (shared) o estáticas, las estáticas se incluyen dentro del ejecutable así que no hay problema de compatibilidad. Ahora, las bibliotecas compartidas en Debian suelen mantener compatibilidad hacia atrás en su ABI, así un programa compilado con la biblioteca x.y probablemente corra en la version x.y+1. Claro, puede que en algún momento rompan compatibilidad y ya no corran en una versión más nueva (si utilizan semver por ejemplo, entonces rompen compatibilidad en la version x+1.y). Algunos enlaces sobre el tema: https://en.wikipedia.org/wiki/Application_binary_interface https://en.wikipedia.org/wiki/Binary_code_compatibility https://en.wikipedia.org/wiki/Semver