PROBLEM: make install doesn't create target directory (2.6.19-rc4)

From: Joachim Wagner
Date: Sun Nov 05 2006 - 18:21:51 EST


Hi there,

make install of kernel 2.6.19-rc4 doesn't create a sometimes necessary
directory in /lib/modules/. I attach my command history (ls and many "less
readme" removed) and the grep^C .config file for reproduceability. However,
even with these, I cannot reproduce the error on a different system, see
below.

Hope this makes any sense and is useful for the final release,
Joachim


Error message:
[root@localhost linux-2.6.19-rc4]# make install
sh /extra/build/src/linux-2.6.19-rc4/arch/i386/boot/install.sh 2.6.19-rc4test
arch/i386/boot/bzImage System.map "/boot"
WARNING: Couldn't open directory /lib/modules/2.6.19-rc4test: No such file or
directory
FATAL: Could not open /lib/modules/2.6.19-rc4test/modules.dep.temp for
writing: No such file or directory
No modules available for kernel "2.6.19-rc4test".
mkinitrd failed
make[1]: *** [install] Error 1
make: *** [install] Error 2

Workaround:
After manually creating the target directory, make install runs normally, and,
after make modules_install, the kernel works fine for me. (Actually solving a
problem of 2.6.18-1.2200.fc5 with do_IRQ stack overflows. Very happy about
this.)

System:
Pentium 4 2.66GHz, Fedora Core 5, kernel 2.6.18-1.2200.fc5, gcc 4.1.1, GNU
Make 3.80, everything run as root.

Unable to reproduce the error on a Pentium 4 2.40GHz, SuSE 10.0, kernel
2.6.13-15.11-default, gcc 4.0.2, GNU Make 3.80 (zcat
~/Documents/config_c_only.txt.gz >.config, make menuconfig, then just exit).

Proposed solution:
Adding an mkdir -p ("no error if existing, make parent directories as needed")
shouldn't harm the normal case and fix this problem in the rare case.

Attachment: config_c_only.txt.gz
Description: GNU Zip compressed data

mkdir build
cd build/
mkdir src
cd src/
wget -O - http://www.kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.19-rc4.tar.bz2 | tee linux-2.6.19-rc4.tar.bz2 | bunzip2 | tar -xf -
cd linux-2.6.19-rc4
cd /extra/build/src/linux-2.6.19-rc4
make menuconfig
mv .config .config.old
make menuconfig
cat /proc/config.gz | gunzip | less
find /proc | fgrep config
make menuconfig
make
make modules
make install
mkdir -p /lib/modules/2.6.19-rc4test
make install
ls /lib/modules/
make modules_install
vi /etc/grub.conf
cd
shutdown -r now
uname -a
shutdown -r now