Witam,
Mam świeżo zainstalowanego debiana etch z jądrem 2.6.18-4-amd64. Co mam zrobić aby skompilowało się ipp2p?
to co już robiłem:
ściągnąłem nowsze jądro, rozpakowałem następnie:
debian:/home/ipp2p-0.8.2# make KERNEL_SRC=/usr/src/linux-2.6.18.5 IPTABLES_SRC=/lib/iptablesdebian:/home/ipp2p-0.8.2# make KERNEL_SRC=/usr/src/linux-2.6.18.5 IPTABLES_SRC=/lib/iptables
make: *** Brak reguł do wykonania obiektu `make'. Stop.
debian:/home/ipp2p-0.8.2# make KERNEL_SRC=/usr/src/linux-2.6.18.5 IPTABLES_SRC=/lib/iptables
make -C /usr/src/linux-2.6.18.5 SUBDIRS=/home/ipp2p-0.8.2 modules
make[1]: Wejście do katalogu `/usr/src/linux-2.6.18.5'
WARNING: Symbol version dump /usr/src/linux-2.6.18.5/Module.symvers
is missing; modules will have no dependencies and modversions.
Building modules, stage 2.
MODPOST
/bin/sh: scripts/mod/modpost: Nie ma takiego pliku ani katalogu
make[2]: *** [__modpost] Błąd 127
make[1]: *** [modules] Błąd 2
make[1]: Opuszczenie katalogu `/usr/src/linux-2.6.18.5'
make: *** [ipt_ipp2p.ko] Błąd 2
debian:/home/ipp2p-0.8.2#
Czy ja muszę najpierw skompilować nowe jajo i je wystartować? Czy da się to zrobić bez kompilacji? Co robie nie tak?
Ten pakiet faktycznie ugrzązł w otchłaniach Debiana (błąd #408258). Chyba musisz jednak kompilować jądro... A w ogóle to jakoś dziwnie używasz tego make'a ;-)
dzięki za odpowiedź. Zrobiłem kompilacje do jądra 2.6.23-1 (wszystko z Qos zaznaczone) Jajo ruszyło bez problemu. Podczas kompilacji ipp2p dostaje komunikat:
make -C /lib/modules/2.6.23.1/build SUBDIRS=/usr/src/ipp2p-0.8.2 modules
make[1]: Wejście do katalogu `/usr/src/linux-2.6.23.1'
CC [M] /usr/src/ipp2p-0.8.2/ipt_ipp2p.o
/usr/src/ipp2p-0.8.2/ipt_ipp2p.c: In function ‘match’:
/usr/src/ipp2p-0.8.2/ipt_ipp2p.c:751: error: ‘const struct sk_buff’ has no member named ‘nh’
/usr/src/ipp2p-0.8.2/ipt_ipp2p.c: At top level:
/usr/src/ipp2p-0.8.2/ipt_ipp2p.c:871: warning: initialization from incompatible pointer type
/usr/src/ipp2p-0.8.2/ipt_ipp2p.c:874: warning: initialization from incompatible pointer type
/usr/src/ipp2p-0.8.2/ipt_ipp2p.c: In function ‘init’:
/usr/src/ipp2p-0.8.2/ipt_ipp2p.c:883: error: implicit declaration of function ‘ipt_register_match’
/usr/src/ipp2p-0.8.2/ipt_ipp2p.c: In function ‘fini’:
/usr/src/ipp2p-0.8.2/ipt_ipp2p.c:888: error: implicit declaration of function ‘ipt_unregister_match’
make[2]: *** [/usr/src/ipp2p-0.8.2/ipt_ipp2p.o] Błąd 1
make[1]: *** [_module_/usr/src/ipp2p-0.8.2] Błąd 2
make[1]: Opuszczenie katalogu `/usr/src/linux-2.6.23.1'
make: *** [ipt_ipp2p.ko] Błąd 2
/home/wojtekz/downl/ipp2p-0.8.2/ipt_ipp2p.c: In function 'match':
/home/wojtekz/downl/ipp2p-0.8.2/ipt_ipp2p.c:752: error: 'const struct sk_buff' has no member named 'nh'
Tu jest błąd polegający na tym, że ten program odwołuje się do jakiego starego headera w <linux/skbuff.h>. W obecnych jądrach to wygląda inaczej - w strukturze sk_buff nie ma pola 'nh'. Być może chodzi o