# static-libs duda

## Pipeng

Holis, tengo una pequeña duda, la use "static-libs" compila las librerias estaticas y dinamicas, o remplaza las librerias dinamicas por estaticas?

y si se habilita, el sistema ocupara las librerias dinamicas o estaticas?

----------

## natrix

Hola Pipeng:

Según tengo entendido, la USE reemplaza la librería dinámica por una estática y será esta la que usará el sistema.

Aun así, no son muchos los paquetes que disponen de esta opción, por lo que si está como USE global no vas a sufrir una especie de cambio de estructura en tu gentoo, solo te cambiará el comportamiento de algunas paquetes puntuales.

Saludos

----------

## Pipeng

mm, gracias por la respuesta, personalmente siento que es muy confuso, debido a ciertas aplicaciones aveces necesito tanto librerías dinámicas como estáticas, y la traducción de esa use también es un poco confusa:

Build static versions of dynamic libraries as well

técnicamente dice que construirá tanto las dinámicas como estáticas pero queda la duda de cual utilizara el sistema...

Gracias igualmente por la información aun me gustaría poder confirmar correctamente debido a ciertas aplicaciones.

....

Revisando, encontre esta: https://devmanual.gentoo.org/ebuild-writing/common-mistakes/

aunque especifica que static-libs compila las librerias estaticas y utiliza las dinamicas me queda otra duda debido a que hay 2 descripciones de static-libs, la primera ya planteada y esta:

Builds a statically-linked application.

que nos contrapone la descripcion de la guia dev de gentoo D:

----------

## natrix

Puedes darle una leía a este viejo hilo, quizas te ayude:

https://forums.gentoo.org/viewtopic-p-7530370.html

----------

## Pipeng

mm, muchas gracias por la información, ahora me queda mas claro, lo único son esos paquetes que tiene la descripción de static en vez de static-libs, creo que subiré un parche a portage a ver si lo aceptan para no confundir tanto esa parte.

Se agradece

----------

## quilosaq

 *Pipeng wrote:*   

> aunque especifica que static-libs compila las librerias estaticas y utiliza las dinamicas me queda otra duda debido a que hay 2 descripciones de static-libs, la primera ya planteada y esta:
> 
> Builds a statically-linked application. 

 ¿En que paquete has encontrado esa descripción para static-libs?

----------

## Pipeng

holis, son 2 paquetes, el primero:

net-misc/stargazer

static-libs: Install static libraries.

tiene definida static-libs con una descripcion diferente a la global, aun así apuntan al mismo concepto, por lo que es seguro remover la descripcion del metadata.xml para que sea igual que las globales y evitar confusiones.

el segundo paquete:

net-p2p/imule

static-libs: Builds a statically-linked application.

en este paquete tienen unida la compilacion estatica y la instalacion de librerias estaticas, revise las ebuilds (son 2), basicamente hay que separar ambas use, añadir la use "static" las iuse y eliminar la descripcion del metadata.xml, para una idea mas clara de como fue escrita la ebuild:

$(use_enable static-libs static)

----------

## quilosaq

 *Pipeng wrote:*   

> remover la descripcion del metadata.xml

 El tener descripciones diferentes para la misma use es precisamente lo que se quiere en Gentoo. Se pretende poder describir el efecto que tendrá cada use aplicado al paquete en concreto.

Mira la GLEP:56 (Gentoo Linux Enhancement Proposal).

En general "static-libs" lo único que asegura es que se contruirán las librerías de ambas formas, estáticas y dinámicas. No dice ni que si ni que no sobre contruir los ejecutables estáticamente enlazados. Mira la eclass autotools-utils.

"static" asegura que los ejecutables estarán enlzados estaticamente pero no dice nada sobre las librerías.

Las cuestiones no definidas específicamente por cada use entiendo que serán fijadas libremente por los autores de los ebuilds.

----------

## Pipeng

mm, okis, pero eso no complicaría mucho las uses globales? al menos con por ejemplo static y static-libs, ya que la idea es que se crearon esas dos para poder separar la idea de compilar la librería estática y la de compilar con estas, bajo la idea que esta el paquete net-misc/stargazer tiene bien la información, pero el otro packete complica mucho que tenga la use el mismo nombre de un efecto tan global en el sistema...

----------

