Есть ноутбук с непонятной сетевой карточкой, на который нужно накатить Арч. Дрова для карточки откопал на сайте производителя. Провел «Тест-драйв» на Ubuntu 10.04 livecd - make && make install и карточка отлично заработала. Но, когда пытаюсь собрать под арчем, дрова упорно валятся с ошибкой. Вот конец лога:
CC [M] /home/thrash/Downloads/drv/os/linux/../../os/linux/cfg80211.o
/home/thrash/Downloads/drv/os/linux/../../os/linux/cfg80211.c:679:2: предупреждение: декларация ‘enum tx_power_setting’ внутри списка параметров
/home/thrash/Downloads/drv/os/linux/../../os/linux/cfg80211.c:679:2: предупреждение: область действия типа - только данная декларация или определение, что может не соответствовать вашим намерениям
/home/thrash/Downloads/drv/os/linux/../../os/linux/cfg80211.c:678:29: ошибка: параметр 2 (‘Type’) имеет неполный тип
/home/thrash/Downloads/drv/os/linux/../../os/linux/cfg80211.c:676:12: предупреждение: декларация функции не является прототипом
/home/thrash/Downloads/drv/os/linux/../../os/linux/cfg80211.c:1355:2: предупреждение: несовместимый тип указателя в инициализации
/home/thrash/Downloads/drv/os/linux/../../os/linux/cfg80211.c:1388:2: предупреждение: несовместимый тип указателя в инициализации
/home/thrash/Downloads/drv/os/linux/../../os/linux/cfg80211.c: В функции ‘CFG80211_SupBandInit’:
/home/thrash/Downloads/drv/os/linux/../../os/linux/cfg80211.c:2594:2: предупреждение: формат ‘%d’ предполагает тип ‘int’, но аргумент 2 имеет тип ‘long unsigned int’
make[2]: *** [/home/thrash/Downloads/drv/os/linux/../../os/linux/cfg80211.o] Ошибка 1
make[1]: *** [_module_/home/thrash/Downloads/drv/os/linux] Ошибка 2
make[1]: Leaving directory `/usr/src/linux-2.6.36-ARCH'
make: *** [LINUX] Ошибка 2
(извиняюсь за русский в логе)
Ну и черт бы с ним, что в исходниках есть варнинги - под убунтой они видимо просто были проигнорированы. Подскажите куда копать. Наверное в сторону GCC? Где ему в этом арче сказать, что придираться нехорошо? :}
Чудеса такие чудеса, да...