[sisyphus] Old nvidia drivers for latest kernel

Sviatoslav Sviridov =?iso-8859-1?q?svd_=CE=C1_altlinux=2Eru?=
Чт Май 4 13:07:53 MSD 2006


Приветствую,

Собирал ли кто-нить старые нвидиевские драйвера (<=7174) для последних
ядер, имеющихся в сизифе? Может поделитесь рецептом или готовой выпечкой
(если они работают)?

Я попробовал собрать, но с лету не получилось... Выяснилось, что
используемый там conftest.sh нагло врет ввиду того, что не может
скомпилировать тесты... Вот пример:

$ sh -x ./conftest1.sh gcc /usr/src/linux-2.6.16-wks26-up `pwd` signal_struct_rlim
...
+ CC=gcc
++ gcc -print-file-name=include
+ ISYSTEM=/usr/lib/gcc/i586-alt-linux/3.4.5/include
+ SOURCES=/usr/src/linux-2.6.16-wks26-up
+ HEADERS=/usr/src/linux-2.6.16-wks26-up/include
+ OUTPUT=/home/svd/RPM/BUILD/kernel-source-nvidia-7174
+ CFLAGS=-D__KERNEL__ -nostdinc -isystem
/usr/lib/gcc/i586-alt-linux/3.4.5/include -Werror
-Wimplicit-function-declaration
+ '[' /home/svd/RPM/BUILD/kernel-source-nvidia-7174 '!='
/usr/src/linux-2.6.16-wks26-up ']'
+ CFLAGS=-D__KERNEL__ -nostdinc -isystem
/usr/lib/gcc/i586-alt-linux/3.4.5/include -Werror
-Wimplicit-function-declaration
-I/home/svd/RPM/BUILD/kernel-source-nvidia-7174/include2
-I/home/svd/RPM/BUILD/kernel-source-nvidia-7174/include
-I/usr/src/linux-2.6.16-wks26-up/include
-I/usr/src/linux-2.6.16-wks26-up/include/asm/mach-default
+ echo '#include <linux/sched.h>
        struct rlimit *nv_signal_struct_rlim(void) {
            return current->signal->rlim;
        }'
+ gcc -D__KERNEL__ -nostdinc -isystem
/usr/lib/gcc/i586-alt-linux/3.4.5/include -Werror
-Wimplicit-function-declaration
-I/home/svd/RPM/BUILD/kernel-source-nvidia-7174/include2
-I/home/svd/RPM/BUILD/kernel-source-nvidia-7174/include
-I/usr/src/linux-2.6.16-wks26-up/include
-I/usr/src/linux-2.6.16-wks26-up/include/asm/mach-default -Wno-error -c
conftest11537.c
In file included from
/usr/src/linux-2.6.16-wks26-up/include/linux/rwsem.h:27,
                 from
/usr/src/linux-2.6.16-wks26-up/include/asm/semaphore.h:42,
                 from
/usr/src/linux-2.6.16-wks26-up/include/linux/sched.h:20,
                 from conftest11537.c:1:
/usr/src/linux-2.6.16-wks26-up/include/asm/rwsem.h: In function
`__down_read':
/usr/src/linux-2.6.16-wks26-up/include/asm/rwsem.h:105: error: syntax
error before "KBUILD_BASENAME"
/usr/src/linux-2.6.16-wks26-up/include/asm/rwsem.h: In function
`__down_write':
/usr/src/linux-2.6.16-wks26-up/include/asm/rwsem.h:157: error: syntax
error before "KBUILD_BASENAME"
/usr/src/linux-2.6.16-wks26-up/include/asm/rwsem.h: In function `__up_read':
/usr/src/linux-2.6.16-wks26-up/include/asm/rwsem.h:194: error: syntax
error before "KBUILD_BASENAME"
/usr/src/linux-2.6.16-wks26-up/include/asm/rwsem.h: In function
`__up_write':
/usr/src/linux-2.6.16-wks26-up/include/asm/rwsem.h:220: error: syntax
error before "KBUILD_BASENAME"
/usr/src/linux-2.6.16-wks26-up/include/asm/rwsem.h: In function
`__downgrade_write':
/usr/src/linux-2.6.16-wks26-up/include/asm/rwsem.h:245: error: syntax
error before "KBUILD_BASENAME"
In file included from
/usr/src/linux-2.6.16-wks26-up/include/linux/sched.h:20,
                 from conftest11537.c:1:
/usr/src/linux-2.6.16-wks26-up/include/asm/semaphore.h: In function `down':
/usr/src/linux-2.6.16-wks26-up/include/asm/semaphore.h:105: error:
syntax error before "KBUILD_BASENAME"
/usr/src/linux-2.6.16-wks26-up/include/asm/semaphore.h: In function
`down_interruptible':
/usr/src/linux-2.6.16-wks26-up/include/asm/semaphore.h:130: error:
syntax error before "KBUILD_BASENAME"
/usr/src/linux-2.6.16-wks26-up/include/asm/semaphore.h: In function
`down_trylock':
/usr/src/linux-2.6.16-wks26-up/include/asm/semaphore.h:155: error:
syntax error before "KBUILD_BASENAME"
/usr/src/linux-2.6.16-wks26-up/include/asm/semaphore.h: In function `up':
/usr/src/linux-2.6.16-wks26-up/include/asm/semaphore.h:179: error:
syntax error before "KBUILD_BASENAME"
+ rm -f conftest11537.c
+ '[' -f conftest11537.o ']'
+ echo 0
0


а должен был сказать на выходе "1"... Из-за этого неверно определяется
макрос NV_TASK_STRUCT_RLIM:

#ifdef NV_SIGNAL_STRUCT_RLIM
/* per-process rlimit settings */
#define NV_TASK_STRUCT_RLIM(current)  ((current)->signal->rlim)
#else
/* per-thread rlimit settings */
#define NV_TASK_STRUCT_RLIM(current)  ((current)->rlim)
#endif

и соответственно получаем ошибку во время компиляции драйвера... Можно,
конечно, в месте ошибки ручками правильно раскрыть макрос, но это же не
наш метод :) И может подобные ошибки и на других тестах есть, не проверял...

Итак, что же должно быть в KBUILD_BASENAME и откуда оно должно взяться?


-- 
Best regards,
Sviatoslav Sviridov
--
"May the forces of evil become confused on the way to your house."
-- George Carlin

----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 254 байтов
Описание: OpenPGP digital signature
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20060504/111b5160/attachment-0003.bin>


Подробная информация о списке рассылки Sisyphus