Автор Тема: Грешка при компилиране на модул (rt2400)  (Прочетена 883 пъти)

rip_darkman

  • Напреднали
  • *****
  • Публикации: 65
    • Профил
След като инсталирах дистрибуцията (ядро 2.4.31) нямах проблем при компилирането на модула.Но след инсталация на ядро 2.6.14.5 получавам следната грешка при опит за инсталиране :
Примерен код
root@linux:/usr/local/share/rt2400-1.2.1/Module# make
make[1]: Entering directory `/usr/src/linux-2.6.14.5'
  CC [M]  /usr/local/share/rt2400-1.2.1/Module/rtmp_main.o
/usr/local/share/rt2400-1.2.1/Module/rtmp_main.c: In function `RT2400_probe':
/usr/local/share/rt2400-1.2.1/Module/rtmp_main.c:96: error: structure has no member named `slot_name'
/usr/local/share/rt2400-1.2.1/Module/rtmp_main.c:134: warning: passing arg 1 of `readl' makes pointerfrom integer without a cast
/usr/local/share/rt2400-1.2.1/Module/rtmp_main.c:135: warning: passing arg 1 of `readl' makes pointerfrom integer without a cast
/usr/local/share/rt2400-1.2.1/Module/rtmp_main.c: In function `RT2400_open':
/usr/local/share/rt2400-1.2.1/Module/rtmp_main.c:258: warning: passing arg 2 of `writel' makes pointer from integer without a cast
/usr/local/share/rt2400-1.2.1/Module/rtmp_main.c: In function `RTMPIsr':
/usr/local/share/rt2400-1.2.1/Module/rtmp_main.c:378: warning: passing arg 1 of `readl' makes pointerfrom integer without a cast
/usr/local/share/rt2400-1.2.1/Module/rtmp_main.c:379: warning: passing arg 2 of `writel' makes pointer from integer without a cast
/usr/local/share/rt2400-1.2.1/Module/rtmp_main.c: In function `RT2400_set_rx_mode':
/usr/local/share/rt2400-1.2.1/Module/rtmp_main.c:580: warning: passing arg 2 of `writel' makes pointer from integer without a cast
/usr/local/share/rt2400-1.2.1/Module/rtmp_main.c:586: warning: passing arg 2 of `writel' makes pointer from integer without a cast
make[2]: *** [/usr/local/share/rt2400-1.2.1/Module/rtmp_main.o] Error 1
make[1]: *** [_module_/usr/local/share/rt2400-1.2.1/Module] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.14.5'
rt2400.ko failed to build!
make: *** [module] Error 1

Странното е,че преди получавах същите грешки като се опитвах да го компилирам на ядро 2.6.12 (Gentoo Linux),но тогава реших,че проблемът е в оптимизациите на компилатора на дистрибуцията.
Благодаря предварително.
Активен

Andrew

  • Напреднали
  • *****
  • Публикации: 93
    • Профил
Грешка при компилиране на модул (rt2400)
« Отговор #1 -: Jan 02, 2006, 16:38 »
Прилича ми на опит модула ти да използва deprected функции, махнати от новото ядро. Трябва да отбележа, че има съществени разлики в api-тата на 2.4 и 2.6 ядрата, така че е напълно възможно някои драйвери (особено комерсиални), които работят на 2.4 да не тръгнат на 2.6

Консултирай се с документацията на модула и виж дали поддържа ядра от 2.6 серията
Активен

ray

  • Напреднали
  • *****
  • Публикации: 1456
    • Профил
Грешка при компилиране на модул (rt2400)
« Отговор #2 -: Jan 02, 2006, 17:04 »
Здравей,
Един съвет от мен (може да го игнорираш).
Никога не ползвай директно конфигурация от ядро-2.4 за ядро-2.6.
Конфигурирай отново с подобни/същите опции.
Успех.Румен
Активен

growchie

  • Напреднали
  • *****
  • Публикации: 623
    • Профил
Грешка при компилиране на модул (rt2400)
« Отговор #3 -: Jan 02, 2006, 17:55 »
Ползвай новата версия (1.2.2 Бета3) не си единствения с този проблем.
http://rt2x00.serialmonkey.com/phpBB2/viewtopic.php?t=353

That means you have compiled your kernel with gcc3.3 an this module with gcc4.0. They have to match up.
 
 Either switch back to gcc3.3 and recompile the module, or recompile your kernel under gcc4.0 (if you take this track make sure you get a fairly new kernel)
Активен