# ERR.GCC: no puede crear ejecutables, emerge no funciona [OK]

## jmp_

Hola,

Tengo un "pequeño" problema, el caso es que desde hace algún tiempo no consigo compilar nada, es decir, que tengo algún problema con GCC/emerge sino directamente con GCC u emerge es con algo directamente relacionado... y no se el que.

Cuando intento compilar todo acaba petando con algo igual o muy similar a esto:

```

# emerge nasm

Calculating dependencies ...done!

>>> emerge (1 of 1) dev-lang/nasm-0.98.39-r1 to /

>>> md5 files   ;-) nasm-0.98.39-r1.ebuild

>>> md5 files   ;-) files/digest-nasm-0.98.39-r1

>>> md5 src_uri ;-) nasm-0.98.39.tar.bz2

>>> Unpacking source...

>>> Unpacking nasm-0.98.39.tar.bz2 to /var/tmp/portage/nasm-0.98.39-r1/work

>>> Source unpacked.

./configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --build=i686-pc-linux-gnu

checking for i686-pc-linux-gnu-gcc... i686-pc-linux-gnu-gcc

checking for C compiler default output file name... configure: error: C compiler cannot create executables

```

y aquí se interrumpe el proceso, no sucede con NASM únicamente, sino con todo lo que trate de compilar/instalar.

Os pongo algunos datos que puedan ser de interés.

```

SO: Gentoo instalado desde stage 1, hasta hace poco todo iba perfecto, y tras actualizar alguna cosa empezaron los problemas.

Kernel: Linux unreal 2.6.11.11 [i686 AMD Athlon(tm) XP 1600+ AuthenticAMD GNU/Linux]

# gcc-config -l

[1] i686-pc-linux-gnu-3.3.3

[2] i686-pc-linux-gnu-3.4.3-20050110

[3] i686-pc-linux-gnu-3.4.3-20050110-hardened

[4] i686-pc-linux-gnu-3.4.3-20050110-hardenednopie

[5] i686-pc-linux-gnu-3.4.3-20050110-hardenednossp *

[6] i686-pc-linux-gnu-4.0.1-beta20050526

He probado con otros perfiles de GCC y nada, exactamente lo mismo.

-- Flags, poco agresivas... mismo error.

CFLAGS="-march=athlon-xp -O3 -fomit-frame-pointer -pipe"

CXXFLAGS="${CFLAGS} -fvisibility-inlines-hidden"

 -- Flags más agresivas... mismo error, con GCC4 algún otro más pero puntual.

CFLAGS="-march=athlon-xp -O3 -pipe  -msse -maccumulate-outgoing-args -ftracer -ffast-math -ftree-loop-linear -ftree-loop-ivcanon -fivopts -ftree-vectorize -fsplit-ivs-in-unroller -fprefetch-loop-arrays -fomit-frame-pointer"

CXXFLAGS="${CFLAGS} -fvisibility-inlines-hidden"

# ls -la /usr/bin/as

lrwxrwxrwx  1 root root 20 Jun  3 23:59 /usr/bin/as -> i686-pc-linux-gnu-as

...y en este sentido todo correcto diria, libtool, automake, etc. creo que son correctos.

```

¿alguien tiene algún consejo de como solucionar esto o por donde mirar? ¿le ha sucedido esto a alguien más alguan vez?

Agradeceré mucho vuestros comentarios. En cualquier caso MUCHAS GRACIAS.

saludos.Last edited by jmp_ on Sun Oct 02, 2005 8:44 pm; edited 1 time in total

----------

## dpevp

Mira a ver si te sirve esto:

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

También pudes buscar en los foros, tu pregunta se ha hecho muchas veces.

----------

## jmp_

Cierto, fallo mío debí buscar primero, lo suelo hacer por costumbre pero estaba tan liado que mira... opté por postear sin más.

OK, voy a mirar a ver... Gracias.

----------

## jmp_

Por cierto... por si alguien me puede ayudar un poco más aquí pongo mis detalles de ld.so.conf diría que está todo OK.

```

# ld.so.conf autogenerated by env-update; make all changes to

# contents of /etc/env.d directory

/usr/local/lib

/usr/lib/opengl/nvidia/lib

/usr/i686-pc-linux-gnu/lib

/usr/lib/gcc/i686-pc-linux-gnu/4.0.1-beta20050526

/usr/lib/gcc/i686-pc-linux-gnu/3.4.3-20050110

/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3

/usr/lib/MozillaFirefox

/usr/lib

/opt/eclipse

/opt/sun-jdk-1.4.2.08/jre/lib

/usr/qt/3/lib

/usr/kde/3.4/lib

/usr/lib/nspr

/usr/lib/nss

/usr/games/lib

/usr/lib/fltk-1.1

/usr/lib/libstdc++-v3/

```

----------

## amon-ra

publica el config.log que debe estar en /var/tmp/portage/nasm-0.98.39-r1/work, hay viene el error que da suele dar el gcc. A mi me ocurre cuando juego con los CFLAGS o LDFLAGS, pones alguno mal y peta, es una pequeña tonteria. si quieres comentalos en make.conf y vuelve a compilar.[/code]

----------

## jmp_

bueno el problema es general no solo del NASM.

----------

## esteban_conde

Alguna vez que he intentado cambiar mi /etc/make.profile y no lo he lincado al que me correspondia al emerger he optenido errores parecidos a los que muestras.

----------

## jmp_

Creo que ya está solucionado.

He estado mirando /etc/env.d y la jerarquía de /usr/lib && /usr/i686-bla-bla y he visto que al parecer era algo relacionado con binutils.

```

$ binutils-config -l

 [1] i686-pc-linux-gnu-2.16.1

```

Esa era la versión actual, pero al parecer había varias menciones a "2.16" de manera que he creado un enlace simbólico en:

```

$ pwd

/usr/i686-pc-linux-gnu/binutils-bin

```

Corrigiendo el problema con el número de versión (ln -s 2.16.1 2.16):

```

lrwxrwxrwx  1 root root   6 Oct  2 22:11 2.16 -> 2.16.1

drwxr-xr-x  2 root root 392 Jun 13 11:11 2.16.1

```

Seguidamente he hecho "env-update" (por manía más que nada) y he probado a compilar el nasm, todo ha ido bien sin errores. Compilado correctamente. Antes habia hecho correr algunos scripts sobre libtools,etc. con poco éxito; Al parecer el problema era algo de toolchain referente a las binutils que es una de las cosas que actualicé antes de tener el problema.

Imagino que habrá una manera mejor de solucionar estos pequeños bugs, y de hacerlo de una manera más profesional editando ciertos ficheros y demás en lugar de crear un symlink (que ya me ha ayudado a solucionar otros problemas derivados de actualizar GCC). Sería buena idea conocer estas otras formas.

En cualquier caso espero que esto pueda ayudar, por supuesto agradecer vuestra ayuda.

SALUDOS y muchas gracias de nuevo.

----------

## kalcetoh

Supongo que tendrás la versión de binutils 2.16 porque querías instalar gcc4, si no es así no veo el porqué lo usas. Yo también lo instalé y me dejaron de funcionar un par de aplicaciones sin razón alguna. Volví a binutils-2.15 y listo.

----------

## jmp_

En general me gusta tener las versiones actualizadas (uso ACCEPT_KEYWORDS ~x86) y si las binutils 2.16 son dependencia de GCC4 (no estoy seguro) pues entonces si, no obstante las he actualizado otras veces sin necesidad de hacerlo para GCC.

saludos

----------

