# revdep-rebuild me chulea.

## Solusan

Hola a tod@s,

Últimamente en mi cruzada por actualizar y tunear al máximo la distro enviado al sistema la instrucción revdep-rebuild -p. Pues bueno, la cosa es que me salta con lo siguiente:

```
[ebuild   R   ] sys-devel/gcc-4.1.2
```

Y después de tirarse un mundo compilando, vuelvo a lanzar la instrucción y oooooooooootravez vuelve a compilar el gcc  :Confused: 

He borrado los archivos que se generan en  /root/ y vuelvo a lanzar la instrucción, con el mismo resultado.

Por cierto, es correcto que para reconstruir toda la distro haga:

```
emerge - system && emerge -uD world
```

?

Gracias!!

----------

## darkevil

hola Solusan,

A mi desde hace ya tiempo me viene haciendo lo mismo revdep-rebuild, siempre me recompila el gcc y la verdad que es un poco pesao.

emerge system te va a recompilar el sistema completo, no se para que querrás hacerlo, pero eso va a tardar bastante sobre todo si tienes paquetes como openoffice y firefox que no sean binarios.

----------

## Cereza

En realidad system no te va a recompilar todos los paquetes, sino solo los paquetes de sistema, es decir, el sistema básico de Gentoo, si realmente quieres recompilarlo absolutamente tooooodo, emerge system y world usando la opción -e

----------

## Zagloj

Sinceramente, creo que emerge -e system && emerge -e world es reiterativo, con tan sólo emerge -e world bastaría.

 Por otra parte deberías postear el mensaje exacto que te arroja 

```
revdep-rebuild --ignore --pretend
```

Hay un problema conocido con activar gcj que yo también sufrí y tiene solución.

 Saludos  :Wink: 

----------

## Solusan

Hola!

oooooooooooooooops!!

ahora me duelta esto:

```
ñaña~ # revdep-rebuild --ignoge --pretend

Configuring search environment for revdep-rebuild

Checking reverse dependencies...

Packages containing binaries and libraries broken by a package update

will be emerged.

Collecting system binaries and libraries... done.

  (/root/.revdep-rebuild.1_files)

Collecting complete LD_LIBRARY_PATH... done.

  (/root/.revdep-rebuild.2_ldpath)

Checking dynamic linking consistency...

  broken /usr/lib64/gcc/x86_64-pc-linux-gnu/4.1.2/libgcjawt.la (requires /usr/lib/../lib64/lib-gnu-java-awt-peer-gtk.la)

  broken /usr/lib64/gcc/x86_64-pc-linux-gnu/4.1.2/libgij.la (requires /usr/lib/../lib64/libgcj.la)

  broken /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libgcjawt.la (requires /usr/lib/../lib64/lib-gnu-java-awt-peer-gtk.la)

  broken /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libgij.la (requires /usr/lib/../lib64/libgcj.la)

 done.

  (/root/.revdep-rebuild.3_rebuild)

Assigning files to ebuilds... done.

  (/root/.revdep-rebuild.4_ebuilds)

Evaluating package order... done.

  (/root/.revdep-rebuild.5_order)

All prepared. Starting rebuild...

emerge --oneshot --ignoge --pretend =sys-devel/gcc-4.1.2

usage: emerge [options]

emerge: error: no such option: --ignoge

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*.?_*

```

 :Sad: 

----------

## Solusan

 *Cereza wrote:*   

> En realidad system no te va a recompilar todos los paquetes, sino solo los paquetes de sistema, es decir, el sistema básico de Gentoo, si realmente quieres recompilarlo absolutamente tooooodo, emerge system y world usando la opción -e

 

Bueno es que arriba lo puse mal :/

esto es lo que quería decir:

```
# emerge -e system && emerge -uD world
```

Así si ?

----------

## Solusan

 *darkevil wrote:*   

> no se para que querrás hacerlo, pero eso va a tardar bastante sobre todo si tienes paquetes como openoffice y firefox que no sean binarios.

 

Pues por que la arquitectura del pc estaba equivocada, y me da muchísimo palo volver a instalar todo :/

 :Smile: 

----------

## Solusan

Otra más...

Ahora necesitaría que no fuera layman el que gestiona el perativo.

```
Total: 267 packages (1 upgrade, 1 new, 265 reinstalls), Size of downloads: 12,646 kB

Portage tree and overlays:

 [0] /usr/portage

 [1] /usr/portage/local/layman/sabayon

```

Como puedo cambiar eso?

Gracias.

----------

## Zagloj

Sobre lo de layman, no entiendo bien la pregunta, ¿quieres gestionar los overlays a mano?, porque layman se ocupa de los overlays no de portage.

 En cuanto a lo de revdep-rebuild:

https://forums.gentoo.org/viewtopic-t-532551-highlight-libgcjawt.html

 Ahí encontré yo la solución.

 Saludos  :Wink: 

 Pd Otro por si acaso:

https://forums.gentoo.org/viewtopic-t-444323.html

----------

## Solusan

 *Solusan wrote:*   

> Otra más...
> 
> Ahora necesitaría que no fuera layman el que gestiona el perativo.
> 
> ```
> ...

 

Deleted!

```
 layman -d sabayon

* Successfully deleted overlay "sabayon".

```

----------

## Solusan

 *Zagloj wrote:*   

> Sobre lo de layman, no entiendo bien la pregunta, ¿quieres gestionar los overlays a mano?, porque layman se ocupa de los overlays no de portage.
> 
> 

 

Bueno, no, trato de que no le meta mano en la actualización, con el flag -d parece que me he cargado eses 'perfil' y creo que ya tira de las gento sources.

----------

## Solusan

 *Zagloj wrote:*   

> 
> 
>  En cuanto a lo de revdep-rebuild:
> 
> https://forums.gentoo.org/viewtopic-t-532551-highlight-libgcjawt.html
> ...

 

Leo esto:

 *Quote:*   

> Hm this has something to do with gcj. If I set -gcj in package.use and recompile gcc then the error disappears.

 

Miraré como se hace esto  :Smile: 

----------

## Zagloj

No hombre, esa solución es para si quieres desactivar el USE gcj en gcc, yo como necesitaba esa USE pues lo hice con lo de los enlaces simbólicos:

 *Quote:*   

> ln -s /usr/lib/gcc/i686-pc-linux-gnu/4.1.1/lib-gnu-java-awt-peer-gtk.la /usr/lib/lib-gnu-java-awt-peer-gtk.la 
> 
> ln -s /usr/lib/gcc/i686-pc-linux-gnu/4.1.1/libgcj.la /usr/lib/libgcj.la

 

 Si de verdad no quieres soporte java en gcc, adelante, pero piénsalo antes, porque para instalar algunas aplicaciones lo necesitas.

 Saludos  :Wink: 

----------

## Solusan

 *Zagloj wrote:*   

> No hombre, esa solución es para si quieres desactivar el USE gcj en gcc, yo como necesitaba esa USE pues lo hice con lo de los enlaces simbólicos:
> 
>  *Quote:*   ln -s /usr/lib/gcc/i686-pc-linux-gnu/4.1.1/lib-gnu-java-awt-peer-gtk.la /usr/lib/lib-gnu-java-awt-peer-gtk.la 
> 
> ln -s /usr/lib/gcc/i686-pc-linux-gnu/4.1.1/libgcj.la /usr/lib/libgcj.la 
> ...

 

Pues esto tampoco me ayuda mucho:

```
fix_libtool_files.sh
```

Bueno, voy a emerger el mundo con la opción -e y luego veré si se calma el derdep  :Smile: 

----------

## the incredible hurd

 *Solusan wrote:*   

> Hola!
> 
> oooooooooooooooops!!
> 
> ahora me duelta esto:
> ...

 

Lo único que te está diciendo aquí es que has tecleado mal --ignore y has puesto otra cosa que no entiende: --ignoge

Te aconsejo que te fijes un poco más en los errores antes de venir a pegarlos al foro   :Wink: 

----------

## Solusan

 *the incredible hurd wrote:*   

>  *Solusan wrote:*   Hola!
> 
> oooooooooooooooops!!
> 
> ahora me duelta esto:
> ...

 

arj!!!

Cierto cierto, el logmein (http://logmein.com) no me ha dejado ver bien lo que pegaba, sorry al foro   :Embarassed: 

----------

## Solusan

Aquí está lo que me suelta después de haber hecho un emerge -e world:

```

ñañaña ~ # revdep-rebuild --ignore --pretend

Configuring search environment for revdep-rebuild

Checking reverse dependencies...

Packages containing binaries and libraries broken by a package update

will be emerged.

Collecting system binaries and libraries... done.

  (/root/.revdep-rebuild.1_files)

Collecting complete LD_LIBRARY_PATH... done.

  (/root/.revdep-rebuild.2_ldpath)

Checking dynamic linking consistency...

  broken /usr/libexec/hald-probe-storage (requires  libparted-1.8.so.6)

  broken /usr/libexec/hald-probe-volume (requires  libparted-1.8.so.6)

  broken /usr/lib64/gcc/x86_64-pc-linux-gnu/4.1.2/libgcjawt.la (requires /usr/lib/../lib64/lib-gnu-java-awt-peer-gtk.la)

  broken /usr/lib64/gcc/x86_64-pc-linux-gnu/4.1.2/libgij.la (requires /usr/lib/../lib64/libgcj.la)

  broken /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libgcjawt.la (requires /usr/lib/../lib64/lib-gnu-java-awt-peer-gtk.la)

  broken /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libgij.la (requires /usr/lib/../lib64/libgcj.la)

 done.

  (/root/.revdep-rebuild.3_rebuild)

Assigning files to ebuilds... done.

  (/root/.revdep-rebuild.4_ebuilds)

Evaluating package order... done.

  (/root/.revdep-rebuild.5_order)

All prepared. Starting rebuild...

emerge --oneshot --pretend =sys-apps/hal-0.5.9.1-r3 =sys-devel/gcc-4.1.2

These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild     UD] sys-apps/parted-1.8.6 [1.8.8]

[ebuild   R   ] sys-devel/gcc-4.1.2

[ebuild   R   ] sys-apps/hal-0.5.9.1-r3

Now you can remove -p (or --pretend) from arguments and re-run revdep-rebuild.

```

Otra vez me dice que recompila el gcc.

----------

## Eleazar Anzola

```
Now you can remove -p (or --pretend) from arguments and re-run revdep-rebuild. 
```

 ¿Por que te das tan mala vida? solo tienes que leer un poco más los logs ó final de la salida y la mayoría de las veces la solución esta a simple vista (Sin ofender, dejemos la flojera mental y leamos un poco más antes de preguntar). Dicho lo anterior se ve claramente que te dice quita el --pretend es decir que debes colocar 

```
revdep-rebuild
```

 sin argumento alguno y ya, he visto que algunas veces se repiten los paquetes porque aun existen carpetas en el 

```
/var/tmp/portage
```

 que no permiten se reescriban los paquetes ya intslados ó emergidos, borra todos esos temporales y vuelve a hacerlo, una vez que termine ya no deberia existir problemas.

Pero es de acotar que antes es mejor hacer un 

```
emerge --sync && emerge -uDvN world
```

----------

## Solusan

 *Eleazar Anzola wrote:*   

> 
> 
> ```
> Now you can remove -p (or --pretend) from arguments and re-run revdep-rebuild. 
> ```
> ...

 

No hombre no. yo sólo ponía lo que me contaron que pusiera  :Smile: 

Es decir, lo que saliera de la instrucción y así lo hice  :Smile: 

 *Eleazar Anzola wrote:*   

> Dicho lo anterior se ve claramente que te dice quita el --pretend es decir que debes colocar 
> 
> ```
> revdep-rebuild
> ```
> ...

 

Perfecto!!

Pues así lo haré, gracias!!

----------

## Zagloj

¿Lo solucionaste? Yo me refería más bien a hacer esto:

```
ln -s /usr/lib/gcc/i686-pc-linux-gnu/4.1.1/lib-gnu-java-awt-peer-gtk.la /usr/lib/lib-gnu-java-awt-peer-gtk.la
```

 Por supuesto sustituye i686 con tu arquitectura y demás.

----------

## Solusan

 *Zagloj wrote:*   

> ¿Lo solucionaste? Yo me refería más bien a hacer esto:
> 
> ```
> ln -s /usr/lib/gcc/i686-pc-linux-gnu/4.1.1/lib-gnu-java-awt-peer-gtk.la /usr/lib/lib-gnu-java-awt-peer-gtk.la
> ```
> ...

 

Pues la verdad es que ando desesperadito, ya no se que hacer para que no me pete un emerge -e system.

Me va diciendo que me pera sistemáticamente el paquete gmp.

Ahora mismo no tengo la máquina delante y n tengo acceso a ella, pero mañana pongo exactamente lo que me pone.

Aquí pongo un avance...

https://forums.gentoo.org/viewtopic-p-4547303.html#4547303

Gracias!

----------

