# il profilo 17

## cloc3

o appena la letto la news di eselect del 30 novembre:

New 17.0 profiles in the Gentoo repository

suggerisce di passare al nuovo profilo, ricompilare gcc e, di seguito, l'intero world.

sinceramente, l'idea di ricompilare world, in questo momento, mi gira poco, e preferirei eseguire le minime modifiche necessarie per lasciare che il sistema si adatti progressivamente con i successivi aggiornamenti, come ho sempre fatto.

questo tuttavia implicherebbe una convivenza prolungata di binari PIE e binari non-PIE, di cui non so valutare le conseguenze.

sarebbero davvero così devastanti?

----------

## fedeliallalinea

 *cloc3 wrote:*   

> questo tuttavia implicherebbe una convivenza prolungata di binari PIE e binari non-PIE, di cui non so valutare le conseguenze.
> 
> sarebbero davvero così devastanti?

 

Sembrerebbe di si 

 *NeddySeagoon wrote:*   

> ...
> 
> the /17.0/ profiles force the Position Independent Executable  use flag from (-pie) to (pie).
> 
> This affects gcc and the way it builds everything.  pie is now the default everywhere.
> ...

 

Ma in questo altro post mv da una soluzione differente al emerge -e @world .

Non saprei cosa consigliarti visto che non ne so abbastanza per capire se ricompilare solo i pacchetti con librerie statiche sia una soluzione sicura

----------

## fedeliallalinea

Riporto qui un thread del forum internazionale per chi si appresta a fare la migrazione.

In pratica si seguono  tutti i passi della news, ma invece di usare emerge -e @world si po' usare emerge -1 $(eix-installed-after -btF /usr/bin/gcc). Questo permette in caso di errore di riprendere dall'ultimo pacchetto compilato

----------

## guerro

Se si tratta solo di riprendere da dove interrotto  basta usare le opzioni --resume --skip-first che permettono di riprendere l'emerge saltando il pacchetto che ha generato errore.

Io ho adottato questa soluzione e a parte amarok che non ne vuole sapere di ricompilare mi rimangono ancora un centinaio di pacchetti su quasi 1400  :Smile:   :Smile: 

----------

## cloc3

 *fedeliallalinea wrote:*   

>  emerge -1 $(eix-installed-after -btF /usr/bin/gcc)

 

```

cloc3Lnv ~ # eix-installed-after -btF /usr/bin/gcc|wc -l

1706

```

 :Crying or Very sad: 

----------

## Maxxx

 *fedeliallalinea wrote:*   

> Riporto qui un thread del forum internazionale per chi si appresta a fare la migrazione.
> 
> In pratica si seguono  tutti i passi della news, ma invece di usare emerge -e @world si po' usare emerge -1 $(eix-installed-after -btF /usr/bin/gcc). Questo permette in caso di errore di riprendere dall'ultimo pacchetto compilato

 

Mannaggia, se avessi letto questa discussione prima... il comando emerge -e @world l'ho rifatto per ben 3 volte su un totale di 1199 pacchetti   :Shocked: 

Ma alla fine è filato tutto liscio.

----------

## cloc3

 *Maxxx wrote:*   

> 
> 
> Mannaggia, se avessi letto questa discussione prima... 

 

purtroppo oramai sul forum si discute poco.

anni fa, una cosa del genere sarebbe stata vissuta come un episodio epocale.

mi ricordo l'aggiornamento di expat.

e allora portage non funzionava come oggi.

p.s.: un'altra opzione utile per l'aggiornamento può essere --keep-going y.

----------

## fedeliallalinea

 *cloc3 wrote:*   

> p.s.: un'altra opzione utile per l'aggiornamento può essere --keep-going y.

 

Mi sono sempre chiesto (senza mai provare)... ma funziona anche con -e questa opzione?

----------

## sabayonino

si.

provato l'altro giorno con due pacchetti falliti.

occhio che non funziona se viene chiesto di cambaire keyword o USE a qualche pacchetto.

----------

## cloc3

 *fedeliallalinea wrote:*   

> 
> 
> Mi sono sempre chiesto (senza mai provare)... ma funziona anche con -e questa opzione?

 

funziona. ma ad ogni pacchetto fallito fa un controllo delle dipendenze.

se il pacchetto crea problemi a quelli successivi, la compilazione si arresta.

di conseguenza, l'esecuzione fino all'ultimo ebuild non è garantita.

tra l'altro, questo accade anche se l'emerge era stato lanciato con l'opzione --nodeps.

----------

## bandreabis

 *cloc3 wrote:*   

>  *Maxxx wrote:*   
> 
> Mannaggia, se avessi letto questa discussione prima...  
> 
> purtroppo oramai sul forum si discute poco.
> ...

 

Triste ma vero.

Comunque ho adottato la procedura proposta dalla "piece of news" compresa di emerge -e world ed è andata liscia tranne l'inconveniente del  bug di klibc

----------

## fedeliallalinea

 *bandreabis wrote:*   

> Comunque ho adottato la procedura proposta dalla "piece of news" compresa di emerge -e world ed è andata liscia tranne l'inconveniente del  bug di klibc

 

Ho avuto lo stesso problema

----------

## bandreabis

credo di aver preso la soluzione da un tuo post   :Very Happy: 

----------

## Maxxx

Anch'io ho preso una soluzione da un post di fedeliallalinea... quello riguardante la patch da applicare al pacchetto cdrdao.

Invece non ho ben chiara una cosa: io non ho abilitato la USE flag "PIC"... ma da quello che ho capito è già in serie sul profilo 17, giusto?

----------

## bandreabis

avevo compreso così

ma se do emerge --info non trovo la voce "pic"

----------

## fedeliallalinea

 *Maxxx wrote:*   

> Invece non ho ben chiara una cosa: io non ho abilitato la USE flag "PIC"... ma da quello che ho capito è già in serie sul profilo 17, giusto?

 

A riguardo di cosa?

----------

## Maxxx

Le USE flags PIC e PIE, come dicono qui , mi era sembrato di capire che la USE pie con il profilo 17 viene ora utilizzata di default, quindi io non l'ho impostata sul make.conf.

----------

## fedeliallalinea

 *Maxxx wrote:*   

> Le USE flags PIC e PIE, come dicono qui , mi era sembrato di capire che la USE pie con il profilo 17 viene ora utilizzata di default, quindi io non l'ho impostata sul make.conf.

 

Si corretto scusa non avevo capito cosa intendevi

----------

## bandreabis

PS. GCC 6 ovvero.... march=skylake!   :Razz: 

----------

## fedeliallalinea

 *bandreabis wrote:*   

> PS. GCC 6 ovvero.... march=skylake!  

 

Con march=native dovebbe accorgersi automaticamente mi pare

----------

## falko

Io ho fatto la migrazione qualche giorno fa, su 960 pacchetti ne sono rimasti fuori un centinaio ma fino adesso non ho riscontrato problemi....

A qesto punto cosa mi consigliate di fare?

Eseguire:

```
# emerge --resume --skip-first
```

O:

```
emerge --resume --keep-going
```

O non fare nulla?

Entrambe le opzioni sono a me sconosciute

----------

## fedeliallalinea

Se nel frattempo hai fatto altri emerge che hanno fallito non servira' a molto visto che fa il resume dell'ultimo andato male.

Puoi provare anche il comando (devi avere eix installato)

```
# emerge -1 $(eix-installed-after -btF /usr/bin/gcc) --keep-going
```

----------

## falko

 *fedeliallalinea wrote:*   

> Se nel frattempo hai fatto altri emerge che hanno fallito non servira' a molto visto che fa il resume dell'ultimo andato male.
> 
> Puoi provare anche il comando (devi avere eix installato)
> 
> ```
> ...

 

Ok grazie mille, ci proverò, 

attualmente comunque non ho poblemi

----------

## cloc3

 *fedeliallalinea wrote:*   

> 
> 
> ```
> # emerge -1 $(eix-installed-after -btF /usr/bin/gcc) --keep-going
> ```
> ...

 

 *Quote:*   

> # emerge -1 $(eix-installed-after -btF /usr/bin/gcc) --keep-going y

 

la y è obbligatoria. non si può sottointendere.

----------

## sabayonino

 *cloc3 wrote:*   

> 
> 
> la y è obbligatoria. non si può sottointendere.

 

cloc3 , ti devo contraddire   :Rolling Eyes: 

il keep-going funziona anche senza Y da un bel pò ... o forse ti confondi con l' --autounmask-write ?

te lo dico perchè lo uso sempre ad ogni @world , senza Y  e se capita qualche pacchetto fallito durante il merge,   la sua corsa continua   :Arrow: 

----------

## fedeliallalinea

 *sabayonino wrote:*   

> il keep-going funziona anche senza Y da un bel pò ... o forse ti confondi con l' --autounmask-write ?

 

Anche a me pare che funziona, e se non erro qualsiasi dei quelle opzioni se si mettono di default prendono yes e se non le vuoi devi forzarle a no (un po' come --ask). Ma potrei sbagliarmi

----------

## cloc3

al momento non ho proprio voglia di affrontare la transizione, ma vorrei comunque allineare il mio sistema.

se aggiungo la flag "-fno-pie" alle CFLAGS in make.conf, posso passare al profilo 17 senza danni?

qualcuno ha già fatto la domanda sul forum internazionale, ma non ha ricevuto risposta.

----------

## fedeliallalinea

E provare invece solo a fare il rebuild delle librerie statice come suggerisce qua mv?

----------

## cloc3

 *fedeliallalinea wrote:*   

> E provare invece solo a fare il rebuild delle librerie statice come suggerisce qua mv?

 

```

emerge -1 /lib*/*.a /usr/lib*/*.a -pv --nodeps

...

Total: 86 packages (86 reinstalls), Size of downloads: 33891 KiB

```

sarebbe decisamente meglio.

come mai questa soluzione non è stata consigliata nellla news ufficiale?

mv, però, fa un'osservazione sulla CFLAG -fPIC che mi ha lasciato un dubbio relativo al client www-client/chromium.

non è rilevante nel mio sistema, ma ho voluto chiedere lo stesso.

----------

## oscarandrea

Se può servire a chi proviene da un profilo hardened il passaggio ad 17.0/hardened è indolore, anche perché - almeno io - nel profilo hardened avevo già pie ed ssp

----------

## fedeliallalinea

 *oscarandrea wrote:*   

> Se può servire a chi proviene da un profilo hardened il passaggio ad 17.0/hardened è indolore, anche perché - almeno io - nel profilo hardened avevo già pie ed ssp

 

Si in tutti i profili hardened pie era gia' presente

----------

## oscarandrea

 *fedeliallalinea wrote:*   

>  *oscarandrea wrote:*   Se può servire a chi proviene da un profilo hardened il passaggio ad 17.0/hardened è indolore, anche perché - almeno io - nel profilo hardened avevo già pie ed ssp 
> 
> Si in tutti i profili hardened pie era gia' presente

 

ma se non erro tramite gcc-config potevi sceglie se abilitare ssp, pie o entrambi, io avevo entrambi abilitati, quindi magari non tutti su hardened avevano pie  :Smile: 

----------

