# [risolto] emerge Cairo falisce dopo sostituzione vga

## Gr3yFox

Ho recentemente sostituito la mia Radeon X1600 Pro con una Geforce 9600 GT. Ho sostituito i drivers e disinstallato quelli vecchi (emerge --unmerge ati-drivers), tutto funziona benissimo.

Tuttavia l'update di cairo non sembra averla presa benissimo, infatti continua a cercare le libgl di ati anzichè quelle di nvidia...

```
creating libcairo.la

/bin/sed: can't read /usr/lib64/opengl/ati/lib/libGL.la: No such file or directory

libtool: link: `/usr/lib64/opengl/ati/lib/libGL.la' is not a valid libtool archive

make[2]: *** [libcairo.la] Error 1

make[2]: Leaving directory `/var/tmp/portage/x11-libs/cairo-1.6.4/work/cairo-1.6.4/src'

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory `/var/tmp/portage/x11-libs/cairo-1.6.4/work/cairo-1.6.4'

make: *** [all] Error 2

 * 

 * ERROR: x11-libs/cairo-1.6.4 failed.

 * Call stack:

 *               ebuild.sh, line   49:  Called src_compile

 *             environment, line 2697:  Called die

 * The specific snippet of code:

 *       emake || die "compile failed"

 *  The die message:

 *   compile failed

 * 

 * If you need support, post the topmost build error, and the call stack if relevant.

 * A complete build log is located at '/var/tmp/portage/x11-libs/cairo-1.6.4/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/x11-libs/cairo-1.6.4/temp/environment'.

 * 
```

Nessuno sa dirmi qualcosa in proposito per favore?

----------

## crisandbea

questo comando 

```
eselect opengl list
```

 cosa ti dice  ??

hai cambiato il make.conf  mettendo nvidia al posto di ati in VIDEO_CARDS ???? 

con conseguente riemersione di xorg-server????

ciauz

----------

## Gr3yFox

La lista delle opengl dovrebbe dire che è selezionata nvidia se non ho fatto casino e non l'ho cambiata per sbaglio:

```
# eselect opengl list

Available OpenGL implementations:

  [1]   nvidia *

  [2]   xorg-x11
```

make.conf l'ho cambiato, ho messo "vesa nvidia" al posto di "vesa fglrx".

E no, xorg-server non l'ho ancora riemerso. Il fatto è che emerge world me lo piazza subito dopo a cairo, quindi pensavo andasse fatto dopo. Provo subito.

Grazie per la risposta rapidissima  :Smile: 

----------

## djinnZ

prova qualcosa del genere

```
emerge -1 xorg-server || { revdep-rebuild ; emerge -1 xorg-server || emerge --resume --skipfirst}

emerge --depclean 

emerge --with-bdeps y -NDu world || { e=0 ; until [ $e != 0 ]

                                                                  do

                                                                  emerge --resume --skipfirst ; e=$?

                                                                  done }

revdep-rebuild
```

----------

## Gr3yFox

Ho appena riemerso xorg-server e niente, cairo continua a dare lo stesso problema

Ora provo a seguire il tuo consiglio djinnZ  :Smile: 

----------

## djinnZ

dimenticavo...

prova a riselezionare xgl od a compilare con xorg-x11 invece di nvidia

----------

## Gr3yFox

XGL non cel'ho (per un brevissimo periodo ho usato aiglx e compiz-fusion, però sto cercando di reperire tutti i pacchetti per levarli che mi danno più fastidio che altro).

Quanto a compilare con xorg-x11 invece di nvidia, cosa intendi?

Il depclean di prima mi da errore:

```
# emerge --depclean

*** WARNING ***  Depclean may break link level dependencies.  Thus, it is

*** WARNING ***  recommended to use a tool such as `revdep-rebuild` (from

*** WARNING ***  app-portage/gentoolkit) in order to detect such breakage.

*** WARNING ***  

*** WARNING ***  Also study the list of packages to be cleaned for any obvious

*** WARNING ***  mistakes. Packages that are part of the world set will always

*** WARNING ***  be kept.  They can be manually added to this set with

*** WARNING ***  `emerge --noreplace <atom>`.  Packages that are listed in

*** WARNING ***  package.provided (see portage(5)) will be removed by

*** WARNING ***  depclean, even if they are part of the world set.

*** WARNING ***  

*** WARNING ***  As a safety measure, depclean will not remove any packages

*** WARNING ***  unless *all* required dependencies have been resolved.  As a

*** WARNING ***  consequence, it is often necessary to run

*** WARNING ***  `emerge --update --newuse --deep world` prior to depclean.

Calculating dependencies... done!

Dependencies could not be completely resolved due to

the following required packages not being installed:

~kde-base/kdelibs-3.5.8 required by kde-base/kate-3.5.8

>=dev-java/antlr-2.7.5-r3 required by dev-java/ant-antlr-1.7.0

=www-servers/apache-2* required by dev-util/subversion-1.4.6

~kde-base/kdelibs-3.5.5 required by kde-base/libkonq-3.5.5

sys-apps/mktemp required by sys-apps/debianutils-2.25

>=sys-devel/gcc-config-1.4 required by sys-devel/gcc-4.1.2

Have you forgotten to run `emerge --update --newuse --deep world` prior to

depclean?  It may be necessary to manually uninstall packages that no longer

exist in the portage tree since it may not be possible to satisfy their

dependencies.  Also, be aware of the --with-bdeps option that is documented

in `man emerge`.

 * GNU info directory index is up-to-date.
```

edit: e quel "emerge --update --newuse --deep -av world" mi segnala 500 inquietanti mb di sorgenti scaricare, per quello ci vorrà un bel po'....

----------

## devilheart

hai modificato VIDEO_CARDS in make.conf?

----------

## Gr3yFox

Si, lo avevo già modificato come ho scritto prima  :Smile: 

```
# grep VIDEO_CARDS /etc/make.conf

VIDEO_CARDS="vesa nvidia"
```

----------

## djinnZ

scusa intendevo opengl ed il depclean va tra due emerge world, stavo pensando ad altro mentre scrivevo.

Mi sa che non ti resta che aggiornare il sistema a suon di emerge --resume --skipfirst finchè non riesci a toglierti dai piedi tutto.

Oppure potresti rimettere fglrx, aggiornare il sistema finchè non hai il supporto nvidia e toglierlo di nuovo.

Non è che hai fatto la furbata di aggiornare portage mentre cambiavi le use flag?

----------

## Gr3yFox

Figuriamoci, non mi sogno neppure di toccare la configurazione di portage mentre lo aggiorno.

edit: cmq ora sto in mezzo ad un emerge completo, 146esimo pacchetto su 298  :Razz: . Spero che basti per far tornare tutto a posto.

----------

## djinnZ

mi pare alquanto strano. VIDEO_CARDS influenzerà le dipendenze si e no di una decina di pacchetti. Non è che hai scombinato il profilo o cambiato altro?

prova a vedere se non ti è rimasta schifezza in /etc/env.d

----------

## Gr3yFox

No, penso sia perchè ho la bruttissima abitudine di dare un semplice "emerge -av world" anzichè "emerge --update --newuse --deep -av world".

----------

## Gr3yFox

Il primo emerge --update --newuse --deep -av world è finito. Ho anche controllato con revdep-rebuild che mi ha aggiustato qualche linking errato.

Soltanto che quell'emerge --depclean non mi convince per niente, scorrendo velocemente il lunghissimo listato del --pretend vedo che vuole eliminarmi alcuni pacchetti che uso (ad esempio x11-apps/xkill, sys-apps/usbutils)...

----------

## Gr3yFox

Accidenti ho scoperto perchè: l'unmerge come al solito non rimuove i moduli del kernel, quindi anche se disinstallato tutto, rimaneva fglrx.ko in /lib64/modules. Tolto questo revdep-rebuild si è accorto del linking rotto e mi ha fatto riemergere altri pacchetti che prima non aveva individuato come danneggiati. Ora è tornato tutto a posto.

Grazie a tutti per il supporto.

----------

