# [Limpieza del sistema]no puedo compilar (resuelto)

## carlos plaza

Hola a toda esta gran familia del mejor foro Gentoo  :Wink: 

Bueno amigos el caso es que hice una limpieza primero para quitar versiones viejas 

```
emerge --prune
```

 Luego para las dependencias  *Quote:*   

> emerge --depclean

  y por ultimo 

```
revdep-rebuild
```

Ok hasta aquí, pero cuando revdep-rebuild quiso emerger para arreglar las dependencias  :Evil or Very Mad:  *Quote:*   

> All prepared. Starting rebuild
> 
> emerge --oneshot  app-emulation/emul-linux-x86-soundlibs:0
> 
> dev-libs/klibc:0                                          
> ...

  Trate de ver si era problema de gcc-config (ya me había pasado  :Wink: ) hago gcc-config 1 y me sale esto  *Quote:*   

> id: error while loading shared libraries: libselinux.so.1: cannot open shared object file: No such file or directory
> 
> * gcc-config: Must be root.

  he leído y leído pero no se como solucionar, y creo que el problema es con esta librería ya que todo lo que quiero compilar comienza con este error *Quote:*   

>  mv: error while loading shared libraries: libselinux.so.1: cannot open shared object file: No such file or directory  

      Alguna ayuda por favor.  :Idea: 

----------

## carlos plaza

Para colmo, reinicie para para levantar con livecd haber si podía solucionar algo y nada  :Crying or Very sad:  ahora cuando reinicie un montón de errores  *Quote:*   

>  error while loading shared libraries: libselinux.so.1: cannot open shared object file: No such file or directory

  y no tengo consola en X  :Evil or Very Mad:   :Evil or Very Mad:   :Evil or Very Mad:  desastre total  :Shocked: 

----------

## ZaPa

Hola.

La solución es sencilla...

Emerge el paquete coreutils con la use selinux...

```

USE=selinux emerge coreutils

```

Si no consigues emerger coreutils, haz un downgrade de la version del paquete coreutils y seguro te funcionara.

Un saludo, ya nos cuentas.

----------

## pelelademadera

 *ZaPa wrote:*   

> Hola.
> 
> La solución es sencilla...
> 
> Emerge el paquete coreutils con la use selinux...
> ...

 

no hagan eso de use=* emerge

agreguenlo al portage.use.... en el proximo emerge --DuNav world vuelve a tener quilombos....

----------

## gringo

 *Quote:*   

> La solución es sencilla... 

 

me temo que no : selinux sólo se selecciona desde el perfil del mismo nombre y de cualquier manera, si coreutils no funciona, emerge tampoco.

En el tinderbox no he visto que haya un paquete de libselinux, asi que me temo que o bien buscas a alguien que te pueda facilitar un paquete libselinux o usas un paquete de coreutils del tinderbox ( sin soporte para selinux eso si) para ir tirando mientras arreglas el sistema.

http://tinderbox.x86.dev.gentoo.org/default-linux/

de verdad necesitas selinux ?

saluetes

----------

## ZaPa

Hola.

Gringo cuanto tiempo sin verte por aqui amigo  :Very Happy:  .

Pero a nuestro amigo si le funciona emerge,no? o tampoco te funciona emerge?

Un saludo.

----------

## gringo

 *Quote:*   

> Gringo cuanto tiempo sin verte por aqui amigo 

 

si, paso poco por aqui últimamente, pero no os libraréis fácilmente de mi  :Razz: 

 *Quote:*   

> Pero a nuestro amigo si le funciona emerge,no?

 

en el título dice que no puede compilar y en la salida de arriba cuando quiere compilar coreutils se ve que no funciona : en el momento que emerge llama  a mv se la pega porque no funciona  :Wink: 

saluetes

----------

## pelelademadera

me parece que el problema esta en el prune o en el depclean....

desde que salio python 3.* cuando haces depclean, te borra el 2.6* y sin pyython 2.6 no anda emerge....

para mi el problema biene x ahi y no por selinux.

a mi me paso eso con python. lo solucione con una imagen, hice el chroot, y me cree un binario... despues lo agregue al world, asi no me lo borra el depclean.

por ahi no es lo mismo que me paso a mi, pero creo q si

----------

## Txema

¿¿¿¿Pero a quíen se le ocurre hacer un --prune y --depclean sin un --ask???? a veces creo que sois suicidas o masocas xD

Empieza por mirar el log de emerge (/var/log/emerge.log) a ver qué paquetes se han cargado --prune y --depclean tan alegremente...

Saludos.

----------

## carlos plaza

Gracias a todos por su pronta respuesta.

El caso no necesito pero para nada selinux  que yo sepa  :Question:  mi perfil:  *Quote:*   

> Available profile symlink targets:
> 
>   [1]   default/linux/amd64/10.0 *
> 
>   [2]   default/linux/amd64/10.0/desktop
> ...

  la version de python:   *Quote:*   

> Available python interpreters:
> 
>   [1]   python2.6 *
> 
>   [2]   python3.1

  Se que hice una gran metida de pata pero fíjense lo que hice hace  poco lo pude solucionar pero esto de libselinux.so.1 me tiene con catarro  :Evil or Very Mad: .

Bueno el caso es que me puedo bajar el sys-libs/libselinux-2.0.85 pero y como lo compilo  :Question:   :Question: 

También tengo instalado sys-app/coreutils-7.6   :Rolling Eyes: 

----------

## ZaPa

Hola..

No quiero interumpir el transcurso de este post pero...

Que es lo que hace emerge --prune y emerge --ask? ¿Y que es tinderbox?

Sobre este post... lo que podrias hacer es, iniciar con el live cd minimal de gentoo, y desde allí hacer un chroot y compilar coreutils de nuevo.

En una ocasión, me paso algo similar, y coreutils tampoco lo podia instalar .Lo que tube que hacer es, montar la carpeta contenedora de los programas "cat, mv,cd" (coreutils) del live cd dentro de la carpeta de ejecutables de mi gentoo, despues d esto hacer un chroot y ahi ya tenia probisionalmente todos los programas de coreutils disponibles.

Ya pudé compilar, reiniciar y solucionado.

Un saludo.

----------

## carlos plaza

Hola amigo

 *ZaPa wrote:*   

> Hola..
> 
> No quiero interumpir el transcurso de este post pero...
> 
> Que es lo que hace emerge --prune y emerge --ask? ¿Y que es tinderbox?
> ...

 

Disculpa mi ignorancia pero me imagino que debe ser en /usr/sbin o /sbin pero no se cual es la carpeta contenedora de los programas  :Question: 

----------

## ZaPa

Hola.

La carpeta que contiene dichos programas esta en /bin/.

Esa es la carpeta que tendras que montar del live cd a la carpeta donde vas a montar tu gentoo. Montar tu gentoo en esa carpeta y hacer un chroot.

¿Entiendes la idea?

Saludos.

----------

## i92guboj

El caso es que tus binarios están enlazados con la librería de selinux. Las únicas explicaciones sencillas que se me ocurren para esto es que, o bien has tenido un perfil erróneo durante algún tiempo sin saberlo, o bien has instalado binarios prefabricados que no son correctos para tu sistema.

La forma más sencilla de arreglar el problema que se me ocurre es ir viendo los binarios que fallan y rescatarlos desde un stage o desde paquetes binarios de tinderbox o alguna fuente de confianza. Una vez que tengas lo suficiente para echar a andar emerge, el resto es fácil:

```
emerge -e system
```

Y luego lo demás.

----------

## carlos plaza

Gracias amigo ZaPa y a todos los que me han prestado su colaboración.

Bueno copie los archivos cat mv  pero el cd no lo encontré. Hice el chroot y trate de compilar pero sigue el mensaje fatal error while loading shared libraries: libselinux.so.1: cannot open shared object file: No such file or directory  :Evil or Very Mad:   :Evil or Very Mad:   :Question: 

 *i92guboj wrote:*   

> La forma más sencilla de arreglar el problema que se me ocurre es ir viendo los binarios que fallan y rescatarlos desde un stage o desde paquetes binarios de tinderbox o alguna fuente de confianza. Una vez que tengas lo suficiente para echar a andar emerge, el resto es fácil:
> 
> 

 

 Me baje el ultimo stage3-amd64-20091022.tar.bz2 pero no se como hacer lo que dices con el stage y me imagino que si lo descomprimo con tar xvjpf me puede sobreescribir todo el árbol del sistema  :Question:  y eso es como comenzar desde cero no  :Exclamation: .

He hecho todo lo que me han sugerido, Me he paseado por todo el foro ingles alemán buscando y sincera mente lo que hice no fue una gran metida de pata fue la peor pero la peor BURRADA   :Evil or Very Mad:   :Evil or Very Mad:   :Evil or Very Mad:   :Evil or Very Mad:   :Evil or Very Mad:  .

Menos mal que la portátil es súper rápida si no consigo arreglar esto, pues ni modo salvo mis archivos de configuración que tanto me costaron afinar y en dos días de compilación como nueva  :Wink:   pero me gustaría arreglarla como debe ser elegantemente.

----------

## i92guboj

 *carlos plaza wrote:*   

> Gracias amigo ZaPa y a todos los que me han prestado su colaboración.
> 
> Bueno copie los archivos cat mv  pero el cd no lo encontré.

 

Muchos de los comandos base son builtins de bash. O sea, simplemente copia /bin/bash desde el cd a tu disco duro. Eso habilitará la gran mayoría de los comandos base (suponiendo que bash sea tu shell predeterminado).

 *Quote:*   

>  Hice el chroot y trate de compilar pero sigue el mensaje fatal error while loading shared libraries: libselinux.so.1: cannot open shared object file: No such file or directory    

 

El chroot por si solo no arreglará nada, ya que una vez que se hace efectivo pasas a usar los binarios del sistema que está roto, y seguirán dándote el mismo problema.

 *Quote:*   

>  *i92guboj wrote:*   La forma más sencilla de arreglar el problema que se me ocurre es ir viendo los binarios que fallan y rescatarlos desde un stage o desde paquetes binarios de tinderbox o alguna fuente de confianza. Una vez que tengas lo suficiente para echar a andar emerge, el resto es fácil:
> 
>  
> 
>  Me baje el ultimo stage3-amd64-20091022.tar.bz2 pero no se como hacer lo que dices con el stage y me imagino que si lo descomprimo con tar xvjpf me puede sobreescribir todo el árbol del sistema  y eso es como comenzar desde cero no .
> ...

 

La opción de fuerza bruta que describes es viable si tu sistema y el stage que uses están muy cercanos en cuanto a versiones se refieren. Pero no lo aconsejo a no ser que sepas bien lo que haces, porque es difícil predecir si habrá algún efecto negativo. Por ahora, copia solamente los binarios que necesites para que lo más básico vaya funcionando, comenzando por bash. Luego prueba si emerge funciona o no, recuerda que casi todo usa bash internamente en Gentoo, incluyendo al propio portage (los ebuilds son scripts de shell, ni más ni menos), así que es posible que solo bash esté roto.

----------

## carlos plaza

Gracias 

 *i92guboj wrote:*   

> 
> 
> Muchos de los comandos base son builtins de bash. O sea, simplemente copia /bin/bash desde el cd a tu disco duro. Eso habilitará la gran mayoría de los comandos base (suponiendo que bash sea tu shell predeterminado).

 

 *Quote:*   

>  *i92guboj wrote:*   La forma más sencilla de arreglar el problema que se me ocurre es ir viendo los binarios que fallan y rescatarlos desde un stage o desde paquetes binarios de tinderbox o alguna fuente de confianza. Una vez que tengas lo suficiente para echar a andar emerge, el resto es fácil:
> 
>  
> 
>  *Quote:*   La opción de fuerza bruta que describes es viable si tu sistema y el stage que uses están muy cercanos en cuanto a versiones se refieren. Pero no lo aconsejo a no ser que sepas bien lo que haces, porque es difícil predecir si habrá algún efecto negativo. Por ahora, copia solamente los binarios que necesites para que lo más básico vaya funcionando, comenzando por bash. Luego prueba si emerge funciona o no, recuerda que casi todo usa bash internamente en Gentoo, incluyendo al propio portage (los ebuilds son scripts de shell, ni más ni menos), así que es posible que solo bash esté roto. 

  Es bueno cometer burradas a veces, como se aprende  :Wink: 

Termine copiando todo /bin y se me arreglo un poco las cosas pude levantar la portatil sin el poco de errores y ya tengo consola en X, pero  haciendo

```
 revdep-rebuild -v -- --ask
```

 me dice  *Quote:*   

> * Configuring search environment for revdep-rebuild
> 
> * Temporary cache files are located in /var/cache/revdep-rebuild
> 
> * Environment mismatch from previous run, deleting temporary files...
> ...

  y yo para que necesito libselinux.so.1 si no es mi perfil, como hago para que no busque linkear a libselinux, que lo que me esta dando problemas.  :Question:  voy a tratar de emerge -e system a ver  :Wink: 

Ha y muchas gracias

----------

## carlos plaza

Nada no puedo compilar todavía por error while loading shared libraries: libselinux.so.1: cannot open shared object file: No such file or directory Sera que voy a tener que cambiarme al perfil selinux/2007.0/amd64  :Question:  y depues volver al default/linux/amd64/10.0  :Question:   :Question: 

----------

## carlos plaza

Resuelto mi problema, muchas gracias a todos por su gran atención.

Solución, simple copie del livecd a mi disco *Quote:*   

> /usr/bin/chcon 
> 
>   /usr/bin/id 
> 
>   /usr/bin/install 
> ...

  Dios como me gusta Gentoo y que grande es este FORO. La mejor gente del mundo se encuentra en este foro  :Wink:   :Laughing:   de nuevo muchas gracias a todos.

----------

## Inodoro_Pereyra

Gentoo nunca muere, como dicen... 

Salud!

----------

