[eside-ghost] Paquetes en modo debug
Alfredo Beaumont
alfredo.beaumont en gmail.com
Vie Mar 28 09:19:04 CET 2008
Or, 2008eko Marren 28a(e)an, STenyaK (Bruno Gonzalez)(e)k idatzi zuen:
> Iepa
>
> Ando un poco perdido con el tema de los paquetes de debug (los que tienen
> los simbolos y todo eso). Cuál es la nomenclatura estandar? Cómo debería
> distribuir un programa en cuánto a este tema?
Pues depende mucho de cómo distribuyas tu código. Si distribuyes únicamente
las fuentes, bastaría con que en las autotools o el sistema de construcción
que hayas elegido tengas una opción para activar el debugging. A partir de
aquí, todo depende de la distribución, y creo que ese trabajo se lo deberías
dejar a la distribución, si lo quiere hacer. Es decir, si quieres publicar
binarios, lo más razonable (EMHO) es ofrecer un binario normal stripeado, y
si alguien quiere opciones de debug, que se descargue las fuentes (si las
quiere probablemente sabrá compilar tu paquete).
> De momento, a los binarios/librerias en modo debug les sufijo una letra D (
> libfoo.so -> libfooD.so, bar->barD). Claro que luego tengo q andar
> cambiando los scripts de compilación si decido usar la versión pasada por
> strip.
Diferenciar las librerías sólo se hace en algunos casos y normalmente por una
buena razón, ya que es una liada que normalmente no compensa. Es decir, si
vas a desarrollar, compilas e instalas la librería en modo debug, el resto la
instalan stripeada, pero con el mismo nombre, y así no hay liadas.
> En linux, parece que cada uno va a su bola (las ubuntus tienen paquetes foo
> y foo-debug, en gentoo eliges si compilas con el USE flag "debug"...), el
> resto no se.
> En macos no tengo ni idea, ni tp bsd y demás.
Tanto como que cada 1 va a su bola no diría yo. Hay dos opciones, o diferencio
los paquetes en 'normal' y 'debug' o no. Las distribuciones basadas en apt (y
creo que las basadas en rpm) suelen ofrecer las dos versiones, pero al final
el binario y la librería tiene el mismo nombre. El resto normalmente no
diferencia paquetes y los basados en fuentes (al igual que BSD) suele dar la
opción de debug si el programa lo ofrece.
> Hay alguna forma un poco más elegante o aconsejable de manejar todo el
> tema? Algo así como tener varios LDPATHs (o lo que sea), por ej /usr/lib y
> /usr/lib-dbg? Claro que no voy a [poder] cambiar las distribuciones a mi
> gusto...
Que yo sepa no hay ninguna opción de este tipo, pero creo que tampoco es muy
necesario, porque el perfil suele estar claro: o quiero con símbolos de
depuración o no. Una de las pocas excepciones puedes ser tú por tu perfil de
desarrollador y distribuidor.
Saludos
--
Alfredo Beaumont Sainz
http://www.alfredobeaumont.org/blog.cgi
Más información sobre la lista de distribución eside-ghost