I recently compiled the drm and nouveau modules on Debian unstable. All went well until I had to insert the drm module, I recieved to following error:<br><br>insmod: error inserting 'drm.ko': -1 Unknown symbol in module
<br><br>I have compiled the modules before and I have always gotten this same error.<br><br>Here is the log of my build:<br><br>debian:/home/michael/drm# ./autogen.sh --prefix=/usr && make && make install<br>
autoreconf: Entering directory `.'<br>autoreconf: <a href="http://configure.ac">configure.ac</a>: not using Gettext<br>autoreconf: running: aclocal <br>autoreconf: <a href="http://configure.ac">configure.ac</a>: tracing
<br>autoreconf: running: libtoolize --copy<br>autoreconf: running: /usr/bin/autoconf<br>autoreconf: running: /usr/bin/autoheader<br>autoreconf: running: automake --add-missing --copy --no-force<br><a href="http://configure.ac:24">
configure.ac:24</a>: installing `./missing'<br><a href="http://configure.ac:24">configure.ac:24</a>: installing `./install-sh'<br>libdrm/Makefile.am: installing `./depcomp'<br>autoreconf: Leaving directory `.'
<br>checking for a BSD-compatible install... /usr/bin/install -c<br>checking whether build environment is sane... yes<br>checking for a thread-safe mkdir -p... /bin/mkdir -p<br>checking for gawk... no<br>checking for mawk... mawk
<br>checking whether make sets $(MAKE)... yes<br>checking build system type... i586-pc-linux-gnu<br>checking host system type... i586-pc-linux-gnu<br>checking for style of include used by make... GNU<br>checking for gcc... gcc
<br>checking for C compiler default output file name... a.out<br>checking whether the C compiler works... yes<br>checking whether we are cross compiling... no<br>checking for suffix of executables... <br>checking for suffix of object files... o
<br>checking whether we are using the GNU C compiler... yes<br>checking whether gcc accepts -g... yes<br>checking for gcc option to accept ISO C89... none needed<br>checking dependency style of gcc... gcc3<br>checking for a sed that does not truncate output... /bin/sed
<br>checking for grep that handles long lines and -e... /bin/grep<br>checking for egrep... /bin/grep -E<br>checking for ld used by gcc... /usr/bin/ld<br>checking if the linker (/usr/bin/ld) is GNU ld... yes<br>checking for /usr/bin/ld option to reload object files... -r
<br>checking for BSD-compatible nm... /usr/bin/nm -B<br>checking whether ln -s works... yes<br>checking how to recognize dependent libraries... pass_all<br>checking how to run the C preprocessor... gcc -E<br>checking for ANSI C header files... yes
<br>checking for sys/types.h... yes<br>checking for sys/stat.h... yes<br>checking for stdlib.h... yes<br>checking for string.h... yes<br>checking for memory.h... yes<br>checking for strings.h... yes<br>checking for inttypes.h..
. yes<br>checking for stdint.h... yes<br>checking for unistd.h... yes<br>checking dlfcn.h usability... yes<br>checking dlfcn.h presence... yes<br>checking for dlfcn.h... yes<br>checking for g++... g++<br>checking whether we are using the GNU C++ compiler... yes
<br>checking whether g++ accepts -g... yes<br>checking dependency style of g++... gcc3<br>checking how to run the C++ preprocessor... g++ -E<br>checking for g77... no<br>checking for xlf... no<br>checking for f77... no<br>
checking for frt... no<br>checking for pgf77... no<br>checking for cf77... no<br>checking for fort77... no<br>checking for fl32... no<br>checking for af77... no<br>checking for xlf90... no<br>checking for f90... no<br>checking for pgf90... no
<br>checking for pghpf... no<br>checking for epcf90... no<br>checking for gfortran... no<br>checking for g95... no<br>checking for xlf95... no<br>checking for f95... no<br>checking for fort... no<br>checking for ifort... no
<br>checking for ifc... no<br>checking for efc... no<br>checking for pgf95... no<br>checking for lf95... no<br>checking for ftn... no<br>checking whether we are using the GNU Fortran 77 compiler... no<br>checking whether accepts -g... no
<br>checking the maximum length of command line arguments... 98304<br>checking command to parse /usr/bin/nm -B output from gcc object... ok<br>checking for objdir... .libs<br>checking for ar... ar<br>checking for ranlib... ranlib
<br>checking for strip... strip<br>checking if gcc supports -fno-rtti -fno-exceptions... no<br>checking for gcc option to produce PIC... -fPIC<br>checking if gcc PIC flag -fPIC works... yes<br>checking if gcc static flag -static works... yes
<br>checking if gcc supports -c -o file.o... yes<br>checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes<br>checking whether -lc should be explicitly linked in... no<br>checking dynamic linker characteristics... GNU/Linux
ld.so<br>checking how to hardcode library paths into programs... immediate<br>checking whether stripping libraries is possible... yes<br>checking if libtool supports shared libraries... yes<br>checking whether to build shared libraries... yes
<br>checking whether to build static libraries... no<br>configure: creating libtool<br>appending configuration tag "CXX" to libtool<br>checking for ld used by g++... /usr/bin/ld<br>checking if the linker (/usr/bin/ld) is GNU ld... yes
<br>checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes<br>checking for g++ option to produce PIC... -fPIC<br>checking if g++ PIC flag -fPIC works... yes<br>checking if g++ static flag -static works... yes
<br>checking if g++ supports -c -o file.o... yes<br>checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes<br>checking dynamic linker characteristics... GNU/Linux ld.so<br>checking how to hardcode library paths into programs... immediate
<br>appending configuration tag "F77" to libtool<br>checking for gcc... (cached) gcc<br>checking whether we are using the GNU C compiler... (cached) yes<br>checking whether gcc accepts -g... (cached) yes<br>checking for gcc option to accept ISO C89... (cached) none needed
<br>checking dependency style of gcc... (cached) gcc3<br>checking for ANSI C header files... (cached) yes<br>checking for special C compiler options needed for large files... no<br>checking for _FILE_OFFSET_BITS value needed for large files... 64
<br>configure: creating ./config.status<br>config.status: creating Makefile<br>config.status: creating libdrm/Makefile<br>config.status: creating shared-core/Makefile<br>config.status: creating tests/Makefile<br>config.status
: creating libdrm.pc<br>config.status: creating libdrm/config.h<br>config.status: executing depfiles commands<br>Making all in libdrm<br>make[1]: Entering directory `/home/michael/drm/libdrm'<br>make all-am<br>make[2]: Entering directory `/home/michael/drm/libdrm'
<br>/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../shared-core -g -O2 -MT xf86drm.lo -MD -MP -MF .deps/xf86drm.Tpo -c -o xf86drm.lo xf86drm.c<br>mkdir .libs<br> gcc -DHAVE_CONFIG_H -I. -I../shared-core -g -O2 -MT
xf86drm.lo -MD -MP -MF .deps/xf86drm.Tpo -c xf86drm.c -fPIC -DPIC -o .libs/xf86drm.o<br>mv -f .deps/xf86drm.Tpo .deps/xf86drm.Plo<br>/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../shared-core -g -O2 -MT
xf86drmHash.lo -MD -MP -MF .deps/xf86drmHash.Tpo -c -o xf86drmHash.lo xf86drmHash.c<br> gcc -DHAVE_CONFIG_H -I. -I../shared-core -g -O2 -MT xf86drmHash.lo -MD -MP -MF .deps/xf86drmHash.Tpo -c xf86drmHash.c -fPIC -DPIC -o .libs/xf86drmHash.o
<br>mv -f .deps/xf86drmHash.Tpo .deps/xf86drmHash.Plo<br>/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../shared-core -g -O2 -MT xf86drmRandom.lo -MD -MP -MF .deps/xf86drmRandom.Tpo -c -o xf86drmRandom.lo
xf86drmRandom.c<br> gcc -DHAVE_CONFIG_H -I. -I../shared-core -g -O2 -MT xf86drmRandom.lo -MD -MP -MF .deps/xf86drmRandom.Tpo -c xf86drmRandom.c -fPIC -DPIC -o .libs/xf86drmRandom.o<br>mv -f .deps/xf86drmRandom.Tpo .deps/xf86drmRandom.Plo
<br>/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../shared-core -g -O2 -MT xf86drmSL.lo -MD -MP -MF .deps/xf86drmSL.Tpo -c -o xf86drmSL.lo xf86drmSL.c<br> gcc -DHAVE_CONFIG_H -I. -I../shared-core -g -O2 -MT
xf86drmSL.lo -MD -MP -MF .deps/xf86drmSL.Tpo -c xf86drmSL.c -fPIC -DPIC -o .libs/xf86drmSL.o<br>mv -f .deps/xf86drmSL.Tpo .deps/xf86drmSL.Plo<br>/bin/sh ../libtool --tag=CC --mode=link gcc -I../shared-core -g -O2 -version-number 2:3:0 -no-undefined -o
<a href="http://libdrm.la">libdrm.la</a> -rpath /usr/lib xf86drm.lo xf86drmHash.lo xf86drmRandom.lo xf86drmSL.lo <br>gcc -shared .libs/xf86drm.o .libs/xf86drmHash.o .libs/xf86drmRandom.o .libs/xf86drmSL.o -Wl,-soname -Wl,
libdrm.so.2 -o .libs/libdrm.so.2.3.0<br>(cd .libs && rm -f libdrm.so.2 && ln -s libdrm.so.2.3.0 libdrm.so.2)<br>(cd .libs && rm -f libdrm.so && ln -s libdrm.so.2.3.0 libdrm.so)<br>creating
<a href="http://libdrm.la">libdrm.la</a><br>(cd .libs && rm -f <a href="http://libdrm.la">libdrm.la</a> && ln -s ../libdrm.la <a href="http://libdrm.la">libdrm.la</a>)<br>make[2]: Leaving directory `/home/michael/drm/libdrm'
<br>make[1]: Leaving directory `/home/michael/drm/libdrm'<br>Making all in shared-core<br>make[1]: Entering directory `/home/michael/drm/shared-core'<br>make[1]: Nothing to be done for `all'.<br>make[1]: Leaving directory `/home/michael/drm/shared-core'
<br>Making all in tests<br>make[1]: Entering directory `/home/michael/drm/tests'<br>gcc -DHAVE_CONFIG_H -I. -I../libdrm -I ../shared-core -g -O2 -MT dristat.o -MD -MP -MF .deps/dristat.Tpo -c -o dristat.o dristat.c
<br>mv -f .deps/dristat.Tpo .deps/dristat.Po<br>/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../libdrm -I ../shared-core -g -O2 -MT drmtest.lo -MD -MP -MF .deps/drmtest.Tpo -c -o drmtest.lo drmtest.c
<br>mkdir .libs<br> gcc -DHAVE_CONFIG_H -I. -I../libdrm -I ../shared-core -g -O2 -MT drmtest.lo -MD -MP -MF .deps/drmtest.Tpo -c drmtest.c -fPIC -DPIC -o .libs/drmtest.o<br>mv -f .deps/drmtest.Tpo .deps/drmtest.Plo<br>/bin/sh ../libtool --tag=CC --mode=link gcc -I ../shared-core -g -O2 -o
<a href="http://libdrmtest.la">libdrmtest.la</a> drmtest.lo ../libdrm/libdrm.la <br>ar cru .libs/libdrmtest.a .libs/drmtest.o<br>ranlib .libs/libdrmtest.a<br>creating <a href="http://libdrmtest.la">libdrmtest.la</a><br>(cd .libs && rm -f
<a href="http://libdrmtest.la">libdrmtest.la</a> && ln -s ../libdrmtest.la <a href="http://libdrmtest.la">libdrmtest.la</a>)<br>/bin/sh ../libtool --tag=CC --mode=link gcc -I ../shared-core -g -O2 -o dristat dristat.o
<a href="http://libdrmtest.la">libdrmtest.la</a> <br>gcc -I ../shared-core -g -O2 -o .libs/dristat dristat.o ./.libs/libdrmtest.a /home/michael/drm/libdrm/.libs/libdrm.so <br>creating dristat<br>gcc -DHAVE_CONFIG_H -I. -I../libdrm -I ../shared-core -g -O2 -MT
drmstat.o -MD -MP -MF .deps/drmstat.Tpo -c -o drmstat.o drmstat.c<br>mv -f .deps/drmstat.Tpo .deps/drmstat.Po<br>/bin/sh ../libtool --tag=CC --mode=link gcc -I ../shared-core -g -O2 -o drmstat drmstat.o <a href="http://libdrmtest.la">
libdrmtest.la</a> <br>gcc -I ../shared-core -g -O2 -o .libs/drmstat drmstat.o ./.libs/libdrmtest.a /home/michael/drm/libdrm/.libs/libdrm.so <br>creating drmstat<br>make[1]: Leaving directory `/home/michael/drm/tests'
<br>make[1]: Entering directory `/home/michael/drm'<br>make[1]: Nothing to be done for `all-am'.<br>make[1]: Leaving directory `/home/michael/drm'<br>Making install in libdrm<br>make[1]: Entering directory `/home/michael/drm/libdrm'
<br>make[2]: Entering directory `/home/michael/drm/libdrm'<br>make[2]: Nothing to be done for `install-exec-am'.<br>test -z "/usr/lib" || /bin/mkdir -p "/usr/lib"<br> /bin/sh ../libtool --mode=install /usr/bin/install -c '
<a href="http://libdrm.la">libdrm.la</a>' '/usr/lib/libdrm.la'<br>/usr/bin/install -c .libs/libdrm.so.2.3.0 /usr/lib/libdrm.so.2.3.0<br>(cd /usr/lib && { ln -s -f libdrm.so.2.3.0 libdrm.so.2 || { rm -f
libdrm.so.2 && ln -s libdrm.so.2.3.0 libdrm.so.2; }; })<br>(cd /usr/lib && { ln -s -f libdrm.so.2.3.0 libdrm.so || { rm -f libdrm.so && ln -s libdrm.so.2.3.0 libdrm.so; }; })<br>/usr/bin/install -c .libs/libdrm.lai /usr/lib/libdrm.la
<br>PATH="$PATH:/sbin" ldconfig -n /usr/lib<br>----------------------------------------------------------------------<br>Libraries have been installed in:<br> /usr/lib<br><br>If you ever happen to want to link against installed libraries
<br>in a given directory, LIBDIR, you must either use libtool, and<br>specify the full pathname of the library, or use the `-LLIBDIR'<br>flag during linking and do at least one of the following:<br> - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
<br> during execution<br> - add LIBDIR to the `LD_RUN_PATH' environment variable<br> during linking<br> - use the `-Wl,--rpath -Wl,LIBDIR' linker flag<br> - have your system administrator add LIBDIR to `/etc/ld.so.conf'
<br><br>See any operating system documentation about shared libraries for<br>more information, such as the ld(1) and ld.so(8) manual pages.<br>----------------------------------------------------------------------<br>test -z "/usr/include" || /bin/mkdir -p "/usr/include"
<br> /usr/bin/install -c -m 644 'xf86drm.h' '/usr/include/xf86drm.h'<br> /usr/bin/install -c -m 644 'xf86mm.h' '/usr/include/xf86mm.h'<br>make[2]: Leaving directory `/home/michael/drm/libdrm'
<br>make[1]: Leaving directory `/home/michael/drm/libdrm'<br>Making install in shared-core<br>make[1]: Entering directory `/home/michael/drm/shared-core'<br>make[2]: Entering directory `/home/michael/drm/shared-core'
<br>make[2]: Nothing to be done for `install-exec-am'.<br>test -z "/usr/include/drm" || /bin/mkdir -p "/usr/include/drm"<br> /usr/bin/install -c -m 644 'drm.h' '/usr/include/drm/drm.h'
<br> /usr/bin/install -c -m 644 'drm_sarea.h' '/usr/include/drm/drm_sarea.h'<br> /usr/bin/install -c -m 644 'i915_drm.h' '/usr/include/drm/i915_drm.h'<br> /usr/bin/install -c -m 644 'mach64_drm.h' '/usr/include/drm/mach64_drm.h'
<br> /usr/bin/install -c -m 644 'mga_drm.h' '/usr/include/drm/mga_drm.h'<br> /usr/bin/install -c -m 644 'nouveau_drm.h' '/usr/include/drm/nouveau_drm.h'<br> /usr/bin/install -c -m 644 'r128_drm.h' '/usr/include/drm/r128_drm.h'
<br> /usr/bin/install -c -m 644 'radeon_drm.h' '/usr/include/drm/radeon_drm.h'<br> /usr/bin/install -c -m 644 'savage_drm.h' '/usr/include/drm/savage_drm.h'<br> /usr/bin/install -c -m 644 'sis_drm.h' '/usr/include/drm/sis_drm.h'
<br> /usr/bin/install -c -m 644 'via_drm.h' '/usr/include/drm/via_drm.h'<br> /usr/bin/install -c -m 644 'r300_reg.h' '/usr/include/drm/r300_reg.h'<br> /usr/bin/install -c -m 644 'via_3d_reg.h' '/usr/include/drm/via_3d_reg.h'
<br>make[2]: Leaving directory `/home/michael/drm/shared-core'<br>make[1]: Leaving directory `/home/michael/drm/shared-core'<br>Making install in tests<br>make[1]: Entering directory `/home/michael/drm/tests'<br>
make[2]: Entering directory `/home/michael/drm/tests'<br>make[2]: Nothing to be done for `install-exec-am'.<br>make[2]: Nothing to be done for `install-data-am'.<br>make[2]: Leaving directory `/home/michael/drm/tests'
<br>make[1]: Leaving directory `/home/michael/drm/tests'<br>make[1]: Entering directory `/home/michael/drm'<br>make[2]: Entering directory `/home/michael/drm'<br>make[2]: Nothing to be done for `install-exec-am'.
<br>test -z "/usr/lib/pkgconfig" || /bin/mkdir -p "/usr/lib/pkgconfig"<br> /usr/bin/install -c -m 644 'libdrm.pc' '/usr/lib/pkgconfig/libdrm.pc'<br>make[2]: Leaving directory `/home/michael/drm'
<br>make[1]: Leaving directory `/home/michael/drm'<br><br>debian:/home/michael/drm# cd linux-core && make nouveau.o<br>make DRM_MODULES=nouveau.o modules<br>make[1]: Entering directory `/home/michael/drm/linux-core'
<br>sh ../scripts/create_linux_pci_lists.sh < ../shared-core/drm_pciids.txt<br>make -C /lib/modules/2.6.22-1-486/build SUBDIRS=`pwd` DRMSRCDIR=`pwd` modules<br>make[2]: Entering directory `/usr/src/linux-headers-2.6.22-1-486
'<br> CC [M] /home/michael/drm/linux-core/drm_auth.o<br> CC [M] /home/michael/drm/linux-core/drm_bufs.o<br> CC [M] /home/michael/drm/linux-core/drm_context.o<br> CC [M] /home/michael/drm/linux-core/drm_dma.o<br>
CC [M] /home/michael/drm/linux-core/drm_drawable.o<br> CC [M] /home/michael/drm/linux-core/drm_drv.o<br> CC [M] /home/michael/drm/linux-core/drm_fops.o<br> CC [M] /home/michael/drm/linux-core/drm_ioctl.o<br> CC [M] /home/michael/drm/linux-core/drm_irq.o
<br> CC [M] /home/michael/drm/linux-core/drm_lock.o<br> CC [M] /home/michael/drm/linux-core/drm_memory.o<br> CC [M] /home/michael/drm/linux-core/drm_proc.o<br> CC [M] /home/michael/drm/linux-core/drm_stub.o<br> CC [M] /home/michael/drm/linux-core/drm_vm.o
<br> CC [M] /home/michael/drm/linux-core/drm_sysfs.o<br> CC [M] /home/michael/drm/linux-core/drm_pci.o<br> CC [M] /home/michael/drm/linux-core/drm_agpsupport.o<br> CC [M] /home/michael/drm/linux-core/drm_scatter.o
<br> CC [M] /home/michael/drm/linux-core/drm_memory_debug.o<br> CC [M] /home/michael/drm/linux-core/ati_pcigart.o<br> CC [M] /home/michael/drm/linux-core/drm_sman.o<br> CC [M] /home/michael/drm/linux-core/drm_hashtab.o
<br> CC [M] /home/michael/drm/linux-core/drm_mm.o<br> CC [M] /home/michael/drm/linux-core/drm_object.o<br> CC [M] /home/michael/drm/linux-core/drm_compat.o<br> CC [M] /home/michael/drm/linux-core/drm_fence.o<br> CC [M] /home/michael/drm/linux-core/drm_ttm.o
<br> CC [M] /home/michael/drm/linux-core/drm_bo.o<br> CC [M] /home/michael/drm/linux-core/drm_bo_move.o<br> CC [M] /home/michael/drm/linux-core/nouveau_drv.o<br> CC [M] /home/michael/drm/linux-core/nouveau_state.o
<br>/home/michael/drm/linux-core/nouveau_state.c: In function 'nouveau_ioctl_getparam':<br>/home/michael/drm/linux-core/nouveau_state.c:458: warning: cast from pointer to integer of different size<br>/home/michael/drm/linux-core/nouveau_state.c: In function 'nouveau_wait_for_idle':
<br>/home/michael/drm/linux-core/nouveau_state.c:528: warning: unused variable 'pmc_e'<br> CC [M] /home/michael/drm/linux-core/nouveau_fifo.o<br> CC [M] /home/michael/drm/linux-core/nouveau_mem.o<br> CC [M] /home/michael/drm/linux-core/nouveau_object.o
<br> CC [M] /home/michael/drm/linux-core/nouveau_irq.o<br> CC [M] /home/michael/drm/linux-core/nouveau_notifier.o<br> CC [M] /home/michael/drm/linux-core/nouveau_sgdma.o<br> CC [M] /home/michael/drm/linux-core/nv04_timer.o
<br> CC [M] /home/michael/drm/linux-core/nv04_mc.o<br> CC [M] /home/michael/drm/linux-core/nv40_mc.o<br> CC [M] /home/michael/drm/linux-core/nv50_mc.o<br> CC [M] /home/michael/drm/linux-core/nv04_fb.o<br> CC [M] /home/michael/drm/linux-core/nv10_fb.o
<br> CC [M] /home/michael/drm/linux-core/nv40_fb.o<br> CC [M] /home/michael/drm/linux-core/nv04_fifo.o<br> CC [M] /home/michael/drm/linux-core/nv10_fifo.o<br> CC [M] /home/michael/drm/linux-core/nv40_fifo.o<br> CC [M] /home/michael/drm/linux-core/nv50_fifo.o
<br> CC [M] /home/michael/drm/linux-core/nv04_graph.o<br> CC [M] /home/michael/drm/linux-core/nv10_graph.o<br> CC [M] /home/michael/drm/linux-core/nv20_graph.o<br> CC [M] /home/michael/drm/linux-core/nv30_graph.o<br>
CC [M] /home/michael/drm/linux-core/nv40_graph.o<br> CC [M] /home/michael/drm/linux-core/nv50_graph.o<br> CC [M] /home/michael/drm/linux-core/nv04_instmem.o<br> CC [M] /home/michael/drm/linux-core/nv50_instmem.o<br>
LD [M] /home/michael/drm/linux-core/drm.o<br> LD [M] /home/michael/drm/linux-core/nouveau.o<br> Building modules, stage 2.<br> MODPOST 2 modules<br> CC /home/michael/drm/linux-core/drm.mod.o<br> LD [M] /home/michael/drm/linux-core/drm.ko
<br> CC /home/michael/drm/linux-core/nouveau.mod.o<br> LD [M] /home/michael/drm/linux-core/nouveau.ko<br>make[2]: Leaving directory `/usr/src/linux-headers-2.6.22-1-486'<br>make[1]: Leaving directory `/home/michael/drm/linux-core'
<br>debian:/home/michael/drm/linux-core# insmod drm.ko<br>insmod: error inserting 'drm.ko': -1 Unknown symbol in module<br><br>I use the latest available packages from Debian and I have a Nvidia TNT2 64 video card.
<br>