# CFLAGS y CXXFLAGS

## johpunk

buscando por google consegui el siguiente link y modifique mis cflgas y cxxflags segun mi procesador "amd 64x2" y al querer ejecutar un emerge -uavDN world pues al emerger el primer paquete liboots creo que se escribe asi pues no lo termina de compilar y practicamente paraliza o cuelgua el pc entonces viendo esto volvi a poner mis cflags y cxxflags por defecto 

 *Quote:*   

> CFLAGS="-O2 -pipe"
> 
> CXXFLAGS="-O2 -pipe"

 

en este momento estoy ejecutando el emerge -uavDN world y pues ahora si fluye de manera correcta con el unico detalle de que me e fijado que sale lo siguiente cuando empieza a compilar un paquete distinto 

 *Quote:*   

> * Filtering out invalid CXXFLAG "-02" 

 

al parecer esta mal pero segun recuerdo copie completo el cflags y cxxflag o lo e tipeado mal?

mi pregunta es que deberia de hacer para que al personalizar mis flags para mi procesador y poner esto

 *Quote:*   

> CFLAGS="-march=athlon64 -O2 -pipe"
> 
> CXXFLAGS="${CFLAGS}"

 

no suceda eso de que no termina de compilar y deje congelado el pc?

----------

## AnimAlf

No se si veo muy bien, pero parece que hallas escrito "o mayúscula más 2" en lugar de "cero + 2"

¿No lo veo bien, cierto?

----------

## Txema

Efectivamente, en  *Quote:*   

> CFLAGS="-march=athlon64 -O2 -pipe"

  ha puesto una o mayúscula (O) en lugar de un cero (0), normal que no quiera compilar, cámbialo y debería funcionar  :Wink: 

----------

## Stolz

 *Txema wrote:*   

> Efectivamente, en  *Quote:*   CFLAGS="-march=athlon64 -O2 -pipe"  ha puesto una o mayúscula (O) en lugar de un cero (0), normal que no quiera compilar, cámbialo y debería funcionar 

 

Es al revés. Lo correcto es una letra "O" mayúscula, no el número cero (0). johpunk, repasa bien lo que está puesto en make.conf porque en el mensaje de error pone cero-dos no o-dos, así es que seguramente lo tengas mal.

----------

## AnimAlf

 :Embarassed: 

----------

## johpunk

ok e cancelado el emerge -uavDN world y volvi a poner 

 *Quote:*   

> CFLAGS="-march=athlon64 -O2 -pipe"
> 
> CXXFLAGS="${CFLAGS}"

 

y ahi esta compilando, aunque me quedo la duda del pq con el dev-libs/boost no termino de compilar y congelo el pc, despues de que termine el update tratare de emerger ese paquete, en un rato les comento que tal me fue   :Very Happy:  y otra cosa que me recomendarian poner en el MAKEOPTS dejar -j2 o ponerle un numero mayor ya que cambie las cflags? o no tiene nada que ver   :Idea: 

----------

## Stolz

Como recomendación más generalizada debes poner en MAKEOPTS en número de núcleos + 1. En tu caso -j3.

----------

## Txema

 *Stolz wrote:*   

>  *Txema wrote:*   Efectivamente, en  *Quote:*   CFLAGS="-march=athlon64 -O2 -pipe"  ha puesto una o mayúscula (O) en lugar de un cero (0), normal que no quiera compilar, cámbialo y debería funcionar  
> 
> Es al revés. Lo correcto es una letra "O" mayúscula, no el número cero (0). johpunk, repasa bien lo que está puesto en make.conf porque en el mensaje de error pone cero-dos no o-dos, así es que seguramente lo tengas mal.

 

¡Ala qué metida de pata! cierto cierto, es O no cero, vaya cabeza ^^"

----------

## johpunk

me satura la ram al emerger boost y me vi en la oblogacion de reinicar el computador pq lo congela   :Confused:   asi mismo me paso ayer durante el emerge -uavDN world que puedo hacer para que no me sature la ram y no me congele el pc

----------

## Coghan

 *johpunk wrote:*   

> me satura la ram al emerger boost y me vi en la oblogacion de reinicar el computador pq lo congela    asi mismo me paso ayer durante el emerge -uavDN world que puedo hacer para que no me sature la ram y no me congele el pc

 

Esto suele pasar si le has puesto un número de hilos "-jX" demasiado elevado, comprueba también si en FEATURES de tu make.conf tienes distcc activado, si no lo estás usando con varias máquinas desactívalo y si no lo tienes bien configurado también te puede dar estos dolores de cabeza.

----------

## johpunk

en FEATURES solo tengo esto 

 *Quote:*   

> FEATURES="parallel-fetch ccache"

 

entonces lo que me dices es que le agrege  distcc  :Question:  y sobre lo de las Jx solo tengo j3 asi como me lo recomendo el amigo stolz

----------

## Coghan

 *johpunk wrote:*   

> en FEATURES solo tengo esto 
> 
>  *Quote:*   FEATURES="parallel-fetch ccache" 

 

No creo que tenga nada que ver pero prueba a añadir sandbox

 *Quote:*   

> entonces lo que me dices es que le agrege  distcc  y sobre lo de las Jx solo tengo j3 asi como me lo recomendo el amigo stolz

 

No, no para nada, lo que te recomiendo es que no lo habilites salvo que realmente lo necesites y sepas lo que haces. 

Con -j3 no deberías tener ningún problema. El que te use toda la memoria ram no es preocupante, lo preocupante es que te llene la Swap. ¿Lo has comprobado?, ¿cuanta Swap tienes?. Lanza un htop o ntop y comprueba el estado del procesador y memoria y que procesos los están llenando.

----------

## ekz

Prueba a emerger ese paquete con las X apagadas, deteniendo el servicio xdm (sólo por probar, ya el entorno gráfico y las aplicaciones que se ejecutan sobre este son las que consumen ram).

Saludos

----------

## johpunk

 *ekz wrote:*   

> Prueba a emerger ese paquete con las X apagadas, deteniendo el servicio xdm (sólo por probar, ya el entorno gráfico y las aplicaciones que se ejecutan sobre este son las que consumen ram).
> 
> Saludos

 

eso mismo intente y pues dejaba el pc congelado hasta que no undiera crtl c

----------

## Inodoro_Pereyra

Jopunk, tenés un espacio para memoria swap asignado (y activado)? Cuanta memoria ram tiene la pc que falla? Has tocado el parámetro swappiness?

Salud!

----------

## johpunk

 *Coghan wrote:*   

> 
> 
> No creo que tenga nada que ver pero prueba a añadir sandbox

 

acabo de intentar con el sandbox dentro de mis FEATURES y sigue sucediendo lo mismo tengo que reiniciar el pc me usa practicamente toda la ram y el 50% de nada nucleo de mi procesador, y por lo de la swap se queda en 0% otra cosa que e notado desde hace varios dias ya es que cuando reinicio el pc me e fijado en un mensaje de error que dice swapon /dev/sda5/ argumento invalido !!   :Shocked:  no se si tenga eso algo que ver con mi problema

----------

## Inodoro_Pereyra

Ahi está tu problema, la pc se te queda sin memoria ram y no tiene swap.

Que contiene sda5 según vos? Que muestra fdisk al respecto?

```
fdisk -l /dev/sda
```

Si estás 100% seguro de que sda5 es donde se supone que debería estár la swap, podés formatearla a mano:

```
mkswap /dev/sda5
```

Y activarla:

```
swapon /dev/sda5
```

Salud!

----------

## johpunk

 *Inodoro_Pereyra wrote:*   

> Ahi está tu problema, la pc se te queda sin memoria ram y no tiene swap.
> 
> Que contiene sda5 según vos? Que muestra fdisk al respecto?
> 
> ```
> ...

 

me tocara formatearla a mano, pq la verdad nose pq ocurriria esto 

 *Quote:*   

>  fdisk -l /dev/sda
> 
> Disco /dev/sda: 250.0 GB, 250059350016 bytes
> 
> 255 heads, 63 sectors/track, 30401 cylinders
> ...

 

----------

## johpunk

ok al parecer se acomodo aunque siempre tiendo como a poner lento el pc no se si se deba a el numero de Js pero no me quejo  :Razz:  y por otro lado pq me ocurrio ese error en la swap? la verdad no tengo ni idea de que pudo haber ocasionado eso

----------

## Txema

 *Quote:*   

> swapon /dev/sda5/ argumento invalido !!

 

Si ese es el mensaje exacto, lo más seguro es que no lo gustara la última barra (/dev/sda5/) y por eso no activaba la swap

En cuanto a la lentitud, ¿cuánta RAM tienes y cómo tienes el vm.swappines (grep swap /etc/sysctl.conf)?

----------

## johpunk

de ram tengo 1gb y al ejecutar grep swap /etc/sysctl.conf no salio nada

----------

## Txema

Puedes añadir vm.swappiness=XX donde XX es un número de 0 a 100 si no me equivoco (aunque los extremos nunca son buenos  :Wink: ) y que cuanto más bajo sea menos tenderá el sistema a usar la memoria SWAP y viceversa, yo lo tengo en 10, y prácticamente nunca la usa, solo la usó una vez y fué por una burrada que hice xD

De esta forma evitará (si pones un número bajo - 10,20,30,40) usar la SWAP, con lo que el ordenador no irá lento (ya que la SWAP es mucho más lenta que la RAM), pero si la necesita la usará de igual forma, así que habría que detectar porqué consume tanta RAM.

----------

## esteban_conde

 *Quote:*   

> Si ese es el mensaje exacto, lo más seguro es que no lo gustara la última barra (/dev/sda5/) y por eso no activaba la swap 

 

Si ya la tenia montada por haberla declarado en /etc/fstab es normal que le de error al ejecutar swapon /dev/sda5 (con o sin barra).

Ejecutar mkswap /dev/sdaX ha de hacerse con la particion desmontada, swapon /dev/sdaX es para activarla en caliente, para el resto de arranques es mejor declararla en fstab (Ojo puede no ser del todo exacto lo que digo ya que la mayor parte de las cosas que hago las he aprendido por el metodo de error/acierto y eso te deja lagunas que un buen turorial no te deja).

----------

## Txema

mkswap es para crear la swap, mientras que swapon es para montarla, lo que se hace en el arranque al mirar en /etc/fstab y montar con swapon -a todas las particiones declaradas como swap (p.e: /dev/sda3               none            swap            sw              0 0), y si ya están montadas simplemente las ignora.

Por lo tanto el comando swapon se usa a mano una sóla vez, durante la instalación, luego se hace automáticamente en el inicio al leer de /etc/fstab, por lo que el error debe de estar o bien en la propia partición, o en el archivo /etc/fstab, o eso creo ^^"

----------

## esteban_conde

diff Txema Esteban == ''

es decir que mas o menos decimos lo mismo.

----------

## johpunk

gracias! ya e solucionado y por lo que siento un poco lento el pc cuando compilada debe ser por lo que que cambie mis cflgas y aumente el numero de mis Jx pero no es nada para preocuparse, en tal caso de que suceda les comentare  :Wink: 

----------

