¿Qué son los paquetes * -devel?

¿Cuál es la utilidad de los paquetes de devel como “libgtk + -devel” o “python-devel” etc.? ¿Contienen fuente de la biblioteca? ¿En qué se diferencia de paquetes que no son devellanos como libgtk +?

Los paquetes *-devel (generalmente llamados *-dev en distribuciones basadas en Debian) suelen ser todos los archivos necesarios para comstackr el código en una biblioteca determinada.

Para ejecutar una aplicación usando la biblioteca libfoo solo se necesita el archivo de biblioteca compartido actual ( *.so.* , Por ejemplo libfoo.so.1.0 ) (además de algunos archivos de datos y algunos enlaces simbólicos específicos de la versión).

Cuando realmente desee comstackr una aplicación C que use esa biblioteca, necesitará los archivos de encabezado ( *.h , por ejemplo, foo.h ) que describen la interfaz de esa aplicación, así como un enlace simbólico sin versión a la biblioteca compartida. ( *.so , por ejemplo libfoo.so -> libfoo.so.1.0 ). Esos normalmente se incluyen en los paquetes *-devel .

A veces, los paquetes *-devel también incluyen versiones comstackdas estáticamente de las bibliotecas ( *.a , por ejemplo libfoo.a ) en caso de que quiera crear una aplicación independiente completa que no dependa en absoluto de las bibliotecas dinámicas.

Otros lenguajes (como Java, Python, …) usan una forma diferente de señalar la API de una biblioteca (incluyendo efectivamente toda la información necesaria en la biblioteca real) y, por lo tanto, generalmente no necesitan paquetes de *-devel separados (excepto tal vez para Documentación y herramientas adicionales).

Por lo general, contienen los encabezados y bibliotecas necesarios. Por ejemplo, python-devel proporcionará los encabezados y las bibliotecas de Python que necesita si desea incrustar el intérprete de Python en su propia aplicación. También se incluyen algunas herramientas y documentación adicionales (por ejemplo, un manual del desarrollador o ejemplos de código).