# [solved]root/.fluxbox/startup: cannot executable binary file

## KinG-InFeT

ok nuova installazione di gentoo...tutto andato perfettamente ma appenavoglio avviare fluxbox via startx ecco il risultato

```
/root/.fluxbox/startup: cannot executable binary file
```

ho cercato un pò e dicono che non è abilitato nel kernel le seguenti voci

```
CONFIG_IA32_EMULATION=y

CONFIG_IA32_AOUT=y 
```

ora io ho provato a cercarle ...ma non le ho trovate

il mio è il kernel 2.6.39.3 vanilla

anche nel config con un grep non mi restituisce niente

cosa dovrei fare?

PS. il mio è un sistema x86

PS2: per il forum ho trovato i seguenti topic inerenti ad uno stesso problema o  simile

https://forums.gentoo.org/viewtopic-t-478995-start-0.html

https://forums.gentoo.org/viewtopic-t-544220-start-0.html

----------

## k01

io uso i gentoo-sources quindi mi baso su quelli, nella pagina principale di menuconfig c'è la voce Executable file formats / Emulations e dentro le due voci:

[*] IA32 Emulation                                                                       

<*>   IA32 a.out support

----------

## KinG-InFeT

si ma ke kernel utilizzi?

io cercando tramite il search di menuconfig li trova ma in quella sezione li ho attivati tutti e ne sono solo 4 non trovo le due voci che voglio:S

----------

## k01

 *KinG-InFeT wrote:*   

> si ma ke kernel utilizzi?

 

sys-kernel/gentoo-sources-2.6.39-r3, ma quelle voci le ho sempre avute anche nelle versioni precedenti

----------

## KinG-InFeT

allora ti elenco ciò che mi visualizza quella voce

```

[*] Kernel support for ELF binaries

[*] Write ELF core dumps with partial segments

<*> Kernel support for a.out and ECOFF binaries

<*> Kernel support for MISC binaries

```

 e sono tutti attivi

----------

## djinnZ

Ma è un kernel a 64 bit? Perché altrimenti ci deve essere solo la voce per il supporto dei .out (a parte il fatto che a.out è un formato dei file a dir poco antico ... sicuro che serve?) come giustamente ti riporta.

Quei thread sono riferiti ambienti multilib a 64 bit dove ci era dimenticati di abilitare nel kernel il supporto ai binari a 32.

Non è il tuo caso

Sicuro che i permessi siano giusti e non ci sia un noexec nelle opzioni di mount? Andrei più a verificare questo.

----------

## KinG-InFeT

fatto strano e che da root (in questo caso) non si avvia e mi da quell'errore....

ma da utente normale si avvia alla perfezione   :Shocked:  ma che diamine significa?

EDIT1: vabhè provo ad emergere ed installare un gentoo-sources e compilarlo con genkernel e vediamo che fà

----------

## KinG-InFeT

niente da fare sempre la stessa cosa ....non capisco porco cane

----------

## djinnZ

ripeto: i permessi ... il file deve avere permessi di esecuzione e lettura così come il percorso a cui appartiene.

bada che c'è un serio motivo per cui /root è leggibile ed eseguibile solo a root

----------

## KinG-InFeT

si ma i permessi sono uguali a tutti i file inseriti in quella dir non hanno diversità....sto impazzendo

EDIT: ho provato a settare tramite chmod a 777 e mi da il medesimo errore

----------

## djinnZ

non conosco fluxbox ma suppongo che tu abbia seguito il tutorial. Sulla sezione francese è riportato un problema di path nello script .fluxbox/startup ma dovevano aver corretto il bug e la documentazione da anni.

eventualmente potresti provare a mettere all'inizio il solito 

```
#!/bin/bash -x

set -x
```

e vedere così dove è il problema ma inizierei da un whereis (e da un diff con quanto nella home degli utenti normali) e vedere se il percorso corrisponde

Proprio il chmod 777 ti avevo detto di evitare accuratamente...

Ti ripeto che i messaggi "cannot execute" corrispondono a alle seguenti possibilità:

supporto 32 bit non attivo(ma non sei su un sistema a 64)supporto a.out o misc mancante (ma non mi pare che i pacchetti ufficiali di gentoo prevedano binari legacy o l'esecuzione diretta di roba java o .net)lo script non è eseguibile per problemi di permessi o perchè c'è una riga #!/qualcosa che punta ad un interprete sbagliato (ma pare che non sia così)il file che stai trovando non è eseguibile per problemi di permessi (ma dato che riesci da utente normale non credo sia questo il caso)il comando che invochi corrisponde ad un file che non è nella pathil comando è nella path ma per qualche strana ragione la shell tenta di eseguire un altro file che non lo è (per questo è sconsigliato aggiungere . alla path)per qualche imperscrutabile motivo quello che doveva essere uno script od un file eseguibile è stato rimpiazzato da qualcosa che non lo èsei su un sistema hardened e stai violando una qualche restrizione particolare (quindi è sempre un problema di permessi)

Procedi per esclusione e spero che ti sia chiaro adesso.

edit: me ne ero dimenticato, era la prima cosa a cui ho pensato

----------

## KinG-InFeT

Grande non si poteva desiderare risposta migliore ti terro aggiornato di eventuali risoluzioni

----------

## KinG-InFeT

bene ho risolto in un metodo a dir poco strambo.....cmq 

si ricompila fluxbox si setta con chmod startup di fluxbox ion /usr/bin a 777

si prova ad avviare (ovviamente darà errore[cosa ancora più strana])

poi si setta con chmod a 644si avvia startup (e non startx!!!!) e fluxbox al prossimo riavvio da root tramite startx si avvierà senza problemi.....

sinceramente non ho idea del perchè ma visto la cosa troppo strana ho riformattato e rifatto tutto da 0 ed è andato tutto alla perfezione

----------

## djinnZ

Da un lato hai fatto bene anche se sarebbe stato meglio provare ad analizzare l'installazione, mi puzza di rookit.

----------

