# [emerge] creare pacchetti statici

## cloc3

mi punge vaghezza di compilare staticamente dei pacchetti per i quali non è predisposta la flag apposita (per esempio udev).

esiste un modo per farlo?

----------

## oRDeX

ma per statici intendi "-static"?

----------

## cloc3

 *oRDeX wrote:*   

> ma per statici intendi "-static"?

 

si. ma quando spesso la flag non è presente.

in quei casi, temo che l'operazione sia impossibile.

----------

## oRDeX

e se aggiungessi direttamente 

```
-static
```

 alle LDFLAGS prima di compilare quel pacchetto?

non sono certo che la cosa sia pulitissima..anche perche` cosi` facendo ogni linking diventa statico a prescindere dal fatto che sia il binari oprincipale o meno..ma magari e` anche cosa giusta

----------

## cloc3

 *oRDeX wrote:*   

> e se aggiungessi direttamente 
> 
> ```
> -static
> ```
> ...

 

--static, ma produce un errore di linking.

con un meno solo è inefficace.

evidentemente, se manca la useflag apposita, quei programmi non sono stati scritti per essere compilati statici.

amen.

----------

## oRDeX

L'opzione di gcc è 

```
-static
```

 con un - solo. Inefficace in che senso? Comunque non vorrei che la flag debba essere passata nella CFLAGS e non nelle LDFLAGS, dato che dovrebbe essere utilizzata durante l'esecuzione di gcc.

----------

## cloc3

 *oRDeX wrote:*   

> non vorrei che la flag debba essere passata nella CFLAGS e non nelle LDFLAGS

 

no. neppure questo funziona.

pace.

----------

## djinnZ

Dai uno sguardo a questo, intuisco che sia proprio quello che serve a te, oppure da qualchde parte c'era un mezzo howto per impostare gli autotools a supportare --static-enable. Il problema è che non basta compilare con -static, anche le librerie devono essere statiche.

A quel che ricordo.

----------

## famedoro

spero possa essere di aiuto. Io ho usato magicErmine ( http://magicermine.com ) per includere staticamente le librerie all'interno del codice eseguibile.

----------

