# C compiler cannot create executables [gelöst]

## andi_s

hallo,

wie es aussieht funktioniert bei mir gcc nicht mehr  :Sad: 

```

#gcc-config -l

 [1] x86_64-pc-linux-gnu-4.5.4 *

 [2] x86_64-pc-linux-gnu-4.6.3

#gcc-config 2

#. /etc/profile

#fix_libtool_files.sh 4.5.4

 * Scanning libtool files for hardcoded gcc library paths...

 *   [1/13] Scanning /lib ...

 *   [2/13] Scanning /usr/lib ...

 *   [3/13] Scanning /usr/lib64/xulrunner-1.9.2 ...

 *   [4/13] Scanning /lib32 ...

 *   [5/13] Scanning /lib64 ...

 *   [6/13] Scanning /usr/lib32 ...

 *   [7/13] Scanning /usr/lib64 ...

 *     FIXING: /usr/lib64/gcc/x86_64-pc-linux-gnu/4.5.4/libmudflapth.la ...[]

 *     FIXING: /usr/lib64/gcc/x86_64-pc-linux-gnu/4.5.4/libgomp.la ...[]

 *     FIXING: /usr/lib64/gcc/x86_64-pc-linux-gnu/4.5.4/libsupc++.la ...[]

 *     FIXING: /usr/lib64/gcc/x86_64-pc-linux-gnu/4.5.4/libgfortranbegin.la ...[]

 *     FIXING: /usr/lib64/gcc/x86_64-pc-linux-gnu/4.5.4/libgfortran.la ...[]

 *     FIXING: /usr/lib64/gcc/x86_64-pc-linux-gnu/4.5.4/libmudflap.la ...[]

 *   [8/13] Scanning /usr/local/lib ...

 *   [9/13] Scanning /usr/local/lib32 ...

 *   [10/13] Scanning /usr/local/lib64 ...

 *   [11/13] Scanning /opt/AMDAPP/lib/x86 ...

 *   [12/13] Scanning /opt/AMDAPP/lib/x86_64 ...

 *   [13/13] Scanning /usr/x86_64-pc-linux-gnu/lib ..

```

auch gcc wieder auf 4.5.4 umzustellen hat nicht geholfen

wenn ich z.b. firefox emergen will, dann bekomme ich diese Meldung 

 *Quote:*   

> C compiler cannot create executables

 

```

#emerge firefox

...

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

checking whether the C compiler (x86_64-pc-linux-gnu-gcc -march=core2 -pipe -Wl,-O1 -Wl,--as-needed) works... no

configure: error: installation or configuration problem: C compiler cannot create executables.

*** Fix above errors and then restart with               "make -f client.mk build"

make[2]: *** [configure] Error 1

make[2]: Leaving directory `/tmp/portage/www-client/firefox-17.0.2/work/mozilla-esr17'

make[1]: *** [obj-x86_64-unknown-linux-gnu/Makefile] Error 2

make[1]: Leaving directory `/tmp/portage/www-client/firefox-17.0.2/work/mozilla-esr17'

make: *** [build] Error 2

emake failed

 * ERROR: www-client/firefox-17.0.2 failed (compile phase):

 *   emake failed

 * 

 * Call stack:

 *     ebuild.sh, line  93:  Called src_compile

 *   environment, line 4888:  Called die

 * The specific snippet of code:

 *           CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" MOZ_MAKE_FLAGS="${MAKEOPTS}" emake -f client.mk || die "emake failed";

...

```

ich habe es auch schon revdep-rebuild und emerge gcc probiert - ohne erfolg

in meiner make.conf steht

```

CFLAGS="-march=core2 -O2 -pipe"

```

wobei mir das erst jetzt aufgefallen ist (ist keine core2 mehr, sonder corei7) ,aber auch -march=native hat nicht geholfen

ich weiss nicht ob es daran liegt!? (hatte bisher keine Probleme)

ausserdem fehlt die 'libmpc.so.2' - vermutlich weil ich vorher ein

```

revdep-rebuild --library '/usr/lib64/libmpc.so.2' && rm '/usr/lib64/libmpc.so.2' 

```

gemacht habe (wie im elog beschrieben)

und nun passiert das

```

#emerge mirage

...

running build_ext

building 'imgfuncs' extension

creating build-2.7/temp.linux-x86_64-2.7

x86_64-pc-linux-gnu-gcc -pthread -march=core2 -O2 -pipe -fPIC -I/usr/include/python2.7 -c imgfuncs.c -o build-2.7/temp.linux-x86_64-2.7/imgfuncs.o

/usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.3/cc1: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory

error: command 'x86_64-pc-linux-gnu-gcc' failed with exit status 1

 * ERROR: media-gfx/mirage-0.9.5.1 failed (compile phase):

 *   Building failed with CPython 2.7 in distutils_building() function

 * 

 * Call stack:

 *     ebuild.sh, line   93:  Called src_compile

 *   environment, line 5029:  Called distutils_src_compile

 *   environment, line 1196:  Called python_execute_function 'distutils_building'

 *   environment, line 3411:  Called die

 * The specific snippet of code:

 *                       die "${failure_message}";

...

```

ich bin scheinbar nicht alleine mit diesem Problem - das sieht sehr ähnlich aus:

https://forums.gentoo.org/viewtopic-p-7249604.html

Ich hoffe Ihr könnt mir helfen - Danke!Last edited by andi_s on Wed Feb 20, 2013 11:02 am; edited 1 time in total

----------

## Christian99

irgendwo in /tmp/portage/www-client/firefox-17.0.2/work/ sollte es eine config.log  geben. kannst du die mal posten?

----------

## andi_s

hier die config.log von firefox

```

# cat /tmp/portage/www-client/firefox-17.0.2/work/mozilla-esr17/obj-x86_64-unknown-linux-gnu/config.log

This file contains any messages produced by compilers while

running configure, to aid debugging if configure makes a mistake.

configure:1085: checking host system type

configure:1106: checking target system type

configure:1124: checking build system type

configure:1202: checking for mawk

configure:1202: checking for gawk

configure:1454: checking for perl5

configure:1454: checking for perl

configure:1776: checking for objcopy

configure:2725: checking for gcc

configure:2838: checking whether the C compiler (x86_64-pc-linux-gnu-gcc -march=core2 -pipe -Wl,-O1 -Wl,--as-needed) works

configure:2854: x86_64-pc-linux-gnu-gcc -o conftest -march=core2 -pipe  -Wl,-O1 -Wl,--as-needed conftest.c  1>&5

/usr/libexec/gcc/x86_64-pc-linux-gnu/4.5.4/cc1: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory

configure: failed program was:

#line 2849 "configure"

#include "confdefs.h"

main(){return(0);}

```

da sind wir wieder bei der libmpc.so.2 die geloescht wurde :/

update: ich habe die lib nun aus einem backup wieder in das verzeichnis kopiert und nun funktioniert emerge auch wieder...

ob das die lösung ist weiss ich nicht... wer kein aktuelles backup hat und dem elog folgt, der hat wohl verloren

----------

## Christian99

in welchen elog stand das löschen denn?

und statt ein altest backup zu verwenden, ist es glaub ich besser das entsprechende paket (dev-libs/mpc) neu zu emergen

----------

## mv

In dem anderen Thread steht doch auch die wahre Ursache: Die alte Bibliothek wurde entfernt, bevor das revdep-rebuild ausgeführt wurde.

(Wenn Du ~ARCH benutzt, musst Du mit solchen Bugs leider rechnen - mach bitte einen Bug-Report, wenn nicht schon geschehen.)

Und auch die Lösung steht i.W. in dem anderen Thread: Mache Dir den dort erwähnten Symlink, und reemerge dann gcc.

Danach entferne den Symlink wieder und reemerge sicherheitshalber nochmals den gcc (wahrscheinlich redundant, aber bevor Du Dir subtile Probleme einfängst...).

Danach führe ein revdep-rebuild ohne irgendwelche Parameter aus.

----------

## andi_s

 *Christian99 wrote:*   

> in welchen elog stand das löschen denn?
> 
> und statt ein altest backup zu verwenden, ist es glaub ich besser das entsprechende paket (dev-libs/mpc) neu zu emergen

 

 *Quote:*   

> 
> 
> Package:    dev-libs/mpc-1.0.1
> 
> ...
> ...

 

das hatte ich befolgt...

@mv

ich nutze nicht ~arch (mit wenigen Ausnahmen)

die von Dir beschriebene Methode hat das Problem hoffentlich endgültig behoben

----------

