Nie będę tworzył nowego tematu, bo problem w zasadzie podobny.
Otóż, zaktualizowałem jądro w Squeeze z 2.6.26 do 2.6.30 parę dni temu. Po wybraniu w GRUB-ie odpowiedniej pozycji z nowym jądrem, oczywiście X-y nie wstały bo trzeba zbudować moduł nvidii. Wklepuję elegancko w konsolę:
Kod: Zaznacz cały
# m-a clean,a-i -i -t -f nvidia-kernel-source
Po czym, ku mojemu zaskoczeniu, otrzymuję błąd kompilacji. Log:
Kod: Zaznacz cały
/usr/bin/make -f debian/rules clean
make[1]: Wejście do katalogu `/usr/src/modules/nvidia-kernel'
# select which makefile to use.
rm -f /usr/src/modules/nvidia-kernel/Makefile || true
if [ 6 = 6 ]; then \
ln -s Makefile.kbuild Makefile ; \
fi
if [ 6 = 4 ]; then \
ln -s Makefile.nvidia Makefile ; \
fi
if [ -e patch-stamp ]; then \
dpatch deapply-all ; \
rm -rf patch-stamp debian/patched ; \
fi
if [ -f /usr/src/modules/nvidia-kernel/debian/control.template ]; then \
cp /usr/src/modules/nvidia-kernel/debian/control.template /usr/src/modules/nvidia-kernel/debian/control; \
fi
dh_testroot
rm -f build-stamp configure-stamp
/usr/bin/make clean SYSSRC=/lib/modules/2.6.30-1-686/build -C /usr/src/modules/nvidia-kernel/ -f Makefile
make[2]: Wejście do katalogu `/usr/src/modules/nvidia-kernel'
make[2]: Opuszczenie katalogu `/usr/src/modules/nvidia-kernel'
rm -f /usr/src/modules/nvidia-kernel//Makefile || true;
rm /usr/src/modules/nvidia-kernel//gcc-check
rm /usr/src/modules/nvidia-kernel//cc-sanity-check
dh_clean
rm /usr/src/modules/nvidia-kernel/debian/control
rm /usr/src/modules/nvidia-kernel/debian/dirs
rm /usr/src/modules/nvidia-kernel/debian/override
make[1]: Opuszczenie katalogu `/usr/src/modules/nvidia-kernel'
echo "ROOT_CMD = "
ROOT_CMD =
/usr/bin/make -f debian/rules binary_modules
make[1]: Wejście do katalogu `/usr/src/modules/nvidia-kernel'
# select which makefile to use.
rm -f /usr/src/modules/nvidia-kernel/Makefile || true
if [ 6 = 6 ]; then \
ln -s Makefile.kbuild Makefile ; \
fi
if [ 6 = 4 ]; then \
ln -s Makefile.nvidia Makefile ; \
fi
if ! gcc-4.3 -v 2> /dev/null ; then \
echo "Compiler gcc-4.3 does not exist on the system" ; \
exit 1; \
fi
if [ -f /usr/src/modules/nvidia-kernel/debian/control.template ]; then \
cp /usr/src/modules/nvidia-kernel/debian/control.template /usr/src/modules/nvidia-kernel/debian/control; \
fi
if [ "i686" = "x86_64" ]; then \
cp /usr/src/modules/nvidia-kernel/nv-kernel.o.x86_64 /usr/src/modules/nvidia-kernel/nv-kernel.o ; \
fi
touch configure-stamp
dh_testdir
dh_testroot
PATCHLEVEL = 6
Kernel compiler version : 4.3.3
Detected compiler version : 4.3.3
Using compiler gcc-4.3 version 4.3.3
touch /usr/src/modules/nvidia-kernel//gcc-check
touch /usr/src/modules/nvidia-kernel//cc-sanity-check
## Main Make ##
IGNORE_CC_MISMATCH=1 CC="gcc-4.3" /usr/bin/make -C /usr/src/modules/nvidia-kernel/ -f Makefile SYSSRC=/lib/modules/2.6.30-1-686/build KBUILD_PARAMS="-C /lib/modules/2.6.30-1-686/build SUBDIRS=/usr/src/modules/nvidia-kernel" module;
make[2]: Wejście do katalogu `/usr/src/modules/nvidia-kernel'
NVIDIA: calling KBUILD...
make CC=gcc-4.3 -C /lib/modules/2.6.30-1-686/build SUBDIRS=/usr/src/modules/nvidia-kernel modules
make[3]: Wejście do katalogu `/usr/src/linux-headers-2.6.30-1-686'
CC [M] /usr/src/modules/nvidia-kernel/nv.o
In file included from /usr/src/linux-headers-2.6.30-1-common/include/linux/bitops.h:17,
from /usr/src/linux-headers-2.6.30-1-common/include/linux/kernel.h:15,
from /usr/src/linux-headers-2.6.30-1-common/include/linux/sched.h:52,
from /usr/src/linux-headers-2.6.30-1-common/include/linux/utsname.h:35,
from /usr/src/modules/nvidia-kernel/nv-linux.h:19,
from /usr/src/modules/nvidia-kernel/nv.c:14:
/usr/src/linux-headers-2.6.30-1-common/arch/x86/include/asm/bitops.h: In function ‘set_bit’:
/usr/src/linux-headers-2.6.30-1-common/arch/x86/include/asm/bitops.h:64: warning: pointer of type ‘void *’ used in arithmetic
/usr/src/linux-headers-2.6.30-1-common/arch/x86/include/asm/bitops.h: In function ‘clear_bit’:
/usr/src/linux-headers-2.6.30-1-common/arch/x86/include/asm/bitops.h:102: warning: pointer of type ‘void *’ used in arithmetic
/usr/src/linux-headers-2.6.30-1-common/arch/x86/include/asm/bitops.h: In function ‘change_bit’:
/usr/src/linux-headers-2.6.30-1-common/arch/x86/include/asm/bitops.h:178: warning: pointer of type ‘void *’ used in arithmetic
In file included from /usr/src/linux-headers-2.6.30-1-common/include/linux/list.h:6,
from /usr/src/linux-headers-2.6.30-1-common/include/linux/preempt.h:11,
from /usr/src/linux-headers-2.6.30-1-common/include/linux/spinlock.h:50,
from /usr/src/linux-headers-2.6.30-1-common/include/linux/seqlock.h:29,
from /usr/src/linux-headers-2.6.30-1-common/include/linux/time.h:8,
from /usr/src/linux-headers-2.6.30-1-common/include/linux/timex.h:56,
from /usr/src/linux-headers-2.6.30-1-common/include/linux/sched.h:54,
from /usr/src/linux-headers-2.6.30-1-common/include/linux/utsname.h:35,
from /usr/src/modules/nvidia-kernel/nv-linux.h:19,
from /usr/src/modules/nvidia-kernel/nv.c:14:
/usr/src/linux-headers-2.6.30-1-common/include/linux/prefetch.h: In function ‘prefetch_range’:
/usr/src/linux-headers-2.6.30-1-common/include/linux/prefetch.h:57: warning: pointer of type ‘void *’ used in arithmetic
In file included from /usr/src/linux-headers-2.6.30-1-common/include/linux/utsname.h:35,
from /usr/src/modules/nvidia-kernel/nv-linux.h:19,
from /usr/src/modules/nvidia-kernel/nv.c:14:
/usr/src/linux-headers-2.6.30-1-common/include/linux/sched.h: In function ‘object_is_on_stack’:
/usr/src/linux-headers-2.6.30-1-common/include/linux/sched.h:2121: warning: pointer of type ‘void *’ used in arithmetic
In file included from /usr/src/modules/nvidia-kernel/nv-linux.h:34,
from /usr/src/modules/nvidia-kernel/nv.c:14:
/usr/src/modules/nvidia-kernel/conftest.h:1:2: error: #error remap_page_range() conftest failed!
/usr/src/modules/nvidia-kernel/conftest.h:3:2: error: #error vmap() conftest failed!
/usr/src/modules/nvidia-kernel/conftest.h:5:2: error: #error agp_backend_acquire() conftest failed!
/usr/src/modules/nvidia-kernel/conftest.h:24:2: error: #error kmem_cache_create() conftest failed!
In file included from /usr/src/linux-headers-2.6.30-1-common/include/linux/io.h:22,
from /usr/src/linux-headers-2.6.30-1-common/include/linux/pci.h:54,
from /usr/src/modules/nvidia-kernel/nv-linux.h:86,
from /usr/src/modules/nvidia-kernel/nv.c:14:
/usr/src/linux-headers-2.6.30-1-common/arch/x86/include/asm/io.h: In function ‘writeq’:
/usr/src/linux-headers-2.6.30-1-common/arch/x86/include/asm/io.h:70: warning: pointer of type ‘void *’ used in arithmetic
In file included from /usr/src/linux-headers-2.6.30-1-common/include/linux/dma-mapping.h:7,
from /usr/src/linux-headers-2.6.30-1-common/include/asm-generic/pci-dma-compat.h:7,
from /usr/src/linux-headers-2.6.30-1-common/arch/x86/include/asm/pci.h:129,
from /usr/src/linux-headers-2.6.30-1-common/include/linux/pci.h:1098,
from /usr/src/modules/nvidia-kernel/nv-linux.h:86,
from /usr/src/modules/nvidia-kernel/nv.c:14:
/usr/src/linux-headers-2.6.30-1-common/include/linux/scatterlist.h: In function ‘sg_virt’:
/usr/src/linux-headers-2.6.30-1-common/include/linux/scatterlist.h:199: warning: pointer of type ‘void *’ used in arithmetic
In file included from /usr/src/modules/nvidia-kernel/nv.c:14:
/usr/src/modules/nvidia-kernel/nv-linux.h:107:27: error: asm/semaphore.h: Nie ma takiego pliku ani katalogu
In file included from /usr/src/modules/nvidia-kernel/nv-linux.h:109,
from /usr/src/modules/nvidia-kernel/nv.c:14:
/usr/src/linux-headers-2.6.30-1-common/include/linux/highmem.h: In function ‘zero_user_segments’:
/usr/src/linux-headers-2.6.30-1-common/include/linux/highmem.h:147: warning: pointer of type ‘void *’ used in arithmetic
/usr/src/linux-headers-2.6.30-1-common/include/linux/highmem.h:147: warning: pointer of type ‘void *’ used in arithmetic
/usr/src/linux-headers-2.6.30-1-common/include/linux/highmem.h:147: warning: pointer of type ‘void *’ used in arithmetic
/usr/src/linux-headers-2.6.30-1-common/include/linux/highmem.h:147: warning: pointer of type ‘void *’ used in arithmetic
/usr/src/linux-headers-2.6.30-1-common/include/linux/highmem.h:150: warning: pointer of type ‘void *’ used in arithmetic
/usr/src/linux-headers-2.6.30-1-common/include/linux/highmem.h:150: warning: pointer of type ‘void *’ used in arithmetic
/usr/src/linux-headers-2.6.30-1-common/include/linux/highmem.h:150: warning: pointer of type ‘void *’ used in arithmetic
/usr/src/linux-headers-2.6.30-1-common/include/linux/highmem.h:150: warning: pointer of type ‘void *’ used in arithmetic
/usr/src/modules/nvidia-kernel/nv-linux.h:574:2: error: #error "NV_KMEM_CACHE_CREATE() undefined (kmem_cache_create() unavailable)!"
In file included from /usr/src/modules/nvidia-kernel/nv.c:14:
/usr/src/modules/nvidia-kernel/nv-linux.h: In function ‘nv_execute_on_all_cpus’:
/usr/src/modules/nvidia-kernel/nv-linux.h:669: error: too many arguments to function ‘on_each_cpu’
/usr/src/modules/nvidia-kernel/nv-linux.h: At top level:
/usr/src/modules/nvidia-kernel/nv-linux.h:825: error: conflicting types for ‘pm_message_t’
/usr/src/linux-headers-2.6.30-1-common/include/linux/pm.h:41: error: previous declaration of ‘pm_message_t’ was here
/usr/src/modules/nvidia-kernel/nv.c:360: warning: initialization from incompatible pointer type
/usr/src/modules/nvidia-kernel/nv.c: In function ‘nvos_proc_create’:
/usr/src/modules/nvidia-kernel/nv.c:622: error: ‘struct proc_dir_entry’ has no member named ‘owner’
/usr/src/modules/nvidia-kernel/nv.c:623: error: ‘struct proc_dir_entry’ has no member named ‘owner’
/usr/src/modules/nvidia-kernel/nv.c:624: error: ‘struct proc_dir_entry’ has no member named ‘owner’
/usr/src/modules/nvidia-kernel/nv.c:644: error: ‘struct proc_dir_entry’ has no member named ‘owner’
/usr/src/modules/nvidia-kernel/nv.c:657: error: ‘struct proc_dir_entry’ has no member named ‘owner’
/usr/src/modules/nvidia-kernel/nv.c:668: error: ‘struct proc_dir_entry’ has no member named ‘owner’
/usr/src/modules/nvidia-kernel/nv.c:678: error: ‘struct proc_dir_entry’ has no member named ‘owner’
/usr/src/modules/nvidia-kernel/nv.c:688: error: ‘struct proc_dir_entry’ has no member named ‘owner’
/usr/src/modules/nvidia-kernel/nv.c:699: error: ‘struct proc_dir_entry’ has no member named ‘owner’
/usr/src/modules/nvidia-kernel/nv.c:706: error: ‘struct proc_dir_entry’ has no member named ‘owner’
/usr/src/modules/nvidia-kernel/nv.c: In function ‘nvos_proc_add_warning_file’:
/usr/src/modules/nvidia-kernel/nv.c:741: error: ‘struct proc_dir_entry’ has no member named ‘owner’
/usr/src/modules/nvidia-kernel/nv.c: In function ‘nv_kern_cpu_callback’:
/usr/src/modules/nvidia-kernel/nv.c:1299: error: too many arguments to function ‘smp_call_function’
/usr/src/modules/nvidia-kernel/nv.c:1306: error: too many arguments to function ‘smp_call_function’
/usr/src/modules/nvidia-kernel/nv.c: In function ‘nvidia_init_module’:
/usr/src/modules/nvidia-kernel/nv.c:1339: error: implicit declaration of function ‘NV_KMEM_CACHE_CREATE’
/usr/src/modules/nvidia-kernel/nv.c:1339: error: expected expression before ‘nv_stack_t’
/usr/src/modules/nvidia-kernel/nv.c:1349: error: implicit declaration of function ‘NV_KMEM_CACHE_DESTROY’
/usr/src/modules/nvidia-kernel/nv.c:1448: error: expected expression before ‘nv_pte_t’
/usr/src/modules/nvidia-kernel/nv.c: In function ‘nv_kern_open’:
/usr/src/modules/nvidia-kernel/nv.c:2027: warning: passing argument 2 of ‘request_irq’ from incompatible pointer type
/usr/src/modules/nvidia-kernel/nv.c:4007:6: warning: "NV_AGP_BACKEND_ACQUIRE_ARGUMENT_COUNT" is not defined
/usr/src/modules/nvidia-kernel/nv.c: In function ‘nv_agp_init’:
/usr/src/modules/nvidia-kernel/nv.c:4024: error: too few arguments to function ‘agp_backend_acquire’
/usr/src/modules/nvidia-kernel/nv.c:4026: error: too few arguments to function ‘agp_backend_release’
make[6]: *** [/usr/src/modules/nvidia-kernel/nv.o] Błąd 1
make[5]: *** [_module_/usr/src/modules/nvidia-kernel] Błąd 2
make[4]: *** [sub-make] Błąd 2
make[3]: *** [all] Błąd 2
make[3]: Opuszczenie katalogu `/usr/src/linux-headers-2.6.30-1-686'
NVIDIA: left KBUILD.
nvidia.ko failed to build!
make[2]: *** [module] Błąd 1
make[2]: Opuszczenie katalogu `/usr/src/modules/nvidia-kernel'
make[1]: *** [build-stamp] Błąd 2
make[1]: Opuszczenie katalogu `/usr/src/modules/nvidia-kernel'
make: *** [kdist_image] Błąd 2
I szczerze mówiąc utknąłem. Próbowałem różnymi wersjami gcc, od 4.1 przez 4.2, 4.3 do 4.4, ciągle to samo.
Może komuś wpadnie coś do głowy?