The problem is, there is still a symlink from a previous version there if you upgrade.
Suppose we start from a system without any linux-headers-2.6.12-1* package. Then we install the -2 version (which used to be in unstable) of linux-headers-2.6.12-1 and the -686 one: # dpkg -i linux-headers-2.6.12-1_2.6.12-2_i386.deb linux-headers-2.6.12-1-686_2.6.12-2_i386.deb If we now look at the arch directory, we'll see it's a symlink: # ls -ld /usr/src/linux-headers-2.6.12-1-686/arch lrwxrwxrwx 1 root root 30 2005-08-18 12:31 /usr/src/linux-headers-2.6.12-1-686/arch -> ../linux-headers-2.6.12-1/arch Then we upgrade to the -5 versions: # dpkg -i linux-headers-2.6.12-1_2.6.12-5_i386.deb linux-headers-2.6.12-1-686_2.6.12-5_i386.deb Then the symlink is still there: # ls -ld /usr/src/linux-headers-2.6.12-1-686/arch lrwxrwxrwx 1 root root 30 2005-08-18 12:31 /usr/src/linux-headers-2.6.12-1-686/arch -> ../linux-headers-2.6.12-1/arch Because the linux-headers-2.6.12-1-686 package should have replaced that arch symlink with a real dir, but instead, it wrote within the dir the symlink points to. linux-headers-2.6.12-1-686's files overwrite the files from linux-headers-2.6.12-1 in /usr/src/linux-headers-2.6.12-1/arch/i386/ And that's what causes the Makefile to point to itself. If we remove them, and reinstall them, this time just the -5 version, all is fine: # dpkg -r linux-headers-2.6.12-1 linux-headers-2.6.12-1-686 # dpkg -i linux-headers-2.6.12-1_2.6.12-5_i386.deb linux-headers-2.6.12-1-686_2.6.12-5_i386.deb # ls -ld /usr/src/linux-headers-2.6.12-1-686/arch drwxr-xr-x 3 root root 4096 2005-08-18 12:33 /usr/src/linux-headers-2.6.12-1-686/arch Wouter.
pgpWzLdiOpPgx.pgp
Description: PGP signature