# Impossibile creare eseguibili ... [Risolto]

## koma

```
>>> Source unpacked.

configure: WARNING: If you wanted to set the --build type, don't use --host.

    If a cross compiler is detected then cross compile mode will be used.

checking for a BSD-compatible install... /bin/install -c

checking whether build environment is sane... yes

checking for gawk... gawk

checking whether make sets $(MAKE)... yes

checking for i686-pc-linux-gnu-strip... no

checking for strip... strip

checking build system type... i686-pc-linux-gnu

checking host system type... i686-pc-linux-gnu

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

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

See `config.log' for more details.

!!! ERROR: tipo/pacchetto.x.y.z.ebuild failed.

!!! Function econf, Line W, Exitcode L

!!! econf failed
```

Perchè?

Versione gcc:

```
 # gcc -v

Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/specs

Configured with: /var/tmp/portage/gcc-3.3.3-r3/work/gcc-3.3.3/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/3.3 --includedir=/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3/info --enable-shared --host=i686-pc-linux-gnu --target=i686-pc-linux-gnu --with-system-zlib --enable-languages=c,c++ --enable-threads=posix --enable-long-long --disable-checking --enable-cstdio=stdio --enable-version-specific-runtime-libs --with-gxx-include-dir=/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/g++-v3 --with-local-prefix=/usr/local --enable-shared --enable-nls --without-included-gettext --disable-multilib --disable-libunwind-exceptions --enable-__cxa_atexit --enable-clocale=generic

Thread model: posix

gcc version 3.3.3 20040412 (Gentoo Linux 3.3.3-r3, ssp-3.3-7, pie-8.5.3)
```

Flag di cimpilazione:

```
CHOST="i686-pc-linux-gnu"

CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer"

CXXFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer"

ACCEPT_KEYWORDS="~x86"

GENTOO_MIRRORS="http://ftp.linux.ee/pub/gentoo/distfiles/ http://src.gentoo.pl ftp://mirror.pudas.net/gentoo"

CCFLAG=" -march=pentium4 -mfpmath=sse -msse2 -mmmx"
```

----------

## fedeliallalinea

Posta le tue cflags

----------

## koma

ho editato mentre tu postavi  :Wink: 

----------

## randomaze

 *koma wrote:*   

> ho editato mentre tu postavi 

 

Cosa stavi cercando di emergere?

Hai provato a emergere qualcosa di semplice e sicuro... chesso "emerge ksh" ?

----------

## koma

mi da problemi persino con cmatrix e dire che è u solo file da compilare)

----------

## koma

```
 # emerge cmatrix

Calculating dependencies ...done!

>>> emerge (1 of 1) app-misc/cmatrix-1.2a to /

>>> Downloading http://ftp.linux.ee/pub/gentoo/distfiles/distfiles/cmatrix-1.2a.tar.gz

--15:57:20--  http://ftp.linux.ee/pub/gentoo/distfiles/distfiles/cmatrix-1.2a.tar.gz

           => `/usr/portage/distfiles/cmatrix-1.2a.tar.gz'

Resolving ftp.linux.ee... 195.222.16.154

Connecting to ftp.linux.ee[195.222.16.154]:80... connected.

HTTP richiesta inviata, aspetto la risposta... 200 OK

Lunghezza: 74,376 [application/x-tar]

100%[=================================================================================>] 74,376       208.37K/s

15:57:20 (208.02 KB/s) - `/usr/portage/distfiles/cmatrix-1.2a.tar.gz' salvato [74376/74376]

>>> md5 src_uri ;-) cmatrix-1.2a.tar.gz

>>> Unpacking source...

>>> Unpacking cmatrix-1.2a.tar.gz to /var/tmp/portage/cmatrix-1.2a/work

 * Applying cmatrix-1.2a-gentoo.patch...                                                                               [ ok ]

>>> Source unpacked.

creating cache ./config.cache

checking for a BSD compatible install... /bin/install -c

checking whether build environment is sane... yes

checking whether make sets ${MAKE}... yes

checking for working aclocal... found

checking for working autoconf... found

checking for working automake... found

checking for working autoheader... found

checking for working makeinfo... found

checking for gcc... gcc

checking whether the C compiler (gcc -march=pentium4 -O3 -pipe -fomit-frame-pointer ) works... no

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

!!! ERROR: app-misc/cmatrix-1.2a failed.

!!! Function econf, Line 365, Exitcode 1

!!! econf failed

HellMachine Documenti #
```

----------

## Ferdinando

Non e` che non puo` creare eseguibili perche' ci sono permessi sbagliati su /var/tmp/portage (o dovunque faccia il test)? A me emerge non ha mai dato questo errore, ma gcc me lo dava quando cercavo di compilare sulla partizione fat, o tuttora se cerco di farlo sulla partizione che monto in nfs qui dalla facolta`.

ciao

----------

## koma

non ho toccato i permessi ...

```
HellMachine Documenti # ls -la /usr/ |grep portage

drwxr-xr-x  115 root  root   4096 22 mar 17:17 portage

```

----------

## koma

HellMachine Documenti #  /var/tmp/portage/cmatrix-1.2a/work/cmatrix-1.2a/config.l

configure:558: checking for a BSD compatible install.2a/work/cmatrix-1.2a/config.tory

configure:611: checking whether build environment is sanework/cmatrix-1.2a/config

configure:668: checking whether make sets ${MAKE}

configure:714: checking for working aclocal

configure:727: checking for working autoconf

configure:740: checking for working automake

configure:753: checking for working autoheader

configure:766: checking for working makeinfo

configure:786: checking for gcc

configure:899: checking whether the C compiler (gcc -march=pentium4 -O3 -pipe -fomit-frame-pointer ) works

configure:915: gcc -o conftest -march=pentium4 -O3 -pipe -fomit-frame-pointer   conftest.c  1>&5

/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/../../../../i686-pc-linux-gnu/bin/ld: unrecognized option '--as-needed'

/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/../../../../i686-pc-linux-gnu/bin/ld: use the --help option for usage information

collect2: ld returned 1 exit status

configure: failed program was:

#line 910 "configure"

#include "confdefs.h"

main(){return(0);}

----------

## fedeliallalinea

https://forums.gentoo.org/viewtopic.php?t=101681

----------

## koma

```

>>> emerge (1 of 1) sys-devel/gcc-3.2.3-r4 to /

-snip-

 * Applying gcc-3.2.3-move-propolice-into-glibc.patch...                                                               [ ok ]

 * Applying gcc31-loop-load-final-value.patch...                                                                       [ ok ]

 * Applying gcc32-strip-dotdot.patch...                                                                                [ ok ]

 * Applying gcc32-athlon-alignment.patch...                                                                            [ ok ]

 * Applying gcc32-c++-classfn-member-template.patch...                                                                 [ ok ]

 * Applying gcc32-mklibgcc-serialize-crtfiles.patch...                                                                 [ ok ]

 * Applying gcc32-pr7768.patch...                                                                                      [ ok ]

 * Applying gcc32-pr8213.patch...                                                                                      [ ok ]

 * Applying gcc322-ggc_page-speedup.patch...                                                                           [ ok ]

 * Fixing Makefiles...

>>> Source unpacked.

 * Configuring GCC...

Created "Makefile" in /var/tmp/portage/gcc-3.2.3-r4/work/build using "mh-frag" and "mt-frag"

/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/../../../../i686-pc-linux-gnu/bin/ld: unrecognized option '--as-needed'

/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/../../../../i686-pc-linux-gnu/bin/ld: use the --help option for usage information

collect2: ld returned 1 exit status

*** The command 'gcc -o conftest  -march=pentium4 -O3 -pipe   conftest.c' failed.

*** You must set the environment variable CC to a working compiler.

!!! ERROR: sys-devel/gcc-3.2.3-r4 failed.

!!! Function src_compile, Line 382, Exitcode 1

!!! (no error message)

```

----------

## Ferdinando

 *koma wrote:*   

> *** You must set the environment variable CC to a working compiler.

 

Domanda banalissima: hai verificato gcc compilando un semplice hello world in c, e se $CC indica il percorso corretto?

ciao

----------

## koma

no dato che non so nemmeno come potrei corrgere il problema ...

----------

## koma

```
HellMachine Programmi # gcc programma.c -o programma

/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/../../../../i686-pc-linux-gnu/bin/ld: unrecognized option '--as-needed'

/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/../../../../i686-pc-linux-gnu/bin/ld: use the --help option for usage information

collect2: ld returned 1 exit status

HellMachine Programmi #
```

----------

## randomaze

 *koma wrote:*   

> 
> 
> ```
> HellMachine Programmi # gcc programma.c -o programma
> 
> ...

 

Cosa dice:

```

qpkg -f /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/../../../../i686-pc-linux-gnu/bin/ld

```

----------

## koma

non dice nulla ...

----------

## randomaze

 *koma wrote:*   

> non dice nulla ...

 

Se non dice nulla.... chi ti ha installato quel pacchetto?

Quanti gcc hai? Provato con "gcc-config" ?

----------

## motaboy

credo che il problema è che sta usando una versione strana di ld.

come vedi non accetta il flag --as-needed.

prova a lanciare "ld --help" e vedere se veramente lo accetta nelle opzioni. 

prova anche in "which ld" per vedere che ld esegue.

alcuni hanno risolto il problema con gcc-config, ma questo errore può essere causato da decine di problemi differenti.

Bye!

----------

## koma

allora.. ho fato gcc-config 1 e ho switchato o meglio lui lo dava già per tale..) però se provo a compilare qls cosa vedi come sopra... ld c'è

----------

## motaboy

ma "ld --help" cosa dice?

esiste l'opzione "--as-needed" ?

----------

## koma

https://forums.gentoo.org/viewtopic.php?t=166696&highlight=unrecognized+option+asneeded

Ho trovato questo ma non riesco a tradurre purtroppo ho qlc problema con l'inglese qualcuno ptorebbe aiutarmi?   :Embarassed:   :Embarassed:   :Embarassed: 

----------

## blackfede

A me dava lo stesso identico problema quando provavo a compilare con la flag -mture=XYZ e gcc3.3. Per risolvere ho dovuto rimettere la vecchia -mcpu=XYZ.

Adesso ogni volta che compilo con gcc 3.4 uso -mtune, mentre quando compilo con gcc 3.3 attivo -mcpu.

Ma il tuo problema è diverso...non saprei...

----------

## richard77

 *koma wrote:*   

> https://forums.gentoo.org/viewtopic.php?t=166696&highlight=unrecognized+option+asneeded
> 
> Ho trovato questo ma non riesco a tradurre purtroppo ho qlc problema con l'inglese qualcuno ptorebbe aiutarmi?    

 

A spanne: hai installato una versione di binutils che ha fatto il pastrocchio.

Ora devi reistallarlo, pero' visto che non ti funziona binutils devi usare un pacchetto binario.

Prova cosi':

scarica il pacchetto binario da:

[url]http://niebie.sytes.net/files/binutils-2.15.90.0.3-r1.tbz2

[/url]

copialo in /usr/portage/packages/All 

e installalo con 

emerge --usepkg binutils

Il pacchetto e' compilato per athlon, pero' dovrebbe andare anche su altri processori, ma consigliano di ri-emergere il pacchetto binutils da sorgente.

NB: Ho tradotto quello che c'e' scritto, non so se poi funziona o meno.

PS: fammi sapere se funziona. Nel thread c'e' anche un'altra soluzione, ma non l'ho ben capita, se proprio ti serve posso provare a rileggere.

Ciao, r.

i

----------

## Ferdinando

Chiaramente l'emerge dovra` farlo da livecd, quindi con un'altra versione di gcc, e sperando che questo produca eseguibili compatibili con le attuali librerie   :Rolling Eyes: 

Buona fortuna!

ciao

----------

## HexDEF6

 *Ferdinando wrote:*   

> Chiaramente l'emerge dovra` farlo da livecd, quindi con un'altra versione di gcc, e sperando che questo produca eseguibili compatibili con le attuali librerie  
> 
> Buona fortuna!
> 
> ciao

 

se emerge un binario, gcc non gli serve e quindi non serve farlo da livecd....

Ciao!

----------

## koma

ci ho capito poco ...

comunque dove trovo un binario delle binutils? questo dovrebbe correggere la situazione no?

----------

## koma

Allora... Sono riuscito a cavarmela così (grazie a fedeliallalinea):

Qui ho preso i binari di gcc e binutils

http://dev.gentoo.org/~avenj/bins/

Poi come suggeriva il readme ho dato un bel:

```

tar -xvjf appname.tbz2 -C /

emerge appname
```

Risolvendo così ogni problema..  :Smile: 

----------

## koma

il tutto senza nemmeno rebootare la macchina   :Wink: 

----------

## motaboy

Forse l'hanno corretto con gcc-3.3.3-r4:

```

06 May 2004; Travis Tilley <lv@gentoo.org> gcc-3.3.3-r3.ebuild,

 gcc-3.3.3.ebuild, gcc-3.4.0-r1.ebuild:

 copied the sed magick from 3.3.3-r4 that should fix building gcc with binutils

 2.15.90.0.3 and then downgrading to a previous version. it disables the

 --as-needed support that only gets compiled in when using binutils 2.15.90.0.2

 or higher (proper support of which has been moved back to a gcc 3.5 target)

```

Bye!

----------

