Pagina 1 di 2

[RISOLTO]Dubbio librerie 32 bit

Inviato: gio 21 gen 2010, 19:47
da shock
Salve, devo far funzionare un gioco compatibile con linux ma che necessita di alcune librerie :libc, libSDL e libSDL_mixer.
Questo perche il gioco funziona solo a 32 bit mentre io ho una 64.
Ho letto altri post, dove mi rimandano a pagine come queste : http://alien.slackbook.org/dokuwiki/dok ... b_packages
Solo che io non ho capito dove si trova quella directory col numero della versione di slackware che utilizzo e poi non mi fido troppo di quei comandi...una volta per dare upgrade all bloccai tutto!!! :cry:

Come devo fare quindi per installare le librerie a 32 bit?Anche perche si parla di aggiornare le glibc, cosa che mi è stato sconsigliato di fare, data la difficolta.

Re: Dubbio librerie 32 bit

Inviato: gio 21 gen 2010, 21:58
da 414N
In quella guida ti viene semplicemente detto di usare i pacchetti già pronti per Slackware 13 a 32 bit (che puoi scaricare dal sito ufficiale se non hai già scaricato l'intera distribuzione) ed estrarre con lo script indicato le sole librerie condivise.
Per quanto riguarda il numero di versione, se usi la 13.0 usa la roba che trovi lì dentro.

Re: Dubbio librerie 32 bit

Inviato: gio 21 gen 2010, 22:19
da shock
Il fatto è che sono molto confuso al momento...mi è stato detto che il programma che mi serve usa direttamente solo tre librerie (libc, libSDL e libSDL_mixer).

Come faccio?Potresti spiegarmi tu, dato che non ho voglia di perdermi in guide in inglese?(sono mezzo influenzato)

Ciao.

Re: Dubbio librerie 32 bit

Inviato: ven 22 gen 2010, 13:19
da 414N
Allora, come dice nella guida, come prima cose devi scaricare tutti i pacchetti multilib di gcc e glibc da qua. Te la cavi con un

Codice: Seleziona tutto

wget -r -l 1 -nd -A txz,tgz http://connie.slackware.com/~alien/multilib/13.0/
all'interno della directory dove vuoi salvare i pacchetti.
Dopodiché devi installarli:

Codice: Seleziona tutto

upgradepkg --reinstall --install-new *.t?z
e così dovresti aver già sistemato glibc.
Dopodiché, alien consiglia di crearsi tutti i pacchetti delle librerie a 32 bit sfruttando il pacchetto compat32-tools appena installato, ma bisogna avere a disposizione tutto il contenuto del DVD di installazione (o la iso) di Slackware 13.0 a 32 bit.
Se non hai voglia di crearti i pacchetti, puoi trovarli qua. Anche qua te la cavi con:

Codice: Seleziona tutto

wget -r --no-parent -l2 -nH --cut-dirs=4 -A txz,tgz "http://connie.slackware.com/~alien/multilib/13.0/slackware64-compat32/"
all'interno della directory dove vuoi che siano salvati tutti i pacchetti di compatibilità per i 32 bit. Per installare tutte queste librerie senza andare in ogni singola directory ma rimanendo nella radice:

Codice: Seleziona tutto

find . -name "*.t?z" -exec upgradekpg --install-new {}\;
Così facendo potresti installare versioni a 32 bit di librerie che magari non hai installato nella Slackware64. Non che faccia alcunché, però ricordatelo.
Arrivati a questo punto anche libSDL dovrebbe essere a posto.
Io proverei a mettere su questo gioco e vedere se funziona. Se si lamenta di qualche altra libreria mancante ci guarderemo. Per capirlo ti basta lanciare il gioco da terminale e vedere se sputa in output un messaggio del tipo:

Codice: Seleziona tutto

missing library xxx.yyy.so
IMPORTANTE
Come dice in fondo alla sua guida il buon alien, ricordati di mettere nella blacklist di slackpkg (se lo usi) i pacchetti di glibc e gcc appena installati, altrimenti, appena userai slackpkg per aggiornare dei pacchetti, lui segnalerà gcc e glibc da reinstallare perché non sono più quelli ufficiali Slackware a 64 bit, ma sono misti (32 e 64). Ti basta aggiungere al file /etc/slackpg/blacklist la seguente lista di pacchetti:

Codice: Seleziona tutto

gcc
glibc
gcc-g++
gcc-gfortran
gcc-gnat
gcc-java
gcc-objc
glibc-i18n
glibc-profile
glibc-solibs
glibc-zoneinfo
Spero di essere stato abbastanza chiaro.

Re: Dubbio librerie 32 bit

Inviato: ven 22 gen 2010, 17:48
da shock
Scusa io ho fatto tutto, ma l'ultimo comando : (find . -name "*.t?z" -exec upgradekpg --install-new {}\;)
mi da come errore (find: missing argument to `-exec')
Io ho dato quel comando nella stesa directory nella quale ho salvato i pacchetti relativi.

Re: Dubbio librerie 32 bit

Inviato: ven 22 gen 2010, 18:17
da 414N
shock ha scritto:Scusa io ho fatto tutto, ma l'ultimo comando : (find . -name "*.t?z" -exec upgradekpg --install-new {}\;)
mi da come errore (find: missing argument to `-exec')
Io ho dato quel comando nella stesa directory nella quale ho salvato i pacchetti relativi.
Sì, scusami. Errore mio :p
Serve uno spazio tra la graffa chiusa e il backslash:

Codice: Seleziona tutto

find . -name "*.t?z" -exec upgradekpg --install-new {} \;

Re: Dubbio librerie 32 bit

Inviato: ven 22 gen 2010, 18:29
da tom
quel comando dovrebbe funzionare dalla directory genitore a quella/e dove sono i pacchetti (e naturalmente come utente root).

Re: Dubbio librerie 32 bit

Inviato: ven 22 gen 2010, 18:48
da shock
Questo è l'output:

Codice: Seleziona tutto

root@darkstar:~# cd /root/2
root@darkstar:~/2# find . -name "*.t?z" -exec upgradekpg --install-new {} \;
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory                               
find: `upgradekpg': No such file or directory
find: `upgradekpg': No such file or directory
find: `upgradekpg': No such file or directory
find: `upgradekpg': No such file or directory
find: `upgradekpg': No such file or directory
find: `upgradekpg': No such file or directory
find: `upgradekpg': No such file or directory
find: `upgradekpg': No such file or directory
find: `upgradekpg': No such file or directory
find: `upgradekpg': No such file or directory
find: `upgradekpg': No such file or directory
find: `upgradekpg': No such file or directory
find: `upgradekpg': No such file or directory
find: `upgradekpg': No such file or directory
find: `upgradekpg': No such file or directory
find: `upgradekpg': No such file or directory
find: `upgradekpg': No such file or directory
find: `upgradekpg': No such file or directory
find: `upgradekpg': No such file or directory
find: `upgradekpg': No such file or directory
find: `upgradekpg': No such file or directory
find: `upgradekpg': No such file or directory
find: `upgradekpg': No such file or directory
find: `upgradekpg': No such file or directory
find: `upgradekpg': No such file or directory
find: `upgradekpg': No such file or directory
find: `upgradekpg': No such file or directory
find: `upgradekpg': No such file or directory
find: `upgradekpg': No such file or directory
find: `upgradekpg': No such file or directory
find: `upgradekpg': No such file or directory
find: `upgradekpg': No such file or directory
find: `upgradekpg': No such file or directory
find: `upgradekpg': No such file or directory
root@darkstar:~/2#
Cosa significa?

Re: Dubbio librerie 32 bit

Inviato: ven 22 gen 2010, 18:58
da Blallo
dai direttamente upgradepkg --install-new *.t*z no?

Re: Dubbio librerie 32 bit

Inviato: ven 22 gen 2010, 19:06
da shock
Ho dato il comando ma non trova alcun pacchetto, dato che comunque nella directory ci sono varie sottocartelle ed all'interno di esse, ci sono i pacchetti.

Re: Dubbio librerie 32 bit

Inviato: ven 22 gen 2010, 19:26
da targzeta
@tasodan
In realtà find è stato invocato nella directory '.' e quindi....

@jimmy_page_89
Se noti, il comando wget di 414N ha un '-r', questo implica che si è scaricato un albero di directory

@shock
Sono sicuro che se provi a riflettere sull'output ti accorgi che upgradekpg non è il nome corretto del programma che vuoi invocare, quello corretto è upgradepkg.

Lo so, sono stato un po' D.I.C. (Dito In Cxxx) :lol:,
Emanuele

Re: Dubbio librerie 32 bit

Inviato: ven 22 gen 2010, 19:30
da Blallo
spina ha scritto:@jimmy_page_89
Se noti, il comando wget di 414N ha un '-r', questo implica che si è scaricato un albero di directory
oh no anzi, le critiche costruttive sono sempre ben accette :D

Re: Dubbio librerie 32 bit

Inviato: ven 22 gen 2010, 19:37
da shock
Bene...sono riuscito ad installare cio che mi serviva, solo che sia da terminale che normalmente il gioco si avvia e si chiude subito dopo.
Cioe, io clicco sul file eseguibile, per una frazione di secondo esce una finestra nera e èpoi si chiude da sola.

Perche?

Comunque grazie per l'aiuto che mi avete dato.

Re: Dubbio librerie 32 bit

Inviato: ven 22 gen 2010, 19:56
da 414N
shock ha scritto:Bene...sono riuscito ad installare cio che mi serviva, solo che sia da terminale che normalmente il gioco si avvia e si chiude subito dopo.
Cioe, io clicco sul file eseguibile, per una frazione di secondo esce una finestra nera e èpoi si chiude da sola.

Perche?

Comunque grazie per l'aiuto che mi avete dato.
Perché evidentemente mancherà ancora qualcosa, come ti avevo preventivato.
Quando lo lanci da terminale stampa qualche messaggio d'errore?

Re: Dubbio librerie 32 bit

Inviato: ven 22 gen 2010, 19:59
da shock
Ecco l'output:

Codice: Seleziona tutto

root@darkstar:~# cd /root/BOH
root@darkstar:~/BOH# ./BOH
Segmentation fault
root@darkstar:~/BOH#