# installazione di versioni multiple della stessa librerie

## nanostallmann

Ciao a tutti,

sono nuovo di gentoo,

Sto provado a installare Altera Quartus 2 sul mio pc con kernel 3.14.14-gentoo #1 SMP Mon Sep 15 18:09:26 2014 x86_64 Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz GenuineIntel GNU/Linux.

L'installazione è andata a buon fine ma quando provo ad eseguire il programma ottengo:	

```

$ ./altera/14.0/quartus/adm/qenv.sh: line 83: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UTF-8): No such file or directory

quartus: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory   

```

Come si nota l'errore è causato dalla mancanza della libreria libpng-1.2

quindi ho dato

```

$ equery b /usr/bin/eshowkw ; eshowkw libpng

```

Ottenendo:

```

* Searching for /usr/bin/eshowkw ...

app-portage/gentoolkit-0.3.0.8-r2 (/usr/bin/eshowkw -> ../lib/python-exec/python-exec2)

Keywords for media-libs/libpng:

             |                             | u      | 

             | a a   a           p     s   | n      | 

             | l m   r h i m m   p s   p   | u s    | r

             | p d a m p a 6 i p c 3   a x | s l    | e

             | h 6 r 6 p 6 8 p p 6 9 s r 8 | e o    | p

             | a 4 m 4 a 4 k s c 4 0 h c 6 | d t    | o

-------------+-----------------------------+--------+-------

   1.2.51    | ~ + ~ + ~ ~ + ~ o ~ + + ~ + | o 1.2  | gentoo

-------------+-----------------------------+--------+-------

   1.5.18-r1 | ~ + ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ + | o 1.5  | gentoo

   1.5.19    | ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ | o      | gentoo

-------------+-----------------------------+--------+-------

   1.6.10    | + + + + + + + ~ + + + + + + | o 0/16 | gentoo

[I]1.6.12    | ~ + + + + ~ ~ ~ ~ ~ ~ ~ ~ + | o      | gentoo

   1.6.13    | ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ | o      | gentoo

```

Ho letto che libpng1.6 non è retro-compatibile con la 1.2 ...

Ho letto anche che gentoo supporta l'installazione di versioni multiple dello stesso package attraverso l'uso di SLOT.

Mi si può spiegar meglio ?!?

Ho simulato:

```

emerge -a media-libs/libpng:1.2

```

che ha prodotto:

```

Calculating dependencies... done!

[ebuild  NS    ] media-libs/libpng-1.2.51 [1.6.12] ABI_X86="(64) (-32) (-x32)" 

```

Sembrerebbe proprio che cosi la lib verrà installata nel nuovo slot..

Quello che mi chiedo è però... Le future installazioni che farò tramite emerge ... su quale delle due librerie (SLOT) si appoggerà?

Non c'è un modo per istruire portage di ignorare lo slot dove c'è installata libpng12??

o di ignorarla anche se installata (sempre nel suddetto SLOT) ???

Grazie in anticipo

PS 

Faccio notare, per chi non conosce Quartus, che esso è un software proprietario (fuori dal controllo di emerge) e che esso è stato installato nella home (per evitare in futuro conflitti con eventuali versioni multiple dello stesso programma).

PS2

Mi è stato anche consigliato di scrivere un ebuild stub per Altera e di installare il programma in / opt in modo che i suoi file sono tracciati dal gestore di pacchetti. A questo punto  dovrebbe essere possibile impostare lo stub a dipendere dalla vecchia versione di libpng, in modo che se mai usate emerge --depclean per ripulire le versioni libpng, Portage ricorderà che Altera richiede questa versione..... Il problema è che non so cosa sia un STUB ( o meglio sicuro non conosco questo tipo di stub...   :Smile:  ... pensavo che gli stub si usassero a RF e a micronde ).

Qualche suggerimento in merito ????

----------

## sabayonino

ciao

io ho installato le png:1.2  per conto suo per provare un programmino esterno (come nel caso tuo) e --depclean non me le ha mai rimosse   :Shocked:  non essendo al momento state richeiste da nulla presente in portage come dipendenza.

[edit]   :Mr. Green:   grazie per avermelo fatto ricordare ... ora le rimuovo

----------

## nanostallmann

 *sabayonino wrote:*   

> ciao
> 
> io ho installato le png:1.2  per conto suo per provare un programmino esterno (come nel caso tuo) e --depclean non me le ha mai rimosse   non essendo al momento state richeiste da nulla presente in portage come dipendenza.
> 
> [edit]    grazie per avermelo fatto ricordare ... ora le rimuovo

 

Effettivamente dopo aver "emergiato" la libreiria il tool funziona... ho anchje provato a ripulire con --dep-clean ma per ora non si accorge della libreira....

Mah ... 

Grazie di aver condiviso la tua esperienza...

----------

## pierino_89

 *sabayonino wrote:*   

> 
> 
> io ho installato le png:1.2  per conto suo per provare un programmino esterno (come nel caso tuo) e --depclean non me le ha mai rimosse   non essendo al momento state richeiste da nulla presente in portage come dipendenza.
> 
> 

 

Però le hai richieste tu  :Razz: 

Tutto ciò che installate "esplicitamente" (ovvero con emerge senza -1) viene aggiunto al "world" e quindi non verrà rimosso automaticamente (non conta come "dipendenza" di altri). Motivo per cui ogni tanto conviene aprire /var/lib/portage/world e controllare se effettivamente c'è qualcosa che non serve più   :Wink: 

N.B.: è possibile aggiungere al world versioni o slot specifici di un software (per esempio "=sys-kernel/gentoo-sources-3.14.14" oppure "sys-boot/grub:2").

Può anche tornarvi comodo aggiungere manualmente al world programmi già installati (senza dover riemergere) con "emerge --noreplace"

Dimenticavo, la documentazione dice di NON modificare a mano il file di world   :Cool: 

----------

## sabayonino

 *pierino_89 wrote:*   

>  *sabayonino wrote:*   
> 
> io ho installato le png:1.2  per conto suo per provare un programmino esterno (come nel caso tuo) e --depclean non me le ha mai rimosse   non essendo al momento state richeiste da nulla presente in portage come dipendenza.
> 
>  
> ...

 

 :Mr. Green:   :Neutral:   e io che ho scritto ?

 *Quote:*   

> [...]non essendo al momento state richeiste da nulla presente in portage come dipendenza

 

 :Twisted Evil: 

----------

## pierino_89

Ah scusa, mi sembrava che questo comportamento di portage ti avesse lasciato perplesso, quindi sono partito con lo spiegone   :Laughing: 

----------

