# Errores comunes con Gentoo

## the incredible hurd

La idea de este hilo es aprender de los errores que todos hemos cometido alguna vez con Gentoo.

El primero de ellos y uno que yo cometí al principio mucho fue este:

Dado que las CFLAGS no son variables de entorno (como en otras distros suele ocurrir),

```
CFLAGS="${CFLAGS} -NUEVA_CFLAG" emerge blah
```

daba como resultado que la única CFLAG del paquete fuera -NUEVA_CFLAG e ignorase todas aquellas del make.conf

(Prefiero no ser más explícito con la CFLAG añadida en cuestión)

Espero que todos aportemos algunos de nuestros errores y equivocaciones para aprender y no cometerlos nuevamente.

Gracias.

----------

## i92guboj

 *the incredible hurd wrote:*   

> La idea de este hilo es aprender de los errores que todos hemos cometido alguna vez con Gentoo.
> 
> El primero de ellos y uno que yo cometí al principio mucho fue este:
> 
> Dado que las CFLAGS no son variables de entorno (como en otras distros suele ocurrir),
> ...

 

Son variables. De hecho, /etc/make.conf es un script válido en bash. El problema no es que no sean variables, el problema es que, aunque sean variables, el fichero /etc/make.conf no se interpreta al inicio, ni al abrir una sesión de bash. Dicho script es interpretado (sourced) cuando emerge entra en escena. 

Cuando tú ejecutas esta línea:

```
CFLAGS="${CFLAGS} -NUEVA_CFLAG" emerge blah
```

Bash hace lo siguiente:

1.- establece un ambiente para ejecutar el nuevo programa

2.- declara la variable CFLAGS en dicho ambiente, y le asigna el valor correspondiente, el problema es en esta fase, porque en el ambiente actual aún no existe la variable CFLAGS

3.- ejecuta emerge, es en este paso cuando se cargaría el valor de CFLAGS desde make.conf, por lo que no funciona como esperábamos  :Razz: 

Sin embargo, si que debería "funcionar" si antes volcamos make.conf en nuestro shell actual:

```

# source /etc/make.conf; CFLAGS="${CFLAGS} -pepitogrillo"; echo $CFLAGS

-O2 -march=athlon64 -pipe -msse3 -pepitogrillo

```

Y fíjate que pongo "funcionar" entre comillas. Porque aunque éste sea el efecto que buscábamos, también es cierto que a portage/emerge esto le da absolutamente igual. Al contrario que ocurre con las USE flags, que yo sepa (aunque seguro tampoco estoy), portage simplemente lee las cflags del make.conf (sobreescribiendo el valor que tuviera la CFLAGS del entorno del shell), en lugar de sumar el contenido de ambas cadenas, como con las use.

Como ya digo, no estoy seguro de ésto último.

----------

## the incredible hurd

 *i92guboj wrote:*   

> Y fíjate que pongo "funcionar" entre comillas. Porque aunque éste sea el efecto que buscábamos, también es cierto que a portage/emerge esto le da absolutamente igual. Al contrario que ocurre con las USE flags, que yo sepa (aunque seguro tampoco estoy), portage simplemente lee las cflags del make.conf (sobreescribiendo el valor que tuviera la CFLAGS del entorno del shell), en lugar de sumar el contenido de ambas cadenas, como con las use.
> 
> Como ya digo, no estoy seguro de ésto último.

 

Muchas gracias por tu explicación.

Curiosamente no lee las cflags del make.conf sobreescribiendo el valor de CFLAGS en el entorno... O mejor dicho, lo hace a medias...

```

export CFLAGS="-NUEVA_CFLAG"

emerge --info

```

Es muy cachondo, el resultado de CFLAGS es -NUEVA_CFLAG, mientras que el de las CXXFLAGS (En make.conf las tengo como CXXFLAGS="${CFLAGS}") aparecen las CFLAGS tal y como las tengo en make.conf (dado que hace un source de dicho archivo. Precisamente que no sobreescriba el valor del entorno era lo que causaba el error que mencionaba, que CFLAGS era igual a "-NUEVA_CFLAG" sin tener en cuenta las de make.conf

Curioso.

En fin, mi idea era que entre todos aportásemos una lista de errores comunes con Gentoo, para aprender de ellos... Lo que puede aprenderse de este es que no es bueno jugar con los parámetros o variables de make.conf en el entorno de shell   :Wink: 

----------

## i92guboj

Sip jeje. Es extraño. El funcionamiento debería ser -a mi entender- igual al de la variable USE, aunque sea por consistencia.

En cuanto a los errores comunes, supongo que el mío fue el mismo que cometen muchos novatos al llegar a Gentoo, que consiste en comenzar a "optimizar" más de lo debido. No tuve la fiebre de las CFLAGS (algo es algo), pero si que me dió por usar reiserfs, prelink y otra serie de chorradas de las que luego me arrepentí.

El patchset nitro también me dió más de un dolor de cabeza. Y es que muchas veces nos olvidamos de que la única forma de tener un ordenador más rápido es comprándolo   :Laughing: 

----------

## sefirotsama

¿Error Común? Meter al kernel todo aquello que te suena familiar sin informarte antes.

Vale, eso y hacer copy paste sin entender lo que ponia en la documentación o manuales. O emerger un programa por su nombre sin mirar del todo la descripcion (buscando un programa para chatear por IRC instalé un programa para infrarrojos...).

Coger por costumbre la opción -5 en etc-update sin saber del todo lo que haces (en ese caso machaqué varias configuraciones que no queria perder)... Y hacer emerge --sync&&emerge --newuse --update --deep world&&revdep-rebuild cada semana (no recomendado)...

A parte de eso dar un poco por saco en el foro y demás cosas... (cuando recuerde una de esas cosas gordas ya lo pondré)

----------

## Inodoro_Pereyra

Uno que he cometido varias veces: cp /arch/i386/boot/bzImage /boot/kernel.bla.bla-bla

Luego reiniciar para probar el nuevo kernel y darme cuenta de que me olvidé de montar /boot antes de copiarlo   :Very Happy: 

REGLA DE ORO: montar /boot antes de compilar el kernel!

Salud!

----------

## sefirotsama

 *Inodoro_Pereyra wrote:*   

> Uno que he cometido varias veces: cp /arch/i386/boot/bzImage /boot/kernel.bla.bla-bla
> 
> Luego reiniciar para probar el nuevo kernel y darme cuenta de que me olvidé de montar /boot antes de copiarlo  
> 
> REGLA DE ORO: montar /boot antes de compilar el kernel!
> ...

 

Bueno... a mi siempre se me olvidaba el nombre del kernel... o ponia un punto o un numero que no era ^_^U. Pero también es importante montar /boot, xD.

(por eso despues de hacer el kernel hago mount /boot&&make install)

----------

## ekz

Yo cuando llevaba poco tiempo con gentoo, usaba emerge-webrsync en vez de emerge --sync, cuando quería probar rápidamente un programa usaba emerge --nodeps y luego terminaba emergiendo las dependencias a mano, y sin usar emerge -1 , o a veces usaba -1 cuando no correspondía. Tampoco actualizaba mi sistema, si salía nueva versión de algún programa que usaba, hacía emerge de esa aplicación solamente.

Resultado: en mi sistema tengo estrictamente prohibido usar emerge --depclean

Con el tiempo asenté cabeza, arregle un poco mi world, y ahora uso --sync y -uDavN world

Como consejo a los que empiezan: Un sistema bien cuidado, aunque tome más tiempo al comienzo, es un sistema más fácil de mantener, que a futuro te ahorrará mucho más tiempo  :Wink: 

Saludos

EDIT: es mi mensaje 666  :Twisted Evil: 

EDIT2: Una semana después de este mensaje, me di el tiempo de revisar a fondo mis USEs (incluídas las del profile) y la salida de --depclean, todo lo que quería mantener lo añadí al world y finalmente limpié mi sistema... ahora está mucho mas sano.  :Smile: 

----------

## sirope

#USE="~x86" emerge paquete. ##Que instala las versiones testing (~) de todas las dependencias =)

 *Quote:*   

> Luego reiniciar para probar el nuevo kernel y darme cuenta de que me olvidé de montar /boot antes de copiarlo

 

Xdxdxdxd, eso me pasaba cada vez que recompilaba el kernel, y que cuando comenzaba recompilaba el kernel todos los días para agregar nuevos soportes.. alsa, fuse, video4linux, etc. Así que terminé por eliminar "noauto" en fstab..  :Smile: 

Otros no muy graciosos pero que nunca me han sucedido son #emerge --unmerge gcc y #emerge --unmerge portage =)

chaup!!   :Very Happy: 

----------

## JuanSimpson

usar un stage x86 cuando puedes usar un i686. Seguro sí decides a instalar gentoo no vas a usar un stage "tan genérico" y tu máquina no es tan vieja.

Esto me pasó un par de ocasiones que no vi que había i686 (ojo perezoso al leer la lista de archivos en el mirror)

----------

## the incredible hurd

Edito: lo puse en el título, pero no en el mensaje: 

libtool: link warning: blah seems to be moved

Para evitarlo en x86, pretendí al principio añadir /usr/lib a /etc/ld.so.conf pero con cada env-update que a veces ejecutan los ebuilds se pierde.

Solución:

Añadir

LD_LIBRARY_PATH=/usr/lib

LD_RUN_PATH=/usr/lib

a /etc/env.d/99local y ejecutar env-update. LIBRARY la lee en tiempo de compilación y RUN en tiempo de ejecución (prelink).

En mis x86_64 no he instalado Gentoo ni tengo pensado hacerlo por ahora, pero creo que siempre que lib32 y lib64 sean enlaces a lib valdrá también, si no se añaden ambos directorios entrecomillados y separados por un espacio o coma, no estoy muy seguro dado que mis x86_64 no han tenido Gentoo (ni probablemente lleguen a tenerlo).

He aprendido mucho de los errores que comentais. @Inodoro Si tienes /boot sin montar ahora, verás que los kernels permanecen allí, tampoco te olvides de borrarlos, porque un mount los hace desaparecer aunque sigan estando ahí.

 :Shocked:  /boot es paradójicamente la partición que más se fragmenta   :Shocked: 

----------

## Coghan

 *i92guboj wrote:*   

> En cuanto a los errores comunes, supongo que el mío fue el mismo que cometen muchos novatos al llegar a Gentoo, que consiste en comenzar a "optimizar" más de lo debido. No tuve la fiebre de las CFLAGS (algo es algo), pero si que me dió por usar reiserfs, prelink y otra serie de chorradas de las que luego me arrepentí.

 

Jeje, a mi me dió por todo lo contrario, poner todas las USE que me sonaban, aunque luego no fuera a utilizarla nunca.

El primer y más duro concepto que cuesta meter en la cabeza son las USE, me costó lo mío comprender como las relacionaba con las dependencias y que efecto producían. Es curioso como el concepto de dependencias cambia de una distro a otra.

----------

## achaw

Mi primer gran error fue creer que Gentoo es una distro "rapida", concepto que no existe para las distros normales (Sacando las "livianitas"), al tiempo me di cuenta que era una distro practica y7 que se ajustaba a lo que necesitaba. Fiebre de CFLAGS, PRELINK; LDFLAGS, etc...seguro que la mayoria la pasamos  :Smile: . Mi segundo gran error fue cambiar el perfil de x86 a x86_64 y se imaginaran que pso, de errores se aprende. Y el tercero, estara por venir seguramente...

Saludos

----------

## artic

 *i92guboj wrote:*   

> Sip jeje. Es extraño. El funcionamiento debería ser -a mi entender- igual al de la variable USE, aunque sea por consistencia.
> 
> En cuanto a los errores comunes, supongo que el mío fue el mismo que cometen muchos novatos al llegar a Gentoo, que consiste en comenzar a "optimizar" más de lo debido. No tuve la fiebre de las CFLAGS (algo es algo), pero si que me dió por usar reiserfs, prelink y otra serie de chorradas de las que luego me arrepentí.
> 
> El patchset nitro también me dió más de un dolor de cabeza. Y es que muchas veces nos olvidamos de que la única forma de tener un ordenador más rápido es comprándolo  

 

Que problema le encuentras a reiserfs????? En el resto totalmente de acuerdo   :Wink: 

Salu2

----------

## i92guboj

 *artic wrote:*   

>  *i92guboj wrote:*   Sip jeje. Es extraño. El funcionamiento debería ser -a mi entender- igual al de la variable USE, aunque sea por consistencia.
> 
> En cuanto a los errores comunes, supongo que el mío fue el mismo que cometen muchos novatos al llegar a Gentoo, que consiste en comenzar a "optimizar" más de lo debido. No tuve la fiebre de las CFLAGS (algo es algo), pero si que me dió por usar reiserfs, prelink y otra serie de chorradas de las que luego me arrepentí.
> 
> El patchset nitro también me dió más de un dolor de cabeza. Y es que muchas veces nos olvidamos de que la única forma de tener un ordenador más rápido es comprándolo   
> ...

 

Ya hay montones de hilos sobre ese tema, no creo conveniente empezar otro aquí, porque al final siempre se acaban extendiendo y nada claro se saca de los mismos (ni tu dejarás de usar reiserfs ni yo comenzaré a usarlo, diga lo que diga el otro  :Razz:  ).

Solo mencionaré brevemente que mis problemas principales eran de uso de cpu y fragmentación (usando kernels vanilla. que es lo único que uso). También los tuve de pérdida de datos, pero eso es lo menos grave para los que hacemos copias de seguridad.

----------

## artic

 *i92guboj wrote:*   

>  *artic wrote:*    *i92guboj wrote:*   Sip jeje. Es extraño. El funcionamiento debería ser -a mi entender- igual al de la variable USE, aunque sea por consistencia.
> 
> En cuanto a los errores comunes, supongo que el mío fue el mismo que cometen muchos novatos al llegar a Gentoo, que consiste en comenzar a "optimizar" más de lo debido. No tuve la fiebre de las CFLAGS (algo es algo), pero si que me dió por usar reiserfs, prelink y otra serie de chorradas de las que luego me arrepentí.
> 
> El patchset nitro también me dió más de un dolor de cabeza. Y es que muchas veces nos olvidamos de que la única forma de tener un ordenador más rápido es comprándolo   
> ...

 

No queria abrir ningun debate   :Wink:   , solo saber los problemas o las pegas y con lo que me has puesto sacio mi curiosidad   :Cool: 

Yo en mi caso, nunca he tenido ningun problema con reiserfs ni con ext3,y llevo desde el principio con reiser, sin acritud.

Un saludo

----------

## kropotkin

para seguir con el tema de reiser sin aportar mucho que digamos, yo deje de usarlo cuando un dia se desconecto mi equipo por un corte de luz y se me perdieron todos los datos de la partición reiserfs que tenia   :Shocked: 

talvez eran recuperables, pero luego de lanzar el autocheck el disco se fueron todos los datos a lost+found y decidí prescindir de los archivos   :Laughing: 

----------

## luisx

 :Laughing:   A mi no me dio la fiebre de Cflags y "optimizar" a todo lo que se puede Gentoo, creo que yo tube mas problemas con ~x86 en muchas aplicaciones, y pues de alguna manera tenia errores por aqui y por alla xD.

saludos

----------

## Inodoro_Pereyra

 *luisx wrote:*   

>   A mi no me dio la fiebre de Cflags y "optimizar" a todo lo que se puede Gentoo, creo que yo tube mas problemas con ~x86 en muchas aplicaciones, y pues de alguna manera tenia errores por aqui y por alla xD.
> 
> saludos

 

```
1181412290: Started emerge on: Jun 09, 2007 18:04:50

1181412290:  *** emerge  gentoo-sources

1181412330:  >>> emerge (1 of 1) sys-kernel/gentoo-sources-2.6.20-r8 to /
```

Esa pc usa ~x86 desde la pimera instalación el 9 de junio y no ha tenido mayores inconvenientes, que yo recuerde al menos... Testing no necesariamente implica inestable.

Salud!

----------

## the incredible hurd

 *artic wrote:*   

> Que problema le encuentras a reiserfs?????

 

Reiser4 no soporta EA (extended attributes) aunque Reiser3 sí, o user_xattr. Eso es lo que me ha hecho pasarme a ext3 en mi caso y aumentar el tamaño de los inodos y la diferencia usando beagle es descomunal... (Sigo sin datos técnicos porque quizá ya no me hagan falta).

Para más info http://beagle-project.org/Gentoo_Installation

Desconozco el motivo por el que han dejado de soportar EA en Reiser4, para mí ha sido el problema que me ha hecho abandonarlo, aunque como ya dijo i92guboj ni tú me convencerás para que vuelva a usarlo ni yo a ti para que lo cambies por otro... Eso es lo bueno de tener capacidad para elegir.

Saludos.

----------

## Inodoro_Pereyra

 *Quote:*   

> Installing the Browser extensions 
> 
> Beagle also includes Firefox and Epiphany extensions which will allow beagle to index the web pages that you visit. To install them, just enable the corresponding USE flags as explained above.

 

Wow! No conocía esta aplicación, lo voy a probar.

Salud!

----------

## artic

 *the incredible hurd wrote:*   

>  *artic wrote:*   Que problema le encuentras a reiserfs????? 
> 
> Reiser4 no soporta EA (extended attributes) aunque Reiser3 sí, o user_xattr. Eso es lo que me ha hecho pasarme a ext3 en mi caso y aumentar el tamaño de los inodos y la diferencia usando beagle es descomunal... (Sigo sin datos técnicos porque quizá ya no me hagan falta).
> 
> Para más info http://beagle-project.org/Gentoo_Installation
> ...

 

Hola,

Me refería a reiserfs y no a reiser4 como puedes ver en tu quote.

No era mi intención convencer a nadie ,sólo conocer más opiniones.Como bien dices es bueno tener capacidad de elegir .

Yo me remito a los benchmarks y no precisamente a los de namesys  :Twisted Evil: 

Salu2

Un saludo

----------

## the incredible hurd

 *artic wrote:*   

> Me refería a reiserfs y no a reiser4 como puedes ver en tu quote.

 

Sí, efectivamente, pero no hay absolutamente nada que no me hiciera pensar que querrías actualizar e incrementar el número de versión cuando sea pertinente hacerlo. Personalmente si usar reiserfs no me va a permitir usar reiser4, porque no es backwards compatible, es una limitación que no estoy dispuesto a tolerar. Cosa que no ocurre con ext, desde ext2 en adelante, lo de ext es otra larga historia... Desde ext2 en adelante se puede pasar a ext3 o ext4, pero no a la inversa, lo cual no me importa en absoluto, siempre y cuando la nueva versión aporte mejoras considerables y sea backwards compatible, eso es lo que me hizo pasarme a ext3/4/5...   :Smile: 

Pero mejor dejemos el tema porque no merece la pena hablar de las decisiones/elecciones personales de cada uno; cada cual las toma atendiendo a sus propios criterios o, al menos, así debería ser.

----------

