[Ninux-Wireless] netsukuku

Gioacchino Mazzurco gmazzurco89 a gmail.com
Dom 29 Gen 2012 18:31:32 CET


Se ce la fai per il prossimo battlemesh e' una bella cosa :D

On Sunday 29 January 2012 16:13:08 Luca Dionisi wrote:
> Sono andato un po' avanti con questa cosa della cross-compilazione.
> 
> Ho scaricato la OpenWRT taggata backfire_10.03.1 dal loro repository.
> Ho seguito le istruzioni del sito per compilare la Buildroot, dapprima
> con una configurazione default (make defconfig) impostando solo le
> caratteristiche di architettura del mio router Omnima (System:
> Infineon/ADMtek ADM5120, little endian, profile: Edimax BR-6104KP).
> Poi con un make menuconfig in cui ho indicato:
>  * Build the OpenWrt SDK
>  * Build the OpenWrt based Toolchain
>  * Advanced configuration options -> Build gdb
>  * e alcuni pacchetti che mi sono essenziali
> 
> Dapprima non avevo notato che ci fosse fra i pacchetti ufficiali anche
> glib2 (forse non avevo fatto feeds update) e quindi mi sono messo a
> farne la cross-compilazione a mano e alla fine c'ero riuscito, con la
> GLib 2.30.1
> Poi ho visto che c'era la versione ufficiale; poco male, tutta
> esperienza. Inoltre guardando il Makefile di questa versione (che
> nella backfire_10.03.1 è la GLib 2.26.1) ho riconosciuto le opzioni
> per configure che avevo trovato a mano a forza di prove, quindi ho
> anche scoperto un po' (molto superficialmente) di come si articola il
> sistema di build di openwrt.
> Nel mio ambiente di sviluppo (ubuntu) io uso la GLib 2.28.6 ma credo
> che la 2.26 vada bene per i miei scopi.
> Invece va notato che la backfire_10.03 contiene il pacchetto glib2 con
> la versione GLib 2.22.2 e questa risulta troppo vecchia (causa
> problemi con la libreria libgee di cui parlo dopo)
> 
> Le prime prove di compilazione di un programma Vala le ho fatte a
> questo punto, usando il cross-compiler in staging_dir/toolchain-* e
> indicando le directory su cui cercare gli include e quelle su cui
> cercare le libs all'interno di staging_dir/target-*.
> La compilazione di un programma semplice va a buon fine.
> 
> Sul mio router Omnima avevo già installato a suo tempo una backfire_10.03.
> Le prime prove di esecuzione quindi le ho fatte con i pacchetti della
> backfire_10.03, scaricandoli con opkg install.
> L'esecuzione funzionava correttamente.
> Ma va notato (cosa che all'inizio non avevo compreso) che il programma
> era stato compilato con la glib 2.26 e ora girava con la 2.22.
> 
> Fra i pacchetti ufficiali di openwrt ci sono anche altre due delle
> dipendenze che mi sono essenziali:
>  * pthsem     (che è una versione "estesa" del libpth)
>  * libgcrypt
> Questi pacchetti ho visto che ci sono ma non li ho provati ancora...
> ma cerchiamo di essere ottimisti!
> 
> L'ultima libreria che mi serviva è la libgee (https://live.gnome.org/Libgee)
> Si tratta di un software semplice, e infatti la cross-compilazione non ha
> dato problemi.
> Ho provato allora a compilare un programma Vala che facesse uso della
> libgee. La cross-compilazione non ha dato problemi.
> Ho portato poi sia la libreria libgee, sia il programma utilizzatore,
> dentro il router.
> In esecuzione il programma richiamava correttamente la libgee, ma
> questa mi dava l'errore: undefined symbol g_malloc0_n.
> A furia di verificare ho visto che questo simbolo non si trovava nella
> GLib 2.22, mentre nelle versioni più recenti c'era.
> 
> Ho quindi deciso che il passo successivo sarebbe stato installare la
> versione 10.03.1 sul mio router. (e di questa piccola odissea trovate
> traccia nelle mie mail precedenti in lista)
> 
> Ora anche il programma in Vala che fa uso della libgee funziona
> correttamente nel router.
> Proseguirò con i test delle altre dipendenze e poi proverò a far
> girare il programma netsukuku allo stato attuale. Vi tengo informati.
> 
> --Luca
> _______________________________________________
> Wireless mailing list
> Wireless a ml.ninux.org
> http://ml.ninux.org/mailman/listinfo/wireless



Maggiori informazioni sulla lista Wireless