Приветствую, Собирал ли кто-нить старые нвидиевские драйвера (<=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 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