Pagina 1 di 1

[Kernel] compilazione make

Inviato: martedì 7 ottobre 2008, 21:29
da edel
warty@ubuntu:~/a-saodv/a-saodv_1 $ make
gcc -Wall -pthread -g -DDEBUG  -c -o main.o main.c
gcc -Wall -pthread -g -DDEBUG  -c -o list.o list.c
gcc -Wall -pthread -g -DDEBUG  -c -o debug.o debug.c
gcc -Wall -pthread -g -DDEBUG  -c -o timer_queue.o timer_queue.c
gcc -Wall -pthread -g -DDEBUG  -c -o aodv_socket.o aodv_socket.c
gcc -Wall -pthread -g -DDEBUG  -c -o aodv_hello.o aodv_hello.c
gcc -Wall -pthread -g -DDEBUG  -c -o aodv_neighbor.o aodv_neighbor.c
gcc -Wall -pthread -g -DDEBUG  -c -o aodv_timeout.o aodv_timeout.c
gcc -Wall -pthread -g -DDEBUG  -c -o routing_table.o routing_table.c
gcc -Wall -pthread -g -DDEBUG  -c -o seek_list.o seek_list.c
gcc -Wall -pthread -g -DDEBUG  -c -o k_route.o k_route.c
gcc -Wall -pthread -g -DDEBUG  -c -o aodv_rreq.o aodv_rreq.c
gcc -Wall -pthread -g -DDEBUG  -c -o aodv_rrep.o aodv_rrep.c
gcc -Wall -pthread -g -DDEBUG  -c -o aodv_rerr.o aodv_rerr.c
gcc -Wall -pthread -g -DDEBUG  -c -o packet_input.o packet_input.c
gcc -Wall -pthread -g -DDEBUG  -c -o packet_queue.o packet_queue.c
gcc -Wall -pthread -g -DDEBUG  -c -o libipq.o libipq.c
gcc -Wall -pthread -g -DDEBUG  -c -o icmp.o icmp.c
gcc -Wall -pthread -g -DDEBUG  -c -o saodv_rreq.o saodv_rreq.c
gcc -Wall -pthread -g -DDEBUG  -c -o saodv_rrep.o saodv_rrep.c
gcc -Wall -pthread -g -DDEBUG  -c -o saodv_rerr.o saodv_rerr.c
gcc -Wall -pthread -g -DDEBUG  -c -o key.o key.c
gcc -Wall -pthread -g -DDEBUG  -c -o hash.o hash.c
gcc -Wall -pthread -g -DDEBUG  -c -o crypto.o crypto.c
gcc -Wall -pthread -g -DDEBUG  -c -o saodv_adapt.o saodv_adapt.c
gcc -Wall -pthread -g -DDEBUG  -lgcrypt -lgpg-error -o saodvd main.o list.o debu g.o timer_queue.o aodv_socket.o aodv_hello.o aodv_neighbor.o aodv_timeout.o routing_table.o seek_list.o k_route.o aodv_rreq.o aodv_rrep.o aodv_rerr.o packet_input.o packet_queue.o libipq.o icmp.o saodv_rreq.o saodv_rrep.o saodv_rerr.o key.o hash.o crypto.o saodv_adapt.o
make -C /lib/modules/2.6.8.1-3-386/build SUBDIRS=/home/warty/a-saodv/a-saodv_1 modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.8.1-3-386'
  CC [M]  /home/warty/a-saodv/a-saodv_1/kaodv.o
/home/warty/a-saodv/a-saodv_1/kaodv.c:202: error: invalid lvalue in unary `&'/home/warty/a-saodv/a-saodv_1/kaodv.c:202: error: initializer element is not constant
/home/warty/a-saodv/a-saodv_1/kaodv.c:202: error: (near initialization for `__param_arr_ifname.num')
make[2]: *** [/home/warty/a-saodv/a-saodv_1/kaodv.o] Error 1
make[1]: *** [_module_/home/warty/a-saodv/a-saodv_1] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.8.1-3-386'
make: *** [kaodv.ko] Error 2

Cowarty@ubuntu:~/a-saodv/a-saodv_1 $ make
gcc -Wall -pthread -g -DDEBUG  -c -o main.o main.c
gcc -Wall -pthread -g -DDEBUG  -c -o list.o list.c
gcc -Wall -pthread -g -DDEBUG  -c -o debug.o debug.c
gcc -Wall -pthread -g -DDEBUG  -c -o timer_queue.o timer_queue.c
gcc -Wall -pthread -g -DDEBUG  -c -o aodv_socket.o aodv_socket.c
gcc -Wall -pthread -g -DDEBUG  -c -o aodv_hello.o aodv_hello.c
gcc -Wall -pthread -g -DDEBUG  -c -o aodv_neighbor.o aodv_neighbor.c
gcc -Wall -pthread -g -DDEBUG  -c -o aodv_timeout.o aodv_timeout.c
gcc -Wall -pthread -g -DDEBUG  -c -o routing_table.o routing_table.c
gcc -Wall -pthread -g -DDEBUG  -c -o seek_list.o seek_list.c
gcc -Wall -pthread -g -DDEBUG  -c -o k_route.o k_route.c
gcc -Wall -pthread -g -DDEBUG  -c -o aodv_rreq.o aodv_rreq.c
gcc -Wall -pthread -g -DDEBUG  -c -o aodv_rrep.o aodv_rrep.c
gcc -Wall -pthread -g -DDEBUG  -c -o aodv_rerr.o aodv_rerr.c
gcc -Wall -pthread -g -DDEBUG  -c -o packet_input.o packet_input.c
gcc -Wall -pthread -g -DDEBUG  -c -o packet_queue.o packet_queue.c
gcc -Wall -pthread -g -DDEBUG  -c -o libipq.o libipq.c
gcc -Wall -pthread -g -DDEBUG  -c -o icmp.o icmp.c
gcc -Wall -pthread -g -DDEBUG  -c -o saodv_rreq.o saodv_rreq.c
gcc -Wall -pthread -g -DDEBUG  -c -o saodv_rrep.o saodv_rrep.c
gcc -Wall -pthread -g -DDEBUG  -c -o saodv_rerr.o saodv_rerr.c
gcc -Wall -pthread -g -DDEBUG  -c -o key.o key.c
gcc -Wall -pthread -g -DDEBUG  -c -o hash.o hash.c
gcc -Wall -pthread -g -DDEBUG  -c -o crypto.o crypto.c
gcc -Wall -pthread -g -DDEBUG  -c -o saodv_adapt.o saodv_adapt.c
gcc -Wall -pthread -g -DDEBUG  -lgcrypt -lgpg-error -o saodvd main.o list.o debu g.o timer_queue.o aodv_socket.o aodv_hello.o aodv_neighbor.o aodv_timeout.o routing_table.o seek_list.o k_route.o aodv_rreq.o aodv_rrep.o aodv_rerr.o packet_input.o packet_queue.o libipq.o icmp.o saodv_rreq.o saodv_rrep.o saodv_rerr.o key.o hash.o crypto.o saodv_adapt.o
make -C /lib/modules/2.6.8.1-3-386/build SUBDIRS=/home/warty/a-saodv/a-saodv_1 modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.8.1-3-386'
  CC [M]  /home/warty/a-saodv/a-saodv_1/kaodv.o
/home/warty/a-saodv/a-saodv_1/kaodv.c:202: error: invalid lvalue in unary `&'/home/warty/a-saodv/a-saodv_1/kaodv.c:202: error: initializer element is not constant
/home/warty/a-saodv/a-saodv_1/kaodv.c:202: error: (near initialization for `__param_arr_ifname.num')
make[2]: *** [/home/warty/a-saodv/a-saodv_1/kaodv.o] Error 1
make[1]: *** [_module_/home/warty/a-saodv/a-saodv_1] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.8.1-3-386'
make: *** [kaodv.ko] Error 2



Come posso risolvere??? Grazieeeeeeeee :-[

Re: [Kernel] compilazione make

Inviato: martedì 7 ottobre 2008, 21:32
da edel
nella fretta ho incollato due volte il risultato della mia compilazione...la fretta!!! scusate di nuovo.  (good)

Re: [Kernel] SCHERMATA DEFINITIVA MAKE

Inviato: martedì 7 ottobre 2008, 21:44
da edel
Compilando nuovamente ora ho la seguente schermata...che è quella DEFINITIVA  e sulla quale chiedo la vostra collaborazione per capire di che si tratta. Grazie >:(


warty@ubuntu:~/a-saodv/a-saodv_1 $ make
make -C /lib/modules/2.6.8.1-3-386/build SUBDIRS=/home/warty/a-saodv/a-saodv_1 modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.8.1-3-386'
  CC [M]  /home/warty/a-saodv/a-saodv_1/kaodv.o
/home/warty/a-saodv/a-saodv_1/kaodv.c:202: error: invalid lvalue in unary `&'
/home/warty/a-saodv/a-saodv_1/kaodv.c:202: error: initializer element is not constant
/home/warty/a-saodv/a-saodv_1/kaodv.c:202: error: (near initialization for `__param_arr_ifname.num')
make[2]: *** [/home/warty/a-saodv/a-saodv_1/kaodv.o] Error 1
make[1]: *** [_module_/home/warty/a-saodv/a-saodv_1] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.8.1-3-386'
make: *** [kaodv.ko] Error 2

Re: [Kernel] compilazione make

Inviato: martedì 7 ottobre 2008, 21:47
da bite
Che stai facendo, stai compilando un kernel vecchiotto? Che versione di gcc stai usando? Puoi allegare il file kaodv.c che ci diamo un'occhiata?

Mi raccomando, usa l'opzione per gli allegati o il tag code (meglio l'opzione per gli allegati)

Re: [Kernel] compilazione make

Inviato: mercoledì 8 ottobre 2008, 0:17
da edel
Ecco...sto usando gcc 3.3.4.
kernel 2.6.8.1-3-386
ubuntu 4.10
libgpg-error 1.0
Libgcrypt 1.2

Sono richiesti per far girare il programma:
Requirements:
* Linux OS (2.6.x) (2.4.x should be ok, but untested)
* Libgcrypt 1.2 and Libgpg-error 1.0
* Kernel with Netfilter support.
* Wireless LAN cards in ad-hoc mode (alternatively a wired setup can be used).
* gcc-3.3  :-[

Re: [Kernel] compilazione make

Inviato: mercoledì 8 ottobre 2008, 0:44
da Guiodic
ti vedo al passo con i tempi (rotfl)

Ma perché?

Re: [Kernel] compilazione make

Inviato: mercoledì 8 ottobre 2008, 0:54
da bite
Sei capitato in un "buco storico" del kernel a quanto pare.

Dopo una ricerchina pallosissima  (rotfl) rilevo che c'è stata una variazione nella macro module_param_array in un momento imprecisato tra il kernel 2.6.0 e il 2.6.17

Nel 2.6.0 sicuramente il terzo argomento non doveva essere un puntatore, come si desume da questa mail.

Nel 2.6.17 sicuramente il terzo argomento doveva essere un puntatore, come si desume da questa guida.

Tu stai usando un 2.6.8 e passi un puntatore. Fossi in te proverei a modificare così la riga 202:

da

Codice: Seleziona tutto

module_param_array(ifname, charp, &num_parms, 0);
a

Codice: Seleziona tutto

module_param_array(ifname, charp, num_parms, 0);
Per ulteriori informazioni ti consiglio di rivolgerti al dipartimento di archeologia  (rotfl)

HTH

Re: [Kernel] compilazione make

Inviato: mercoledì 8 ottobre 2008, 16:37
da edel
Grazie inserendo questa modifica...ho questo risultato a fine compilazione:

warty@ubuntu:~/a-saodv/a-saodv_1 $ make
make: Nothing to be done for `default'.


DIMMI CHE E' TUTTO OK????

Re: [Kernel] compilazione make

Inviato: mercoledì 8 ottobre 2008, 21:37
da bite
"nothing to be done" significa solo che non ha trovato nulla da ricompilare.

Potrebbe essere una buona notizia se hai dato make più di una volta. La prima volta non ha stampato messaggi di errore; tu, abituato a vederli, ti sei stupito e hai ridato make  (rotfl)

Se è così, sei quasi a cavallo: ha compilato.

Adesso resta da vedere se funziona.  (rotfl)

Re: [Kernel] compilazione make

Inviato: giovedì 9 ottobre 2008, 10:32
da edel
hey, compila..sono passata allo step successivo.
Grazieeeeeee (b2b)

Possiamo ritenere chiuso e risolto questa discussione. Ciaooooooooo.