[pkg-nvidia-devel] Bug#501987: Bug#500285: no patch necessary for building against 2.6.27

Sven Joachim svenjoac at gmx.de
Tue Oct 21 07:25:25 UTC 2008


On 2008-10-20 22:34 +0200, Lennart Sorensen wrote:

> On Sun, Oct 12, 2008 at 03:22:11PM +0200, Sven Joachim wrote:
>> Indeed, it doesn't build correctly.  But I didn't notice that, because
>> the nvidia-kernel-source package hides the problem by ignoring make
>> errors and reusing a previously built nvidia.ko for the
>> nvidia-kernel-2.6.* package.  I'll file a separate bug report for that.
>
> Make sure to wipe out any existing dir before building a new version
> with module-assistant.  I don't know why that tool doesn't automatically
> clean up before extracting a new tar file.  That's just plain daft.

I did not use module-assistant, but rather make-kpkg.  Here's a log of
what happens if I don't rm -rf /usr/src/modules/nvidia-kernel/:

,----
| /usr/src/linux-2.6.27.2% fakeroot make-kpkg modules_image
| exec debian/rules  DEBIAN_REVISION=custom.1.1  modules_image 
| for module in /usr/src/modules/nvidia-kernel ; do                       \
|           if test -d  $module; then                                \
| 	    (cd $module;                                          \
|               if ./debian/rules KVERS="2.6.27-core2" KSRC="/usr/src/linux-2.6.27.2" \
|                              KMAINT="Sven Joachim" KEMAIL="svenjoac at gmx.de"      \
|                              KPKG_DEST_DIR="/usr/src/linux-2.6.27.2/.."       \
|                              KPKG_MAINTAINER="Sven Joachim"        \
|                              KPKG_EXTRAV_ARG=""        \
|                              ARCH="i386"         \
|                              KDREV="custom.1.1" kdist_image; then    \
|                   echo "Module $module processed fine";            \
|               else                                                  \
|                    echo "Module $module failed.";                  \
|                    if [ "X" != "X" ]; then      \
|                       echo "Perhaps $module does not understand --rootcmd?";  \
|                       echo "If you see messages that indicate that it is not"; \
|                       echo "in fact being built as root, please file a bug ";  \
|                       echo "against $module.";                     \
|                    fi;                                              \
|                    echo "Hit return to Continue";                   \
| 		 read ans;                                        \
|               fi;                                                   \
| 	     );                                                    \
| 	  else                                                      \
|                echo "Module $module does not exist";               \
|                echo "Hit return to Continue?";                      \
| 	  fi;                                                       \
|         done
| make[1]: Entering directory `/usr/src/modules/nvidia-kernel'
| echo "ROOT_CMD = "
| ROOT_CMD = 
| /usr/bin/make -w -f debian/rules binary_modules
| make[2]: Entering directory `/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.1 -v 2> /dev/null  ; then \
| 	   echo "Compiler gcc-4.1 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.1.2
| Detected compiler version : 4.1.2
| Using compiler gcc-4.1 version 4.1.2
| 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.1" /usr/bin/make -C /usr/src/modules/nvidia-kernel/ -f Makefile SYSSRC=/usr/src/linux-2.6.27.2   KBUILD_PARAMS="-C /usr/src/linux-2.6.27.2 SUBDIRS=/usr/src/modules/nvidia-kernel" module;
| make[3]: Entering directory `/usr/src/modules/nvidia-kernel'
| NVIDIA: calling KBUILD...
| make CC=gcc-4.1 -C /usr/src/linux-2.6.27.2 SUBDIRS=/usr/src/modules/nvidia-kernel modules
| make[4]: Entering directory `/usr/src/linux-2.6.27.2'
|   CC [M]  /usr/src/modules/nvidia-kernel/nv.o
| In file included from include/linux/bitops.h:17,
|                  from include/linux/kernel.h:15,
|                  from include/linux/sched.h:52,
|                  from include/linux/utsname.h:35,
|                  from /usr/src/modules/nvidia-kernel/nv-linux.h:19,
|                  from /usr/src/modules/nvidia-kernel/nv.c:14:
| include/asm/bitops.h: In function 'set_bit':
| include/asm/bitops.h:60: warning: pointer of type 'void *' used in arithmetic
| include/asm/bitops.h: In function 'clear_bit':
| include/asm/bitops.h:97: warning: pointer of type 'void *' used in arithmetic
| In file included from include/linux/list.h:6,
|                  from include/linux/preempt.h:11,
|                  from include/linux/spinlock.h:50,
|                  from include/linux/seqlock.h:29,
|                  from include/linux/time.h:8,
|                  from include/linux/timex.h:57,
|                  from include/linux/sched.h:54,
|                  from include/linux/utsname.h:35,
|                  from /usr/src/modules/nvidia-kernel/nv-linux.h:19,
|                  from /usr/src/modules/nvidia-kernel/nv.c:14:
| include/linux/prefetch.h: In function 'prefetch_range':
| include/linux/prefetch.h:57: warning: pointer of type 'void *' used in arithmetic
| In file included from include/linux/utsname.h:35,
|                  from /usr/src/modules/nvidia-kernel/nv-linux.h:19,
|                  from /usr/src/modules/nvidia-kernel/nv.c:14:
| include/linux/sched.h: In function 'object_is_on_stack':
| include/linux/sched.h:1969: warning: pointer of type 'void *' used in arithmetic
| In file included from include/asm/dma-mapping.h:9,
|                  from include/linux/dma-mapping.h:52,
|                  from include/asm-generic/pci-dma-compat.h:7,
|                  from include/asm/pci.h:94,
|                  from include/linux/pci.h:983,
|                  from /usr/src/modules/nvidia-kernel/nv-linux.h:86,
|                  from /usr/src/modules/nvidia-kernel/nv.c:14:
| include/linux/scatterlist.h: In function 'sg_virt':
| 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: No such file or directory
| In file included from /usr/src/modules/nvidia-kernel/nv-linux.h:109,
|                  from /usr/src/modules/nvidia-kernel/nv.c:14:
| include/linux/highmem.h: In function 'zero_user_segments':
| include/linux/highmem.h:134: warning: pointer of type 'void *' used in arithmetic
| include/linux/highmem.h:134: warning: pointer of type 'void *' used in arithmetic
| include/linux/highmem.h:134: warning: pointer of type 'void *' used in arithmetic
| include/linux/highmem.h:134: warning: pointer of type 'void *' used in arithmetic
| include/linux/highmem.h:137: warning: pointer of type 'void *' used in arithmetic
| include/linux/highmem.h:137: warning: pointer of type 'void *' used in arithmetic
| include/linux/highmem.h:137: warning: pointer of type 'void *' used in arithmetic
| include/linux/highmem.h:137: 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: 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.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'
| make[5]: *** [/usr/src/modules/nvidia-kernel/nv.o] Error 1
| make[4]: *** [_module_/usr/src/modules/nvidia-kernel] Error 2
| make[4]: Leaving directory `/usr/src/linux-2.6.27.2'
| NVIDIA: left KBUILD.
| make[3]: Leaving directory `/usr/src/modules/nvidia-kernel'
| touch build-stamp
| dh_testdir
| dh_testroot
| dh_clean -k
| sed 's/#KVERS#/2.6.27-core2/g' debian/control.template > /usr/src/modules/nvidia-kernel/debian/control
| sed 's/#KVERS#/2.6.27-core2/g' debian/dirs.template > /usr/src/modules/nvidia-kernel/debian/dirs
| sed 's/#KVERS#/2.6.27-core2/g' debian/override.template > /usr/src/modules/nvidia-kernel/debian/override
| dh_installdirs
| install -m 0644 /usr/src/modules/nvidia-kernel/debian/override /usr/src/modules/nvidia-kernel/debian/nvidia-kernel-2.6.27-core2/usr/share/lintian/overrides/nvidia-kernel-2.6.27-core2
| if [ "6" = "6" ] ; then \
| 	   install -m 0644 /usr/src/modules/nvidia-kernel//nvidia.ko /usr/src/modules/nvidia-kernel/debian/nvidia-kernel-2.6.27-core2/lib/modules/2.6.27-core2/nvidia/nvidia.ko ; \
| 	else \
| 	   install -m 0644 /usr/src/modules/nvidia-kernel//nvidia.o /usr/src/modules/nvidia-kernel/debian/nvidia-kernel-2.6.27-core2/lib/modules/2.6.27-core2/nvidia/nvidia.o ;\
| 	fi
| dh_testdir
| dh_testroot
| dh_installdocs
| dh_installmodules
| dh_installinit
| dh_installchangelogs 
| dh_link
| dh_strip
| dh_compress
| dh_fixperms
| dh_installdeb
| dh_gencontrol -- -v173.14.09-5+custom.1.1
| dh_md5sums
| dh_builddeb  --destdir=/usr/src/linux-2.6.27.2/..
| dpkg-deb: building package `nvidia-kernel-2.6.27-core2' in `/usr/src/linux-2.6.27.2/../nvidia-kernel-2.6.27-core2_173.14.09-5+custom.1.1_i386.deb'.
| make[2]: Leaving directory `/usr/src/modules/nvidia-kernel'
| /usr/bin/make -w -f debian/rules clean
| make[2]: Entering directory `/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=/usr/src/linux-2.6.27.2 -C /usr/src/modules/nvidia-kernel/ -f Makefile 
| make[3]: Entering directory `/usr/src/modules/nvidia-kernel'
| make[3]: Leaving directory `/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[2]: Leaving directory `/usr/src/modules/nvidia-kernel'
| make[1]: Leaving directory `/usr/src/modules/nvidia-kernel'
| Module /usr/src/modules/nvidia-kernel processed fine
`----

Sven





More information about the Pkg-nvidia-devel mailing list