Pagina 1 di 1
SOLVED: Slackware & Lego Mindstorm
Inviato: ven 30 apr 2010, 16:20
da mr.simo
Ciao a tutti, qualcuno conosce un buon software per programmare il Lego Mindstorm con Linux?
Ho provato ad installare brickOs ma non ho il supporto per gcc hitachi.. Ho provato a compilarlo seguendo istruzioni su internet ma niente... Installandolo su una Ubuntu non riesco a farlo partire... ê installato ma come se non esistesse, o forse non so come si chiama il file specifico per eseguirlo da terminale.. comunque, qualcuno a qualche consiglio?
Ciao Grazie!
Re: Slackware & Lego Mindstorm
Inviato: ven 30 apr 2010, 19:07
da metrofox
Ho provato a compilarlo seguendo istruzioni su internet ma niente...
Niente cosa?
o forse non so come si chiama il file specifico per eseguirlo da terminale...
Probabile, spiega meglio la situazione.
Re: Slackware & Lego Mindstorm
Inviato: ven 30 apr 2010, 19:38
da SIV
Sì infatti se ci dici cosa hai scaricato/installato su ubuntu, magari riusciamo a capire qualche eseguibile devi lanciare.
Re: Slackware & Lego Mindstorm
Inviato: ven 30 apr 2010, 21:36
da mr.simo
Si scusate prima ero preso dalla fretta e vi chiedo scusa se non sono stato per niente completo.
Dunque..
Situazione su Slackware:
Secondo la documentazione riportata sul sito
http://home.comcast.net/~kyle-violin/li ... howto.html (avevo trovato altre docu ma niente... non le trovo piú..)
ho scaricato le binutils, compilate ed installate con successo. Al momento ho scaricato gcc e lo sto compilando secondo le istruzioni riportate...
pero ricevo questo errore:
Codice: Seleziona tutto
checking for g++ that supports -ffunction-sections -fdata-sections... yes
[b]configure: error: No support for this host/target combination.
make[1]: *** [configure-target-libstdc++-v3] Error 1[/b]
make[1]: Leaving directory `/home/simo/Desktop/gcc-4.2.4'
make: *** [all] Error 2
Probabile ci sono problemi con il frag dato a configure..
Situazione su ubuntu:
Installato tramite VirtualBox per fare una prova visto che ha brickOs incluso nei repo con synaptic, ho installato i pacchetti:
brickos, brickos-doc, gcc-h8300-hms, binutils-h8300-hms.
Questi sono i pacchetti richiesti... Pero dove sono o quali sono gli eseguibili?
Codice: Seleziona tutto
simo@localhost:/usr/share/doc/brickos/html$ whereis brickos
brickos: /usr/lib/brickos /usr/include/brickos
simo@localhost:/usr/share/doc/brickos/html$
Ho sbirciato tra le docu, c'è n'è una bellissima sulle funzioni da usare per il programming, esempi di applicazioni ed istruzioni su come installarlo da configure, make && make install...
PS: Versione 8.04... ma la versione di brickos è la stessa.. 0.9.0..
Ma degli eseguibili per quel che ne so... Nada.. Sarò io che non avrò capito come funziona il tutto?

Re: Slackware & Lego Mindstorm
Inviato: sab 1 mag 2010, 3:45
da mr.simo
Per gli eseguibili ho capito come funziona, ho trovato una valida guida qui:
http://brickos.sourceforge.net/docs/install-Debian.html
Se pero qualcuno mi assiste nel capire perchè non riesco a compilarlo sarebbe di grande aiuto.
Thanks
Re: Slackware & Lego Mindstorm
Inviato: sab 1 mag 2010, 18:45
da metrofox
ho scaricato le binutils, compilate ed installate con successo. Al momento ho scaricato gcc
Stai davvero dicendo che ti sei compilato le binutils da sole quando già sono installate su slackware di default? Sono nella serie d/ del disco, perché l'hai fatto? Ti stai anche compilando gcc? E per quale motivo se già c'è su slackware, stanno già nella serie d/ e sono installate di default, sicuramente se dai:
Ti usciranno i vari risultati, stessa cosa se al posto di gcc metti binutils, cancella tutto ciò che hai fatto e salta quei passaggi, quella guida da proprio istruzioni dall'inizio, quando invece non se ne ha bisogno in questo/i(e molti altri) caso/i. Se però devi compilarlo su slackware perché manca il supporto a qualcosa allora utilizza lo slackbuild di Pat ed aggiungi la feature che devi compilare.
Comunque l'errore di gcc è spiegato bene nelle
Notes:
This error is supposed to happen. This is because the compiling of libstdc++ does not work. We do not need libstdc++ or newlib because BrickOS contains its own minimal c++ library. Thank you to Jochen Hoenicke for this explanation.
Questi sono i pacchetti richiesti... Pero dove sono o quali sono gli eseguibili?
Ti consiglio "which" al posto di "whereis" per vedere dove sono gli eseguibili
Se pero qualcuno mi assiste nel capire perchè non riesco a compilarlo sarebbe di grande aiuto.
In quale passaggio ti blocchi? Hai installato tutto ciò che è richiesto?
Re: Slackware & Lego Mindstorm
Inviato: sab 1 mag 2010, 21:40
da mr.simo
Ti usciranno i vari risultati, stessa cosa se al posto di gcc metti binutils, cancella tutto ciò che hai fatto e salta quei passaggi, quella guida da proprio istruzioni dall'inizio, quando invece non se ne ha bisogno in questo/i(e molti altri) caso/i. Se però devi compilarlo su slackware perché manca il supporto a qualcosa allora utilizza lo slackbuild di Pat ed aggiungi la feature che devi compilare
Ma infatti ero molto dubbioso sul fatto di rinstallarli etc proprio per il motivo che mi hai detto tu. Lo so che tipo di pacchetti sono e che di natura sono già inclusi, però per quel che ne so ci vuole il compilatore hitachi..
Saltando quei passaggi ed arrivando a compilare solo brickos, applicando la patch come spiegato li, ovviamente mi incontro in questa situazione:
Codice: Seleziona tutto
~$ cd De*/br*
~/Desktop/brickos-0.9.0$ patch -p0 < brickos-gcc33.diff
patching file h8300.rcx
patching file lib/c++/stub.c
patching file lib/float/addsf3.s
patching file lib/float/expandsf.s
patching file lib/float/fixsfsi.s
patching file lib/float/floatsisf.s
patching file lib/float/joinsf.s
patching file lib/float/normalsf.s
patching file util/dll-src/genlds.c
~/Desktop/brickos-0.9.0$ sudo ./configure -prefix=/usr/local/h8300-hms
Password:
Welcome to the brickOS Makefile configurator.
Attempting to find the Hitachi gcc compiler. (This may take some time.)
find: /home/simo/.gvfs: Permission denied
No hitachi gcc compiler found, please install compiler and try again.
~/Desktop/brickos-0.9.0$
Quindi, se ho capito bene, come posso utilizzare lo slackbuild di Pat e aggiungere la feature per hitchi? Chiedo scusa ma non l'ho mai fatto..
Re: Slackware & Lego Mindstorm
Inviato: sab 1 mag 2010, 23:59
da metrofox
Quindi, se ho capito bene, come posso utilizzare lo slackbuild di Pat e aggiungere la feature per hitchi? Chiedo scusa ma non l'ho mai fatto..
Nemmeno io ma leggendo
qui noto alcuni parametri interessanti, che magari possono anche essere validi(magari da versione a versione è cambiato qualcosa, ma prova così), a questo punto però dobbiamo sul serio compilare le binutils e successivamente gcc(sono cose delicatissime queste), però non lo so andandoci un po per logica magari ci riusciamo.
Prima cosa da fare è scaricare tutto l'occorrente dai mirrors di slackware(la guida è un po vecchiotta), incolla questo scriptino:
Codice: Seleziona tutto
#!/bin/sh
# Setting arch variable, for mirror
ARCH=$(uname -m)
if [ "$ARCH" == "x86_64" ]; then
ARCHSUFFIX="64"
else
ARCHSUFFIX=""
fi
if [ "$UID" == "0" ]; then
printf "Sei, root, esco"
exit
fi
set -e
cd ~
mkdir binutils-2.20.50 && cd binutils-2.20.50
wget -nd -np -r --reject="*gif,*html,*tar.gz,*png,*htm,*asc,index*" http://slackware.osuosl.org/slackware${ARCHSUFFIX}-current/source/d/binutils/
cd ..
mkdir gcc-4.4.3 && cd gcc-4.4.3
wget -nd -np -r --reject="*gif,*html,*tar.gz,*png,*htm,*asc,index*" http://slackware.osuosl.org/slackware${ARCHSUFFIX}-current/source/d/gcc/
cd ../binutils-2.20.50 ; sed
Una volta finito tutto, modifica il file binutils.SlackBuild, individua la linea "--enable-targets=$ARCH-slackware-linux \", dopodiché va a capo ed inserisci:
Salva le modifiche, dai i permessi di scrittura da root ed esegui con:
Codice: Seleziona tutto
chmod +x binutils.SlackBuild && BUILD=2 ./binutils.SlackBuild
Alla fine installa il pacchetto che ti si è creato(sempre da root):
Codice: Seleziona tutto
upgradepkg /tmp/binutils*-2.txz ; rm /tmp/binutils*-2.txz
Adesso entra nella dir gcc-4.4.3, edita il file gcc.SlackBuild e trova le]a stringa "--enable-checking=release \", vai a capo ed aggiungi:
Collegati come root e dai
Se crea i pacchetti aggiornali come hai fatto prima con le binutils(usa upgradepkg quindi). Una volta finito prova a vedere se funziona tutto, se non funziona poi vediamo.
Re: Slackware & Lego Mindstorm
Inviato: dom 2 mag 2010, 7:04
da ponce
scusa la precisazione metro, ma se li aggiorna dopo averli fatti dagli slackbuild ufficiali (in questo caso, per fortuna, non dovrebbe finire la compilazione) si installeranno nel path standard, gli sovrascriveranno quelli di slackware e non gli funzionera' piu' niente
dovrebbe dire al ./configure di installarli in un'altro path, tipo con l'opzione --prefix=/opt/hitachi (nell'ottima guida che hai linkato consiglia nella home), poi nella shell/terminale da cui vuole usare il compilatore e binutils mettera', sempre seguendo l'esempio
Codice: Seleziona tutto
export LD_LIBRARY_PATH=/opt/hitachi/lib:$LD_LIBRARY_PATH
export PATH=/opt/hitachi/bin:$PATH
c'e' pero' il problema che il software e' vecchio (l'ultima release e' del 2005).
le ultime patch semi-ufficiali supportano gcc 3.3 e binutils 2.15, quindi puoi lavorarci agevolmente (ad occhio) solo su slackware 10.2 (ricompilandoti i pacchetti facendo modifiche agli slackbuild di questa versione).
vedo che ubuntu lo ha mantenuto fino a karmic, ma in lucid non c'e' piu', e' un brutto segno.
una prova che puoi fare e' usare gli slackbuilds di binutils e gcc di
slackware 11 modificandoli con le indicazioni sopra, scaricandone le versioni 2.16.1 e 3.4.6 e patchandoli con le
diff di
ubuntu, ma non e' detto che
ti funzioni.
Re: Slackware & Lego Mindstorm
Inviato: dom 2 mag 2010, 12:45
da metrofox
È vero, non ci avevo pensato

Re: Slackware & Lego Mindstorm
Inviato: dom 2 mag 2010, 19:48
da mr.simo
Ragazzi, e se io scarico i pacchetti .deb di ubuntu (binutils & gcc) visto che gia sono binari e li lascio in /opt sulla slack la cosa è fattibile vero? In teoria...
Re: Slackware & Lego Mindstorm
Inviato: dom 2 mag 2010, 20:05
da ponce
li puoi mettere anche in qualche path nella tua home, basta che tu poi modifichi di conseguenza le due variabili d'ambiente PATH e LD_LIBRARY_PATH seguendo l'esempio di cui sopra: facci sapere se vanno, che ora siamo curiosi

Re: Slackware & Lego Mindstorm
Inviato: dom 2 mag 2010, 20:32
da mr.simo
No sai cosa ho fatto?? Li ho convertiti da .deb a tgz con deb2tgz e li ho installati... ahahah.
Per compilare brickos ho applicato prima la patch e poi ho compilato, tutto con successo! manca solo dare il comando make install
Ho provato anche brickemu solo che a farlo partire mi da un errore "Error flushing sock7: broken pipe".. Puó essere che non ho ancora il lego minstorm quindi non rileva nessun dispositivo connesso...
PS: per compilare quest'ultimo nel Makefile la riga l'ho cambiata cosi:
TOOLPREFIX=/usr/bin/h8300-hms-, il path non era quello relativo a dove ho installato i pacchetti hitachi, ossia /usr/bin..
comunque ho risolto per gcc hitachi..

Grazie a tutti per i consigli!
Re: SOLVED: Slackware & Lego Mindstorm
Inviato: dom 2 mag 2010, 20:56
da metrofox
comunque ho risolto per gcc hitachi..
Hai usato una scorciatoia più che altro, vabhè divertiti

Re: SOLVED: Slackware & Lego Mindstorm
Inviato: lun 3 mag 2010, 1:42
da mr.simo
Hai usato una scorciatoia più che altro, vabhè divertiti
Si, però son 2 giorni che lo voglio compilare e gcc fà i capricci. Alla fine mi sono arreso...
