# [RISOLTO] esecuzione binari

## nillkheope

Ciao a tutti, ho da poco dato una bella aggiornata al portatile, il quale ha come cpu una AMD64 3000+.

L'ho renstallato da zero poichè l'installazione precedente era piuttosto vecchietta, e non lo tenevo aggiornato.

Ho cominciato con la solita installazione testuale. Nessun problema. Ho installato xfce4 come interfaccia grafica e tutto sembrava funzionare a meraviglia.

Comincio a lavorare con gentoo.

Non riesco ad aggiornare il compilatore, ossia dalla versione 4.1.1 non riesco a passare alla 4.1.1-r3.

E' un problema discusso molto in rete, al quale però non ho trovato nessuna soluzione.

Abilito il supporto per l'emulazione dei file binari (è utile per i 64bitter che vogliono avere un mozilla interamente funzionale con java  e flash).

I binari non vengono eseguiti....inspiegabilmente.

Vi posto un paio di errori nel caso qualcuno riesca a capirci qualcosa

Questa è l'esecuzione di firefox binario.

```
babylon ~ # firefox-bin   

/usr/libexec/mozilla-launcher: line 368: /opt/firefox/mozilla-xremote-client: cannot execute binary file

Unknown error 126 from mozilla-xremote-client

/usr/libexec/mozilla-launcher: line 460: /opt/firefox/firefox-bin: cannot execute binary file

firefox-bin exited with non-zero status (126)
```

Tentativo di aggiornamento gcc

```
checking for x86_64-pc-linux-gnu-gcc... /var/tmp/portage/sys-devel/gcc-4.1.1-r3/work/build/./gcc/xgcc -B/var/tmp/portage/sys-devel/gcc-4.1.1-r3/work/build/./gcc/ -B/usr/x86_64-pc-linux-gnu/bin/ -B/usr/x86_64-pc-linux-gnu/lib/ -isystem /usr/x86_64-pc-linux-gnu/include -isystem /usr/x86_64-pc-linux-gnu/sys-include  -m32

checking for C compiler default output file name... a.out

checking whether the C compiler works... configure: error: cannot run C compiled programs.

If you meant to cross compile, use `--host'.

See `config.log' for more details.

make[2]: *** [configure-target-libstdc++-v3] Error 1

make[2]: Leaving directory `/var/tmp/portage/sys-devel/gcc-4.1.1-r3/work/build'

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

make[1]: Leaving directory `/var/tmp/portage/sys-devel/gcc-4.1.1-r3/work/build'

make: *** [profiledbootstrap] Error 2

!!! ERROR: sys-devel/gcc-4.1.1-r3 failed.

Call stack:

  ebuild.sh, line 1614:   Called dyn_compile

  ebuild.sh, line 971:   Called qa_call 'src_compile'

  environment, line 5375:   Called src_compile

  ebuild.sh, line 1304:   Called toolchain_src_compile

  toolchain.eclass, line 26:   Called gcc_src_compile

  toolchain.eclass, line 1550:   Called gcc_do_make

  toolchain.eclass, line 1424:   Called die

!!! emake failed with profiledbootstrap

!!! If you need support, post the topmost build error, and the call stack if relevant.

!!! A complete build log is located at '/var/tmp/portage/sys-devel/gcc-4.1.1-r3/temp/build.log'.
```

Tentativo di emergere openoffice-bin

```
babylon ~ # emerge openoffice-bin

Calculating dependencies... done!

>>> Emerging (1 of 2) app-emulation/emul-linux-x86-java-1.5.0.10 to /

 * jdk-1_5_0_10-dlj-linux-i586.bin RMD160 ;-) ...                                                                                                                            [ ok ]

 * jdk-1_5_0_10-dlj-linux-i586.bin SHA1 ;-) ...                                                                                                                              [ ok ]

 * jdk-1_5_0_10-dlj-linux-i586.bin SHA256 ;-) ...                                                                                                                            [ ok ]

 * jdk-1_5_0_10-dlj-linux-i586.bin size ;-) ...                                                                                                                              [ ok ]

 * checking ebuild checksums ;-) ...                                                                                                                                         [ ok ]

 * checking auxfile checksums ;-) ...                                                                                                                                        [ ok ]

 * checking miscfile checksums ;-) ...                                                                                                                                       [ ok ]

 * checking jdk-1_5_0_10-dlj-linux-i586.bin ;-) ...                                                                                                                          [ ok ]

>>> Unpacking source...

Unpacking...

Checksumming...

Extracting...

/var/tmp/portage/app-emulation/emul-linux-x86-java-1.5.0.10/distdir/jdk-1_5_0_10-dlj-linux-i586.bin: line 821: ./install.sfx.12984: cannot execute binary file

Failed to extract the files.  Please refer to the Troubleshooting section of

the Installation Instructions on the download page for more information.

!!! ERROR: app-emulation/emul-linux-x86-java-1.5.0.10 failed.

Call stack:

  ebuild.sh, line 1614:   Called dyn_unpack

  ebuild.sh, line 751:   Called qa_call 'src_unpack'

  environment, line 3300:   Called src_unpack

  emul-linux-x86-java-1.5.0.10.ebuild, line 56:   Called die

!!! Failed to unpack

!!! If you need support, post the topmost build error, and the call stack if relevant.

!!! A complete build log is located at '/var/tmp/portage/app-emulation/emul-linux-x86-java-1.5.0.10/temp/build.log'.
```

Il problema sembra sempre "cannot execute binary file" sulla dipendenza emul-linux-x86-java.

Ho provato a consultare il forum dedicato agli utenti AMD64...ma mi sembra poco frequentato.

Provo a postare qui questi problemi...spero di non essere troppo out.

Per quanto concerne l'esecuzione dei binari, ho abilitato IA32emulation e IA32a.out support.Last edited by nillkheope on Sat Mar 31, 2007 7:58 pm; edited 2 times in total

----------

## lavish

posta un emerge --info

Scommettiamo che usi il profilo no-multilib?

----------

## nillkheope

grazie lavish della prontissima risposta....

ecco quanto richiesto

```
babylon ~ # emerge --info

Portage 2.1.2.2 (default-linux/amd64/2006.1, gcc-4.1.1, glibc-2.5-r0, 2.6.19-gentoo-r5 x86_64)

=================================================================

System uname: 2.6.19-gentoo-r5 x86_64 AMD Athlon(tm) 64 Processor 3000+

Gentoo Base System release 1.12.9

Timestamp of tree: Wed, 28 Mar 2007 12:50:01 +0000

dev-java/java-config: 1.3.7, 2.0.31

dev-lang/python:     2.4.3-r4

dev-python/pycrypto: 2.0.1-r5

sys-apps/sandbox:    1.2.17

sys-devel/autoconf:  2.13, 2.61

sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10

sys-devel/binutils:  2.16.1-r3

sys-devel/gcc-config: 1.3.14

sys-devel/libtool:   1.5.22

virtual/os-headers:  2.6.17-r2

ACCEPT_KEYWORDS="amd64"

AUTOCLEAN="yes"

CBUILD="x86_64-pc-linux-gnu"

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

CHOST="x86_64-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/share/X11/xkb"

CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo"

CXXFLAGS="-march=athlon64 -O2 -pipe"

DISTDIR="/usr/portage/distfiles"

FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict"

GENTOO_MIRRORS="ftp://ftp.unina.it/pub/linux/distributions/gentoo"

LINGUAS="it"

MAKEOPTS="-j2"

PKGDIR="/usr/portage/packages"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"

USE="X a52 aac aalib acpi alsa amd64 asd berkdb bitmap-fonts bzip2 cdr cli cracklib crypt cups dbus dri dvd dvdread encode fortran ftp gdbm gpm gstreamer gtk hal iconv icq ipv6 isdnlog java jpeg libg++ midi mp3 mpeg mplayer msn ncurses nls nptl nptlonly opengl oss pam pcre perl ppds pppd python readline reflection session spl ssl tcpd truetype-fonts type1-fonts unicode usb xfce xine xorg xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="it" USERLAND="GNU" VIDEO_CARDS="nvidia"

Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
```

Poi mi spieghi...  :Very Happy: ...cos'è 

```
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo"
```

Grazie

----------

## lavish

Mhhh... il profilo sembra quello giusto...

sicuro di aver abilitato nel kernel:

```

CONFIG_IA32_EMULATION=y

CONFIG_IA32_AOUT=y 
```

?

----------

## nillkheope

si, nel kernel ho aggiunto il supporto per IA32emulation.

non so che dire...sono tutti errori strani.

Per l'esecuzione dei bianri (sempre usati) non mi ricordo di ave fatto altre procedure più che ricompilare l kernel.

Quel problemi di gcc, come precedentemente detto, è diffuso per coloro che usano sistemi nativi a 64 bit, ma a quanto pare nessuno ha una soluzione al problema.

L'unica che ho trovato è quella di passare alla versione di gcc 4.1.2 che però è unstable. dato che ho avuto qualche problema di ricente a causa di un utilizzo di pacchetti unstable non volgio pensarci nemmeno ad usare il gcc unstable.

Continuo a provare...

Grazie

----------

## Scen

Forse questo topic - [IG7] cannot run C compiled programs (AMD64) può esserti d'aiuto.

P.S. x info: io a casa ho un'installazione stabile AMD64 da più di un anno, e non ho mai riscontrato problemi simili al tuo.

----------

## nillkheope

ciao Scen, visto che hai detto di avere una versione stabile di AMD64, potresti dirmi se hai aggiornato la suddetta macchina?

Se mi puoi dire che kernel ,gcc e che glibc usi mi faresti un piacere.

Anch'io non ho avuto problemi con la gentoo che c'era prima, ma era aggiornata tutto ad un anno e mezzo fa.

Grazie

----------

## Scen

```

# emerge --info

Portage 2.1.2.2 (default-linux/amd64/2006.1, gcc-4.1.1, glibc-2.5-r0, 2.6.17-gentoo-r8 x86_64)

=================================================================

System uname: 2.6.17-gentoo-r8 x86_64 AMD Athlon(tm) 64 Processor 3800+

Gentoo Base System release 1.12.9

Timestamp of tree: Wed, 28 Mar 2007 02:50:01 +0000

dev-lang/python:     2.4.3-r4

dev-python/pycrypto: 2.0.1-r5

sys-apps/sandbox:    1.2.17

sys-devel/autoconf:  2.13, 2.61

sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10

sys-devel/binutils:  2.16.1-r3

sys-devel/gcc-config: 1.3.14

sys-devel/libtool:   1.5.22

virtual/os-headers:  2.6.17-r2

ACCEPT_KEYWORDS="amd64"

AUTOCLEAN="yes"

CBUILD="x86_64-pc-linux-gnu"

CFLAGS="-march=k8 -O2 -pipe"

CHOST="x86_64-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config /var/bind"

CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/php/apache1-php4/ext-active/ /etc/php/apache2-php4/ext-active/ /etc/php/cgi-php4/ext-active/ /etc/php/cli-php4/ext-active/ /etc/revdep-rebuild /etc/terminfo"

CXXFLAGS="-march=k8 -O2 -pipe"

DISTDIR="/var/tmp/portage-distfiles"

FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict"

GENTOO_MIRRORS="http://ftp.uoi.gr/mirror/OS/gentoo/ http://gentoo.mirror.solnet.ch http://gentoo.intergenia.de http://mirror.ovh.net/gentoo-distfiles/ http://ftp.ntua.gr/pub/linux/gentoo/"

LANG="it_IT@euro"

LC_ALL="it_IT@euro"

LINGUAS="it"

MAKEOPTS="-j2"

PKGDIR="/var/tmp/packages"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

PORTDIR_OVERLAY="/usr/local/portage /usr/portage/local/layman/gechi-testing"

SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"

USE="amd64 berkdb bitmap-fonts cli cracklib crypt cups dri fortran gpm hal iconv isdnlog kdeenablefinal kdehiddenvisibility libg++ midi ncurses nls nptl nptlonly pam pcre perl ppds pppd python readline reflection session spl ssl tcpd truetype-fonts type1-fonts unicode xorg zlib" ALSA_CARDS="via82xx" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse penmount" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="it" USERLAND="GNU" VIDEO_CARDS="nv vesa fbdev"

Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

```

```

# emerge -pv gentoo-sources gcc glibc

These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild   R   ] sys-kernel/gentoo-sources-2.6.19-r5  USE="-build -symlink" 0 kB

[ebuild   R   ] sys-devel/gcc-4.1.1-r3  USE="nls (-altivec) -bootstrap -build -doc -fortran -gcj -gtk (-hardened) -ip28 -ip32r10k -mudflap (-multilib) -multislot (-n32) (-n64) -nocxx -objc -objc++ -objc-gc -test -vanilla" 0 kB

[ebuild   R   ] sys-libs/glibc-2.5  USE="nls nptl nptlonly -build -glibc-compat20 -glibc-omitfp (-hardened) (-multilib) -profile (-selinux)" 0 kB

Total: 3 packages (3 reinstalls), Size of downloads: 0 kB

```

E' probabile tu abbia fatto, o sia stata fatta, qualche operazione "strana" durante l'installazione (hai installato tramite GLI, mi pare di capire).

Prova l'operazione consigliata nel topic che ti ho linkato, e facci sapere se risolve il problema.

----------

## noppy

anchio ho tutto compilato a 64bit con gcc 4.1.1 , unica nota , ho un intel core 2 duo non un AMD Athlon64 xxx ...

----------

## Scen

 *noppy wrote:*   

> anchio ho tutto compilato a 64bit con gcc 4.1.1 , unica nota , ho un intel core 2 duo non un AMD Athlon64 xxx ...

 

A questo punto non so se hai fatto bene a mettere nelle CFLAGS -march=athlon64. Forse nel momento in cui vai a gestire binari a 32 bit il sistema va in crisi.

Per impostare le CFLAGS corrette vedi:

Quali CFLAGS si dovrebbero usare per AMD64/EM64T?

Gentoo Wiki - Safe CFLAGS (becca il modello esatto della tua CPU)

----------

## noppy

ehm no , era per dire semplicemente che anchio avendo un sistema a 64bit e usando gcc 4.1.1 coi binari a 32bit non ho alcun problema (uso -march=nocona per la precisione , e per essere ancora piu' precisi uso "-O3 -pipe -mfpmath=sse -mmmx -msse -msse2 -msse3 -march=nocona -funroll-loops -fomit-frame-pointer")

----------

## Scen

Ah, ok  :Razz: 

Ripeto: se non l'hai già fatto, prova l'operazione consigliata nel topic che ti ho linkato, e facci sapere se risolve il problema.  :Wink: 

[EDIT]

 *noppy wrote:*   

> 
> 
> uso "-O3 -pipe -mfpmath=sse -mmmx -msse -msse2 -msse3 -march=nocona -funroll-loops -fomit-frame-pointer"
> 
> 

 

 :Shocked:  Azzz... Power to optimization  :Wink:  Penso che con -O3 le varie -msse -msse2 -msse3 siano ridondanti...

[/EDIT]

----------

## noppy

si sono convinto anchio che siano rindondanti , ma in caso lo siano , be' le ignora , se percaso succede che non lo sono , le usa  :Very Happy: 

----------

## nillkheope

Mah allora, ho rpvato a seguire il primo link di Scen, e anche se immaginavo che non era proprio il mio problema ho provata a riemergere nuovamente gcc

con

```
USE="multilib" FEATURES="-sandbox" emerge gcc portage
```

Il problema di compilazione, rimane. Mah...non so che dire.

Per quanto riguarda le CFLAGS, ho sempre usato -march=athlon64. Rileggendo la guida linkata da Scen ho notato

Quali CFLAGS si dovrebbero usare per AMD64/EM64T?

Si possono usare delle CFLAGS basilari per evitare futuri problemi con il sistema. Le CFLAGS supportate sono -O2 -march=k8 -pipe per sistemi non-EMT64 e -O2 -march=nocona -pipe per sistemi EM64T.

Io rimago dell'idea che chi ha CPU AMD ATHLON 64 debba usare -march=athlon64.

Che faccio? Ora provo a passare alla versione unstable...

Non penso che le cose cambino mah vale la pena tentare[/topic]

Grazie

----------

## djinnZ

prima di far danni ti conviene un bel qpkg gcc libc etc.

my 1 cent

----------

## Scen

Ooopsss, in una delle mie precedenti risposte ho fatto un pò di confusione  :Embarassed:  (ho risposto a noppy credendo fosse lui l'autore originale di questo post)

 *nillkheope wrote:*   

> si, nel kernel ho aggiunto il supporto per IA32emulation.

 

Ne sei sicuro sicuro sicuro? In questa discussione un'altro aveva il tuo stesso problema, e dopo aver abilitato quelle voci tutto si è sistemato.

Non è che per caso hai avviato un kernel sbagliato, o, dopo averlo aggiornato, non hai sovrascritto correttamente l'immagine?

 *nillkheope wrote:*   

> L'unica che ho trovato è quella di passare alla versione di gcc 4.1.2 che però è unstable. dato che ho avuto qualche problema di ricente a causa di un utilizzo di pacchetti unstable non volgio pensarci nemmeno ad usare il gcc unstable.

 

Hai già provato ad aggiornare a gcc-4.1.2? Funziona l'aggiornamento? O è una tua supposizione? Comunque se lo compili con la USE "multislot" abilitata mantieni anche la versione 4.1.1 (e puoi "switchare" tramite gcc-config)[/topic]

----------

## nillkheope

ohhhh...finito.

Allora, il problema era il kernel.....aveva ragione Scen...aho capita!

In pratica smontandomi in automatico la partizione di boot, compilavo il kernel, copiavo l'immagine in boot smontata, e quindi ad ogni riavvio non notavo differenze poichè il kernel era sempre quello di prima. Mi sono accorto dell'errore poichè ho ricominciato a ricompilarlo da zero, e le differenze erano notevoli...ma non visibili.

Per il momento posso dire che i binari vanno...almeno uno l'ho risolto.  :Very Happy: 

Per quanto riguarda il gcc....forse è un po' troppo azzardato parlare di un possibile bug in gcc-4.1.1-r3 per amd64??  :Shocked: 

Controllo anche il forum degli AMD64 e anche li non vi sono notizie a riguardo, pertanto si sceglie di rimanere con la versione stable 4.1.1.  :Crying or Very sad: 

Grazie mille degli aiuti!

----------

## Scen

Niente bug di gcc, il problema era proprio il kernel (come hai potuto appurare  :Cool:  ). Mantieni la versione stabile e vedrai che potrai fare sonni tranquilli  :Wink: 

----------

## lavish

 *nillkheope wrote:*   

> Allora, il problema era il kernel.....aveva ragione Scen...aho capita!

 

Aoh, e io che ti stavo dicendo? Ero sicuro fosse quello  :Razz: 

----------

## nillkheope

 :Embarassed:  mea culpa  :Embarassed: 

Per gcc kmq cosa ci devo fare con il kernel....mi sono perso qualcosa?

Il problema dei binari sapevo che erano due spulciate nel kernel ma con gcc devo cambiare qualcosa secondo voi?

----------

## lavish

Per il problema con gcc ti consiglio di: cambiare il titolo a questo thread (per riferirlo esclusivamente al problema con i binari) e aprire un altro topic, cosi' non facciamo confusione con questo  :Smile: 

----------

