# Disastro gentoo #2 - emerge --prune [Risolto]

## battistis

Non so perchè mi è venuto in mente di farlo ma ho ho lanciato un maledetto emerge --prune   :Crying or Very sad: 

Dopodiche' ho avuto il dubbio che ci fosse qualche problema nelle librerie e o lanciato un revdep-rebuild

e mi sono accorto del casino ...non vi posto l'elenco dei broken perchè ci metterei un paio di mesi

Ora revdep dovrebbe correggere la situazione da solo vero?

però quando cerca di ri-emergere la roba mancante si blocca con questo errore

```

..........

Calculating dependencies /

!!! All ebuilds that could satisfy "=dev-python/gst-python-0.10.5" have been masked.

!!! One of the following masked packages is required to complete your request:

- dev-python/gst-python-0.10.5 (masked by: ~x86 keyword)

For more information, see MASKED PACKAGES section in the emerge man page or

refer to the Gentoo Handbook.

revdep-rebuild failed to emerge 

all packages

you have the following choices:

- if emerge failed during the build, fix the problems and re-run revdep-rebuild

    or

- use -X or --package-names as first argument (trys to rebuild package, not exact

  ebuild)

    or

- set ACCEPT_KEYWORDS="~<your platform>" and/or /etc/portage/package.unmask

  (and remove /root/.revdep-rebuild.5_order to be evaluated again)

    or

- modify the above

 emerge command and run it manually

    or

- compile or unmerge unsatisfied packages manually, remove temporary files and

  try again (you can edit package/ebuild list first)

To remove temporary files, please run:

rm /root/.revdep-rebuild*.?_*

...

```

Quindi provo manualmente

```
ACCEPT_KEYWORDS="~x86" emerge -av =dev-python/gst-python-0.10.5
```

e mi si blocca qui

```
Calculating dependencies... done!

[ebuild  NS   ] dev-libs/glib-2.10.3  USE="doc -debug -hardened" 0 kB

[ebuild  NS   ] sys-devel/automake-1.7.9-r1  564 kB

[ebuild  NS   ] x11-libs/gtk+-2.8.20-r1  USE="X doc jpeg tiff -debug -xinerama" 11,960 kB

[ebuild  NS   ] media-libs/gstreamer-0.10.10  1,752 kB

[ebuild   R   ] dev-python/gst-python-0.10.5  USE="doc" 0 kB

...CUT...

checking for C compiler default output file name... configure: error: C compiler cannot create executables

See `config.log' for more details.

!!! Please attach the following file when filing a report to bugs.gentoo.org:

!!! /var/tmp/portage/glib-2.10.3/work/glib-2.10.3/config.log

!!! ERROR: dev-libs/glib-2.10.3 failed.

Call stack:

  ebuild.sh, line 1546:   Called dyn_compile

  ebuild.sh, line 937:   Called src_compile

  glib-2.10.3.ebuild, line 64:   Called econf '--enable-gtk-doc' '--with-threads=posix'

  ebuild.sh, line 540:   Called die

!!! econf failed

```

ho bisogno di questa macchina per lavorarci...vi ringrazio in anticipo

prometto mai piu' --prunette nella mia vita   :Smile: 

----------

## Ic3M4n

beh... hai provato a metterlo in package.keywords?

in ogni caso una regola di vita: collegare il cervello prima di fare qualsiasi cosa come amministratore.

----------

## battistis

 *Ic3M4n wrote:*   

> beh... hai provato a metterlo in package.keywords?
> 
> in ogni caso una regola di vita: collegare il cervello prima di fare qualsiasi cosa come amministratore.

 

lo so hai ragione ma avevo letto sul wiki che un prune liberava parecchio spazio su hd, in effetti a furia di emerge mi è rimmasto 1gb libero nella root

ps. ho modificato il primo post un paio di volte

----------

## battistis

mezza soluzione l'ho trovata qui:

https://forums.gentoo.org/viewtopic.php?t=27486

 *neiras wrote:*   

> This is usually caused by doing an emerge world that includes a gcc upgrade.  What happens is, the new gcc is compiled, but the ebuild fails to switch your system to the new compiler. Before trying any of the solutions above, try doing:
> 
> ```
> # gcc-config
> ```
> ...

 

ora continuo a emergere i pacchetti mancanti singolarmente e poi revdep ...

----------

## Scen

Un consiglio: nell'installazione manuale dei vari pacchetti mancanti o "rovinati", utilizza l'opzione --oneshot per quelli che sono solamente dipendenze di altri, al fine di non aggiungerli al world file, incasinandolo di brutto!

----------

## Sparker

in teoria, dovrebbe bastare un bel emerge -uD world per sistemare (a meno di pacchetti maschherati...)

Il problema potrebbe essere grave se diventa impossibile compilare senza i pacchetti mancanti.

Comunque, finchè non diventa più affidabile, consiglio di dare emerge --prune -pv e poi eseguire il prune sui singoli pacchetti se si è sicuri di non combinare danni (almeno non irreparabili)

----------

## riverdragon

 *battistis wrote:*   

> 
> 
> ```
> checking for C compiler default output file name... configure: error: C compiler cannot create executables
> 
> ...

 Hai già trovato la soluzione, ma l'errore come si legge da qui non dipende dal pacchetto bensì da gcc.

@oneshot: quale sarebbe il problema di aggiungere pacchetti al world file?

----------

## Onip

aggiungere dipendenze di pacchetti al world file significa sporcare il sistema. Se il pacchetto A ti installa la dipendenza D quando tu togli A allora D ti verrà tolta da 

```
# emerge --depclean
```

Se, invece, D viene messa in world quando tu togli A D ti rimarrà sul sistema "a far niente"

----------

## battistis

```
 # revdep-rebuild

...

Dynamic linking on your system is consistent... All done.

```

  :Smile: 

..risolto dopo 10 ore di emerge...

Grazie a tutti dei consigli.

Cattivo veramente quel prune!

Ho emerso questi pacchetti mancati senza l'opz --oneshot:

glib-2.10.3 

gst-python-0.10.5

automake-1.5

automake-1.8.5-r3

id3lib-3.8.3-r4

flac-1.1.2-r3

dovrei riemergerli con quella opz o posso tralasciare?

Per liberami spazio nella root posso fare tranquillamente:

```

eclean-dist 

rm -r /usr/portage/distfiles/* 

rm -r /var/tmp/portage/* 

rm /var/tmp/* 

rm /tmp/* 

rm -r ~/.Trash/* 

```

senza pentirmene amaramente?

ps. Lo so che è buona norma mantenere i sorgenti sul proprio pc ma io lancio un sync una volta ogni 2-3 mesi

----------

## Onip

per toglierli dal world basta che editi il world file   :Wink: 

```
# nano -w /var/lib/portage/world
```

----------

## battistis

 *Onip wrote:*   

> per toglierli dal world basta che editi il world file  
> 
> ```
> # nano -w /var/lib/portage/world
> ```
> ...

 

scusa la niubbagine ma xchè dovrei togliermi dal world?

----------

## Onip

se quei pacchetti sono solo dipendenze di altri non è bene che stiano in world, per motivi di pulizia del sistema. Non che facciano dei danni irreparabili, sia chiaro.

se, invece, sono pacchetti che tu esplicitamente hai voluto emergere per un qualsivoglia motivo quei pacchetti devono stare in world.

Byez

----------

## battistis

 *Onip wrote:*   

> se quei pacchetti sono solo dipendenze di altri non è bene che stiano in world, per motivi di pulizia del sistema. Non che facciano dei danni irreparabili, sia chiaro.
> 
> se, invece, sono pacchetti che tu esplicitamente hai voluto emergere per un qualsivoglia motivo quei pacchetti devono stare in world.
> 
> Byez

 

sono pacchetti che avevo tolto erroneamente con emerge --pretend e che revdep-rebuild mi a remerso per riparare alle dipendenze broken

il motivo per cui gli ho emersi  manualmente perchè sapevo che revdep si bloccava su quelli e quindi richiedevano maggiore attenzione 

non c'e' una ragione particolare

quindi meglio lasciarli nel world no?

Uno però lo tolgo di sicuro

www-client/prozilla

grazie del consiglio

----------

