Istruzioni preliminari, proverò poi a tradurle in inglese quando tutto funziona bene.
Tragicamente, un opkg install gpsd tenterebbe di installare un sacco di paccottiglia di freesmartphone.org che sulla Beagleboard non serve a un tubo. Per cui è meglio compilare gpsd dai sorgenti originali.
Dunque:
* parto da un'installazione Angstrom con la Narcissus
* avendo ovviamente cura di selezionare "machine=Beagleboard"
* non dimenticando di installare "development: Toolchain"
Ho già sulla memory card della Beagleboard i sorgenti di gpsd:
* prelevati i sorgenti (stable release 2.39) dal sito ufficiale
Importante: occorre connettersi a internet dalla Beagleboard ed installare un po' di pacchetti "development". Per connettermi alla macchina Linux (che è già su internet e fa già masquerading) mi è bastato dare sulla Beagleboard (agganciata alla USB della macchina Linux):
ifconfig usb0 192.168.0.22
route add default gw 192.168.0.1
e dare ovviamente l'ifconfig per 192.168.0.1 sulla macchina Linux.
Per installare i pacchetti mancanti è bastato eseguire sulla Beagleboard:
opkg install libxext-dev libxpm-dev
opkg install dbus-dev ncurses-dev
opkg install libdbus-glib-1-dev
Nota: l'installazione di alcuni di questi produce una carretta di "unsatisfied recommendation", ma sembra che non creino problemi.
Purtroppo, per qualche strano motivo, è indispensabile anche eseguire questi due comandi e allargare a dismisura CFLAGS e LDFLAGS, altrimenti la compilazione si blocca:
cd /lib
ln -s /usr/lib/libstdc\+\+.la .
Avviato quindi Linux Angstrom sulla Beagleboard, entro in login e compilo:
Nota: se durante il "configure" esce un messaggio di errore "libtool: link: cannot find the library `/lib/libstdc++.la'" oppure un messaggio di warning "xgps won't be built" vuol dire che avete dimenticato di eseguire gli opkg di cui sopra.
cd /tmp
tar xpjf gpsd-2.39.tar.gz
cd gpsd-2.39
export CFLAGS="-mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -march=armv7-a -I/usr/include/X11 -I/usr/include/glib-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/glib-2.0/include -I/usr/lib/dbus-1.0/include"
export LDFLAGS="-L/usr/lib -L/lib -ldbus-1 -ldbus-glib-1"
./configure --prefix=/usr --enable-dbus
make
make install
Nota bene:
1) il "make install" ha bisogno di privilegi root;
2) la compilazione dura pochi minuti; purtroppo xgpsspeed, xgps, etc non vengono compilati perché nella Angstrom Narcissus mancano le librerie Lesstiflibxaw e affini.
Dunque gli eseguibili utili, alla fine, sono:
- sotto sbin: gpsd
- sotto bin: cgps gpsctl gpsdecode gpsflash gpsmon gpspipe gpxlogger lcdgps
***
Correzione: la libXaw pare esserci, ma le librerie compatibili Motif (cioè la Lesstif, cioè Xm/Xm.h etc) non le trovo in nessun "opkg".
RispondiElimina