[OpenAFS] RHEL4 x86_64 1.4.0-rc5 RPM install aklog segfault
Derek Atkins
warlord@MIT.EDU
Tue, 1 Nov 2005 17:36:12 -0500
Quoting Lee Damon <nomad@crow.ee.washington.edu>:
> Just to make darn sure I started the rpmbuild process over again.
> Here is the beginning of the output:
>
> : || nomad@kick0 ~ [8] ; uname -r
> 2.6.9-22.ELsmp
> : || nomad@kick0 ~ [9] ; rpmbuild -ba /usr/src/redhat/SPECS/openafs.spec
> Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.88104
> + umask 022
> + cd /tmp/rpmbuild
> + LANG=C
> + export LANG
> + unset DISPLAY
> + : @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
> + : @@@
> + : @@@ kernel version: 2.6.9-22.EL
> + : @@@ base kernel version:2.6.9-22.EL
> + : @@@ kernel modules dir: /lib/modules/2.6.9-22.EL
> + : @@@ kernel source dir: /lib/modules/2.6.9-22.EL/build
> + : @@@ kernel type: up
> + : @@@ PAM modules dir: /lib64/security
> + : @@@ build userspace: 1
> + : @@@ build modules: 1
> + : @@@ arch: x86_64
> + : @@@ target cpu: x86_64
> + : @@@
> + : @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
>
>
> I note the kernel modules dir and kernel source dir output.
>
> The resulting openafs-kernel RPM contained the following:
>
> -rwxr--r-- 1 root root 1081624 Nov 1 14:20
> /lib/modules/2.6.9-22.EL/kernel/fs/openafs/openafs.ko
>
> Again, I feel very strongly that this RPM should contain UP, SMP, and
> any other "standard" kernel module.
For Linux 2.6 you cannot do that. For a 2.6 kernel you ABSOLUTELY MUST
build the kernel module against the ACTUAL header files for /that particular
kernel/. In other words, there is exactly a one-to-one mapping from
/lib/modules/xxx/build to kernel module. You CANNOT build multiple
modules from one kernel source tree.
Now, having said that, I wrote a script that does a full build of modules
for all kernels. If you run /usr/src/redhat/SOURCES/openafs-buildall.sh
it will build the base module and then all the kernel modules for your
particular system. For 2.6 it looks in /usr/src/kernels/ for the set of
kernel headers, and it will build a kernel module RPM for each kernel
it finds.
Just to be clear, for 2.6 kernels you CANNOT build multiple modules from
a single source tree.
In your case, `uname -a` is reporting a UP kernel, so it's building a
UP module. This is not a bug.
As for having all kernel modules in one RPM, I've said before and I'll say
again that I'm willing to accept a patch that reinstates that functionality
based on some --with XXX value, but I have no intention of actually
implementing or supporting such a feature myself. I personally believe that
the one-RPM-per-kernel is the right approach for the general population.
-derek
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL-IA N1NWH
warlord@MIT.EDU PGP key available