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

Lennart Sorensen lsorense at csclub.uwaterloo.ca
Tue Oct 21 18:58:30 UTC 2008


On Tue, Oct 21, 2008 at 09:25:25AM +0200, Sven Joachim wrote:
> 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/:

make-kpkg has a modules_clean target.  Does using that before the build
help?  If not, then I suspect there is a problem with the cleaning
target in the nvidia package we have to figure out.

> ,----
> | /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
> `----

-- 
Len Sorensen





More information about the Pkg-nvidia-devel mailing list