[OpenAFS] Unable to build user-space RPMs from source RPM (RHEL3, 1.40)

Drew Leske dleske@uvic.ca
Fri, 21 Apr 2006 10:27:44 -0700


Hi all,

Apologies if this has been "asked and answered".  I looked at both the info
and devel lists and didn't see anyone with my problem, nor do I see it
covered in the docs.

We have a cluster based on Red Hat Enterprise Linux 3.  I need to build the
RPMs from the source RPM so as to match up with our kernel--the prebuilt
RPMs typically don't match what we have at the time of install--and building
from source (tarball) isn't an option due to the many machines to which AFS
needs to be deployed.

Last time I did this, it was version 1.2.13 and the procedure was basically:

  # rpm -ivh openafs-1.2.13.src.rpm
  # cd /usr/src/redhat
  # rpmbuild -ba SPECS/openafs-1.2.13.spec
  # cd RPMS/i386
  # rpm -ivh openafs-{,client,compat,devel,kernel}.*.rpm

It looks like the usage of the spec has changed a bit, and now I'm somewhat
lost.  The 'rpmbuild' invocation above failed with:

  Can't exec "aclocal": No such file or directory at
  /usr/share/autoconf/Autom4te/General.pm line 498, <GEN0> line 259.

I learned in another thread that to build the kernel modules successfully
for the i686 CPU I need to do the following:

  # cd /usr/src/redhat
  # rpmbuild -ba --target=i686 SPECS/openafs.spec

This successfully creates the kernel module RPMs:

  #  find RPMS -type f
  RPMS/i686/openafs-kernel-1.4.0-2.4.21_32.EL_1.i686.rpm
  RPMS/i686/openafs-kernel-smp-1.4.0-2.4.21_32.EL_1.i686.rpm
  RPMS/i686/openafs-kernel-hugemem-1.4.0-2.4.21_32.EL_1.i686.rpm

But as you can see, this does not build the rest of the RPMs I expected, and
I can't find out how to do that.  I've looked at the spec file and I've
tried defining "build_userspace" but I get the same error as above, even if
I specify the target.

Any help would be much appreciated.

Thanks in advance,
Drew.

-- 
Drew Leske :: Systems Group/Unix, Computing Services, University of Victoria
  dleske@uvic.ca / +1250 472 5055 (office) / +1250 588 4311 (cel)