Dear Martin, Tommy,
With your pointers I was able to properly compile and install the 1.8.9 client on EL6.6.
- Required were only Martin's patch and
http://review.whamcloud.com/8607 (as mentioned
previously).
- Only one inconsequential error occurred which thwarts building a lustre-iokit RPM (not
needed).
What threw me off was that I had been working off the 1.8.9-wc1 SRPM sources exclusively
which do not contain autogen.sh. I was able to compile this tree eventually after
scripting a change of all occurrences of include/autoconf.h into include/kconfig.h, but
surely that was not kosher.
I note that the GIT sources for 1.8.9 go a little further than the SRPM tree:
$ diff {lustre-1.8.9-srpm,git-b1_8}/lustre/ChangeLog
4,5c4,5
< 2.6.18-348.1.1.el5 (RHEL 5)
< 2.6.32-279.19.1.el6 (RHEL 6) - patchless client only
---
> 2.6.18-348.3.1.el5 (RHEL 5)
> 2.6.32-358.2.1.el6 (RHEL 6) - patchless client only
Thank you for taking the time to point out the correct approach.
With best regards,
--
Michael Sternberg, Ph.D.
Center for Nanoscale Materials
Argonne National Laboratory
On 2014-11-24, at 10:06 , Martin Hecht <hecht(a)hlrs.de> wrote:
Hi Michael,
For patches which modify the autoconf-inputs you have to run the
autogen.sh right after the patches are applied, so that the configure
script itself is re-generated. I do it here in the spec-file:
# Set an explicit path to our Linux tree, if we can.
cd $RPM_BUILD_DIR/lustre-%{version}
sh autogen.sh # <--- run the autoconf stuff to re-generate the
configure scripts
# override %optflags so that the vendor's overzealous flags don't create
# build failures
%define optflags -g -O2 -Werror
CONFIGURE_ARGS="%{?configure_args} --with-release=%release"
I assume that this is the main point. I set kversion, kdir, and kobjdir
manually at the top of the spec file (but calling rpmbuild with
appropriate defines should be fine as well).
I have also added the following line:
%{!?is_client: %define is_client 1}
to avoid the complains about the unpatched kernel.