Details
-
Bug
-
Resolution: Fixed
-
Major
-
Lustre 2.8.0
-
None
-
SLES 11 SP4
-
3
-
9223372036854775807
Description
I am trying to build Lustre2.8 on sles11 Sp4 but it fails with dependency issues for rst2man/python-docutils.
I tried Suse repo but could not find any python-docutils for SLES11.
I then tried to install python-docutils-0.9.1-6.1.noarch.rpm which is what I used to resolve same issue on RHEL. However it resulted in failure with dependency on python(abi) = 2.6 and rpmlib(FileDigests) <= 4.6.0-1. These 2 are again not found in SLES11 repro.
I also tried -disable-doc (./configure --disable-doc --with-linux=/usr/src/linux-3.0.101-68_lustre-with-o2ib=/usr/src/compat-rdma) but still the build fails with same reason.
I also went through Bug LU-6987, LU-6437, LU-6853.
Anything else that you can suggest ?
[ hdtsfna2361 20160303_0104 lustre-2.8.0]# ./configure -with-linux=/usr/src/linux-3.0.101-68_lustre-with-o2ib=/usr/src/compat-rdma
checking build system type... x86_64-suse-linux-gnu
checking host system type... x86_64-suse-linux-gnu
checking target system type... x86_64-suse-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking how to create a ustar tar archive... gnutar
checking whether to enable maintainer-specific portions of Makefiles... no
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/x86_64-suse-linux/bin/ld
checking if the linker (/usr/x86_64-suse-linux/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/x86_64-suse-linux/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for ar... ar
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/x86_64-suse-linux/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking dependency style of gcc... gcc3
checking for rpmbuild... /usr/bin/rpmbuild
configure: Lustre base checks
==============================================================================
checking whether to configure just enough for make dist... no
checking if this distro uses dpkg... no
checking for buildid...
configure: WARNING:
FIXME: I don't know how to deal with source trees outside of git that
don't have a META file. Not setting a buildid.
checking for ranlib... (cached) ranlib
checking for ld... /usr/x86_64-suse-linux/bin/ld -m elf_x86_64
checking for objdump... (cached) objdump
checking for strip... (cached) strip
checking size of unsigned long long... 8
checking whether to use OSD addon... no
checking whether to build Lustre docs... no
checking whether to build Lustre manpages... yes
checking for rst2man... no
checking for rst2man.py... no
configure: error: rst2man is needed to build the man pages. Install python-docutils.
[ hdtsfna2361 20160303_0121 lustre-2.8.0]# rpm -ivh /root/lustre2.8/python-docutils-0.9.1-6.1.noarch.rpm
warning: /root/lustre2.8/python-docutils-0.9.1-6.1.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 4dc87421
error: Failed dependencies:
python(abi) = 2.6 is needed by python-docutils-0.9.1-6.1.noarch
rpmlib(FileDigests) <= 4.6.0-1 is needed by python-docutils-0.9.1-6.1.noarch
Attachments
Activity
I applied the patch but the "make rpm" failed with below error , and then made changes and generated patch LU-7841_vivek.patch.
make[3]: Entering directory `/usr/src/lustre-2.8.0/lustre/obdclass/linux'
make[3]: Leaving directory `/usr/src/lustre-2.8.0/lustre/obdclass/linux'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/obdclass'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/ldlm'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/ldlm'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/ptlrpc'
list='gss'; for subdir in $list; do \
if test "$subdir" = .; then :; else \
test -d "/usr/src/lustre-2.8.0/lustre-2.8.0/lustre/ptlrpc/$subdir" \
/bin/mkdir -p "/usr/src/lustre-2.8.0/lustre-2.8.0/lustre/ptlrpc/$subdir" \ |
---|
exit 1; \ distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0/lustre/ptlrpc && pwd`; \ top_distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0 && pwd`; \ (cd $subdir && \ make \ top_distdir="$top_distdir" \ distdir="$distdir/$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ |
exit 1; \ fi; \ done make[3]: Entering directory `/usr/src/lustre-2.8.0/lustre/ptlrpc/gss' make[3]: Leaving directory `/usr/src/lustre-2.8.0/lustre/ptlrpc/gss' make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/ptlrpc' make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/obdecho' make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/obdecho' make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/mgc' make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/mgc' make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/fid' make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/fid' make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/fld' make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/fld' make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/doc' make[2]: *** No rule to make target `lustreapi.rst', needed by `distdir'. Stop. make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/doc' make[1]: *** [distdir] Error 1 make[1]: Leaving directory `/usr/src/lustre-2.8.0/lustre' make: *** [distdir] Error 1 |
The patch I generated is shown below. With this change I was able to complete Make rpms successfully.
Let me know if this looks right ?
[ hdtsfna2381 20160314_0509 doc]# cat LU-7841_vivek.patch
— Makefile.orig 2016-03-14 04:52:03.000000000 -0400
+++ Makefile 2016-03-14 04:54:50.000000000 -0400
@@ -332,9 +332,7 @@
- Generated manpages with their sources in ReST. Generated files are
- not part of the dist target; they may or may not have been
- generated (see --disable-manpages option).
-RST_MANFILES = lustreapi.rst llapi_hsm_action_begin.rst \
- llapi_hsm_copytool_register.rst
-
+RST_MANFILES =
GEN_MANFILES = lustreapi.7 llapi_hsm_action_begin.3 \
llapi_hsm_copytool_register.3
— Makefile.in.orig 2016-03-14 04:52:09.000000000 -0400
+++ Makefile.in 2016-03-14 04:54:43.000000000 -0400
@@ -332,9 +332,7 @@
- Generated manpages with their sources in ReST. Generated files are
- not part of the dist target; they may or may not have been
- generated (see --disable-manpages option).
-RST_MANFILES = lustreapi.rst llapi_hsm_action_begin.rst \
- llapi_hsm_copytool_register.rst
-
+RST_MANFILES =
GEN_MANFILES = lustreapi.7 llapi_hsm_action_begin.3 \
llapi_hsm_copytool_register.3
[ hdtsfna2381 20160314_0513 doc]#
apply the patch with the 'patch' command.
in the root of your lustre source source tree do:
patch -p1 -i lu7841.patch
'lu7841.patch' is attached.
Then just build as you normally would.
The patch is being reviewed and tested – we will attach it to the ticket when it is ready.
Thanks,
~ jfc.
Hi John,
I am not sure about location to fetch the patch. Request you to please attach it to this ticket.
Also please provide the steps to patch.
Thanks
Vivek Rai
Hello Vivek,
Can you see the patch that Bob has uploaded? If not, we can attach it to the ticket.
Thanks,
~ jfc.
Bob Glossman (bob.glossman@intel.com) uploaded a new patch: http://review.whamcloud.com/18792
Subject: LU-7841 doc: stop using python-docutils
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 828ab1effdbedea1eb065262b366a2ad47afe1f6
since python-docutils is problematic in some linux distros I'm going to follow Andreas' suggestion. I will work up a patch to convert the handful of .rst format man page sources back into the more traditional nroff style man page sources. This will eliminate the need for python-docutils at all. Will remove it from config & build files.
Pretty easy to do since there is only a very small set of manpage sources currently in .rst format. The majority of manpages have always been nroff style.
I was able to configure using --disable-manpages , however the subsequent step of make rpms failed citing python-docutils.
---> configure command used
[ hdtsfna2381 20160304_0036 lustre-2.8.0]# ./configure --disable-manpages --with-linux=/usr/src/linux-3.0.101-68_lustre --with-o2ib=/usr/src/compat-rdma --with-linux-obj=/usr/src/linux-3.0.101-68_lustre-obj/x86_64/default/
RESULT: successful
------> make
RESULT:Successfull
-------> Make rpms
RESULT: Failed with below error
rpmbuilddir=`mktemp t -d rpmbuild-lustre$USER-XXXXXXXX`; \
make \
rpmbuilddir="$rpmbuilddir" rpm-local || exit 1; \
/usr/bin/rpmbuild \
--define "_tmppath $rpmbuilddir/TMP" \
--define "_topdir $rpmbuilddir" \
--define "build_src_rpm 1" \
--define "dist %
-ts lustre-2.8.0.tar.gz || exit 1; \
cp $rpmbuilddir/SRPMS/lustre-2.8.0-*.src.rpm . || exit 1; \
rm -rf $rpmbuilddir
make[1]: Entering directory `/usr/src/lustre-2.8.0'
make[1]: Leaving directory `/usr/src/lustre-2.8.0'
error: Failed build dependencies:
python-docutils is needed by lustre-2.8.0-1.x86_64
make: *** [srpm] Error 1
COMPLETE output of 'make rpms'
[ hdtsfna2381 20160304_0042 lustre-2.8.0]# make rpms
{ test ! -d lustre-2.8.0 || { find lustre-2.8.0 -type d ! -perm -200 -exec chmod u+w {} ';' && rm -fr lustre-2.8.0; }; }
test -d lustre-2.8.0 || mkdir lustre-2.8.0
list='ldiskfs lustre-iokit libcfs snmp lnet lustre config contrib'; for subdir in $list; do \
if test "$subdir" = .; then :; else \
test -d "lustre-2.8.0/$subdir" \
|| /bin/mkdir -p "lustre-2.8.0/$subdir" \
|| exit 1; \
distdir=`CDPATH="${ZSH_VERSION+.}:" && cd lustre-2.8.0 && pwd`; \
top_distdir=`CDPATH="${ZSH_VERSION+.}:" && cd lustre-2.8.0 && pwd`; \
(cd $subdir && \
make \
top_distdir="$top_distdir" \
distdir="$distdir/$subdir" \
am__remove_distdir=: \
am__skip_length_check=: \
distdir) \
|| exit 1; \
fi; \
done
make[1]: Entering directory `/usr/src/lustre-2.8.0/ldiskfs'
make[1]: Leaving directory `/usr/src/lustre-2.8.0/ldiskfs'
make[1]: Entering directory `/usr/src/lustre-2.8.0/lustre-iokit'
list='obdfilter-survey sgpdd-survey ost-survey ior-survey mds-survey stats-collect'; for subdir in $list; do \
if test "$subdir" = .; then :; else \
test -d "/usr/src/lustre-2.8.0/lustre-2.8.0/lustre-iokit/$subdir" \
|| /bin/mkdir -p "/usr/src/lustre-2.8.0/lustre-2.8.0/lustre-iokit/$subdir" \
|| exit 1; \
distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0/lustre-iokit && pwd`; \
top_distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0 && pwd`; \
(cd $subdir && \
make \
top_distdir="$top_distdir" \
distdir="$distdir/$subdir" \
am__remove_distdir=: \
am__skip_length_check=: \
distdir) \
|| exit 1; \
fi; \
done
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre-iokit/obdfilter-survey'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre-iokit/obdfilter-survey'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre-iokit/sgpdd-survey'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre-iokit/sgpdd-survey'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre-iokit/ost-survey'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre-iokit/ost-survey'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre-iokit/ior-survey'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre-iokit/ior-survey'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre-iokit/mds-survey'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre-iokit/mds-survey'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre-iokit/stats-collect'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre-iokit/stats-collect'
make[1]: Leaving directory `/usr/src/lustre-2.8.0/lustre-iokit'
make[1]: Entering directory `/usr/src/lustre-2.8.0/libcfs'
list='libcfs include autoconf'; for subdir in $list; do \
if test "$subdir" = .; then :; else \
test -d "/usr/src/lustre-2.8.0/lustre-2.8.0/libcfs/$subdir" \
|| /bin/mkdir -p "/usr/src/lustre-2.8.0/lustre-2.8.0/libcfs/$subdir" \
|| exit 1; \
distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0/libcfs && pwd`; \
top_distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0 && pwd`; \
(cd $subdir && \
make \
top_distdir="$top_distdir" \
distdir="$distdir/$subdir" \
am__remove_distdir=: \
am__skip_length_check=: \
distdir) \
|| exit 1; \
fi; \
done
make[2]: Entering directory `/usr/src/lustre-2.8.0/libcfs/libcfs'
list='linux util'; for subdir in $list; do \
if test "$subdir" = .; then :; else \
test -d "/usr/src/lustre-2.8.0/lustre-2.8.0/libcfs/libcfs/$subdir" \
|| /bin/mkdir -p "/usr/src/lustre-2.8.0/lustre-2.8.0/libcfs/libcfs/$subdir" \
|| exit 1; \
distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0/libcfs/libcfs && pwd`; \
top_distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0 && pwd`; \
(cd $subdir && \
make \
top_distdir="$top_distdir" \
distdir="$distdir/$subdir" \
am__remove_distdir=: \
am__skip_length_check=: \
distdir) \
|| exit 1; \
fi; \
done
make[3]: Entering directory `/usr/src/lustre-2.8.0/libcfs/libcfs/linux'
make[3]: Leaving directory `/usr/src/lustre-2.8.0/libcfs/libcfs/linux'
make[3]: Entering directory `/usr/src/lustre-2.8.0/libcfs/libcfs/util'
make[3]: Leaving directory `/usr/src/lustre-2.8.0/libcfs/libcfs/util'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/libcfs/libcfs'
make[2]: Entering directory `/usr/src/lustre-2.8.0/libcfs/include'
list='libcfs '; for subdir in $list; do \
if test "$subdir" = .; then :; else \
test -d "/usr/src/lustre-2.8.0/lustre-2.8.0/libcfs/include/$subdir" \
|| /bin/mkdir -p "/usr/src/lustre-2.8.0/lustre-2.8.0/libcfs/include/$subdir" \
|| exit 1; \
distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0/libcfs/include && pwd`; \
top_distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0 && pwd`; \
(cd $subdir && \
make \
top_distdir="$top_distdir" \
distdir="$distdir/$subdir" \
am__remove_distdir=: \
am__skip_length_check=: \
distdir) \
|| exit 1; \
fi; \
done
make[3]: Entering directory `/usr/src/lustre-2.8.0/libcfs/include/libcfs'
list='linux util'; for subdir in $list; do \
if test "$subdir" = .; then :; else \
test -d "/usr/src/lustre-2.8.0/lustre-2.8.0/libcfs/include/libcfs/$subdir" \
|| /bin/mkdir -p "/usr/src/lustre-2.8.0/lustre-2.8.0/libcfs/include/libcfs/$subdir" \
|| exit 1; \
distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0/libcfs/include/libcfs && pwd`; \
top_distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0 && pwd`; \
(cd $subdir && \
make \
top_distdir="$top_distdir" \
distdir="$distdir/$subdir" \
am__remove_distdir=: \
am__skip_length_check=: \
distdir) \
|| exit 1; \
fi; \
done
make[4]: Entering directory `/usr/src/lustre-2.8.0/libcfs/include/libcfs/linux'
make[4]: Leaving directory `/usr/src/lustre-2.8.0/libcfs/include/libcfs/linux'
make[4]: Entering directory `/usr/src/lustre-2.8.0/libcfs/include/libcfs/util'
make[4]: Leaving directory `/usr/src/lustre-2.8.0/libcfs/include/libcfs/util'
make[3]: Leaving directory `/usr/src/lustre-2.8.0/libcfs/include/libcfs'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/libcfs/include'
make[2]: Entering directory `/usr/src/lustre-2.8.0/libcfs/autoconf'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/libcfs/autoconf'
make[1]: Leaving directory `/usr/src/lustre-2.8.0/libcfs'
make[1]: Entering directory `/usr/src/lustre-2.8.0/snmp'
list='autoconf'; for subdir in $list; do \
if test "$subdir" = .; then :; else \
test -d "/usr/src/lustre-2.8.0/lustre-2.8.0/snmp/$subdir" \
|| /bin/mkdir -p "/usr/src/lustre-2.8.0/lustre-2.8.0/snmp/$subdir" \
|| exit 1; \
distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0/snmp && pwd`; \
top_distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0 && pwd`; \
(cd $subdir && \
make \
top_distdir="$top_distdir" \
distdir="$distdir/$subdir" \
am__remove_distdir=: \
am__skip_length_check=: \
distdir) \
|| exit 1; \
fi; \
done
make[2]: Entering directory `/usr/src/lustre-2.8.0/snmp/autoconf'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/snmp/autoconf'
make[1]: Leaving directory `/usr/src/lustre-2.8.0/snmp'
make[1]: Entering directory `/usr/src/lustre-2.8.0/lnet'
list='lnet klnds selftest doc utils include autoconf'; for subdir in $list; do \
if test "$subdir" = .; then :; else \
test -d "/usr/src/lustre-2.8.0/lustre-2.8.0/lnet/$subdir" \
|| /bin/mkdir -p "/usr/src/lustre-2.8.0/lustre-2.8.0/lnet/$subdir" \
|| exit 1; \
distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0/lnet && pwd`; \
top_distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0 && pwd`; \
(cd $subdir && \
make \
top_distdir="$top_distdir" \
distdir="$distdir/$subdir" \
am__remove_distdir=: \
am__skip_length_check=: \
distdir) \
|| exit 1; \
fi; \
done
make[2]: Entering directory `/usr/src/lustre-2.8.0/lnet/lnet'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lnet/lnet'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lnet/klnds'
list='socklnd gnilnd o2iblnd'; for subdir in $list; do \
if test "$subdir" = .; then :; else \
test -d "/usr/src/lustre-2.8.0/lustre-2.8.0/lnet/klnds/$subdir" \
|| /bin/mkdir -p "/usr/src/lustre-2.8.0/lustre-2.8.0/lnet/klnds/$subdir" \
|| exit 1; \
distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0/lnet/klnds && pwd`; \
top_distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0 && pwd`; \
(cd $subdir && \
make \
top_distdir="$top_distdir" \
distdir="$distdir/$subdir" \
am__remove_distdir=: \
am__skip_length_check=: \
distdir) \
|| exit 1; \
fi; \
done
make[3]: Entering directory `/usr/src/lustre-2.8.0/lnet/klnds/socklnd'
make[3]: Leaving directory `/usr/src/lustre-2.8.0/lnet/klnds/socklnd'
make[3]: Entering directory `/usr/src/lustre-2.8.0/lnet/klnds/gnilnd'
make[3]: Leaving directory `/usr/src/lustre-2.8.0/lnet/klnds/gnilnd'
make[3]: Entering directory `/usr/src/lustre-2.8.0/lnet/klnds/o2iblnd'
make[3]: Leaving directory `/usr/src/lustre-2.8.0/lnet/klnds/o2iblnd'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lnet/klnds'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lnet/selftest'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lnet/selftest'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lnet/doc'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lnet/doc'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lnet/utils'
list='lnetconfig'; for subdir in $list; do \
if test "$subdir" = .; then :; else \
test -d "/usr/src/lustre-2.8.0/lustre-2.8.0/lnet/utils/$subdir" \
|| /bin/mkdir -p "/usr/src/lustre-2.8.0/lustre-2.8.0/lnet/utils/$subdir" \
|| exit 1; \
distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0/lnet/utils && pwd`; \
top_distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0 && pwd`; \
(cd $subdir && \
make \
top_distdir="$top_distdir" \
distdir="$distdir/$subdir" \
am__remove_distdir=: \
am__skip_length_check=: \
distdir) \
|| exit 1; \
fi; \
done
make[3]: Entering directory `/usr/src/lustre-2.8.0/lnet/utils/lnetconfig'
make[3]: Leaving directory `/usr/src/lustre-2.8.0/lnet/utils/lnetconfig'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lnet/utils'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lnet/include'
list='lnet'; for subdir in $list; do \
if test "$subdir" = .; then :; else \
test -d "/usr/src/lustre-2.8.0/lustre-2.8.0/lnet/include/$subdir" \
|| /bin/mkdir -p "/usr/src/lustre-2.8.0/lustre-2.8.0/lnet/include/$subdir" \
|| exit 1; \
distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0/lnet/include && pwd`; \
top_distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0 && pwd`; \
(cd $subdir && \
make \
top_distdir="$top_distdir" \
distdir="$distdir/$subdir" \
am__remove_distdir=: \
am__skip_length_check=: \
distdir) \
|| exit 1; \
fi; \
done
make[3]: Entering directory `/usr/src/lustre-2.8.0/lnet/include/lnet'
make[3]: Leaving directory `/usr/src/lustre-2.8.0/lnet/include/lnet'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lnet/include'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lnet/autoconf'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lnet/autoconf'
make[1]: Leaving directory `/usr/src/lustre-2.8.0/lnet'
make[1]: Entering directory `/usr/src/lustre-2.8.0/lustre'
list='include obdclass ldlm ptlrpc obdecho mgc fid fld doc utils tests scripts autoconf contrib conf ost mgs mdt mdd ofd osd-zfs osd-ldiskfs quota osp lod target lfsck mdc lmv llite lov osc'; for subdir in $list; do \
if test "$subdir" = .; then :; else \
test -d "/usr/src/lustre-2.8.0/lustre-2.8.0/lustre/$subdir" \
|| /bin/mkdir -p "/usr/src/lustre-2.8.0/lustre-2.8.0/lustre/$subdir" \
|| exit 1; \
distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0/lustre && pwd`; \
top_distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0 && pwd`; \
(cd $subdir && \
make \
top_distdir="$top_distdir" \
distdir="$distdir/$subdir" \
am__remove_distdir=: \
am__skip_length_check=: \
distdir) \
|| exit 1; \
fi; \
done
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/include'
list='lustre'; for subdir in $list; do \
if test "$subdir" = .; then :; else \
test -d "/usr/src/lustre-2.8.0/lustre-2.8.0/lustre/include/$subdir" \
|| /bin/mkdir -p "/usr/src/lustre-2.8.0/lustre-2.8.0/lustre/include/$subdir" \
|| exit 1; \
distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0/lustre/include && pwd`; \
top_distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0 && pwd`; \
(cd $subdir && \
make \
top_distdir="$top_distdir" \
distdir="$distdir/$subdir" \
am__remove_distdir=: \
am__skip_length_check=: \
distdir) \
|| exit 1; \
fi; \
done
make[3]: Entering directory `/usr/src/lustre-2.8.0/lustre/include/lustre'
make[3]: Leaving directory `/usr/src/lustre-2.8.0/lustre/include/lustre'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/include'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/obdclass'
list='linux'; for subdir in $list; do \
if test "$subdir" = .; then :; else \
test -d "/usr/src/lustre-2.8.0/lustre-2.8.0/lustre/obdclass/$subdir" \
|| /bin/mkdir -p "/usr/src/lustre-2.8.0/lustre-2.8.0/lustre/obdclass/$subdir" \
|| exit 1; \
distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0/lustre/obdclass && pwd`; \
top_distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0 && pwd`; \
(cd $subdir && \
make \
top_distdir="$top_distdir" \
distdir="$distdir/$subdir" \
am__remove_distdir=: \
am__skip_length_check=: \
distdir) \
|| exit 1; \
fi; \
done
make[3]: Entering directory `/usr/src/lustre-2.8.0/lustre/obdclass/linux'
make[3]: Leaving directory `/usr/src/lustre-2.8.0/lustre/obdclass/linux'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/obdclass'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/ldlm'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/ldlm'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/ptlrpc'
list='gss'; for subdir in $list; do \
if test "$subdir" = .; then :; else \
test -d "/usr/src/lustre-2.8.0/lustre-2.8.0/lustre/ptlrpc/$subdir" \
|| /bin/mkdir -p "/usr/src/lustre-2.8.0/lustre-2.8.0/lustre/ptlrpc/$subdir" \
|| exit 1; \
distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0/lustre/ptlrpc && pwd`; \
top_distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0 && pwd`; \
(cd $subdir && \
make \
top_distdir="$top_distdir" \
distdir="$distdir/$subdir" \
am__remove_distdir=: \
am__skip_length_check=: \
distdir) \
|| exit 1; \
fi; \
done
make[3]: Entering directory `/usr/src/lustre-2.8.0/lustre/ptlrpc/gss'
make[3]: Leaving directory `/usr/src/lustre-2.8.0/lustre/ptlrpc/gss'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/ptlrpc'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/obdecho'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/obdecho'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/mgc'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/mgc'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/fid'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/fid'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/fld'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/fld'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/doc'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/doc'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/utils'
list='gss'; for subdir in $list; do \
if test "$subdir" = .; then :; else \
test -d "/usr/src/lustre-2.8.0/lustre-2.8.0/lustre/utils/$subdir" \
|| /bin/mkdir -p "/usr/src/lustre-2.8.0/lustre-2.8.0/lustre/utils/$subdir" \
|| exit 1; \
distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0/lustre/utils && pwd`; \
top_distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0 && pwd`; \
(cd $subdir && \
make \
top_distdir="$top_distdir" \
distdir="$distdir/$subdir" \
am__remove_distdir=: \
am__skip_length_check=: \
distdir) \
|| exit 1; \
fi; \
done
make[3]: Entering directory `/usr/src/lustre-2.8.0/lustre/utils/gss'
make[3]: Leaving directory `/usr/src/lustre-2.8.0/lustre/utils/gss'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/utils'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/tests'
list='mpi'; for subdir in $list; do \
if test "$subdir" = .; then :; else \
test -d "/usr/src/lustre-2.8.0/lustre-2.8.0/lustre/tests/$subdir" \
|| /bin/mkdir -p "/usr/src/lustre-2.8.0/lustre-2.8.0/lustre/tests/$subdir" \
|| exit 1; \
distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0/lustre/tests && pwd`; \
top_distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0 && pwd`; \
(cd $subdir && \
make \
top_distdir="$top_distdir" \
distdir="$distdir/$subdir" \
am__remove_distdir=: \
am__skip_length_check=: \
distdir) \
|| exit 1; \
fi; \
done
make[3]: Entering directory `/usr/src/lustre-2.8.0/lustre/tests/mpi'
make[3]: Leaving directory `/usr/src/lustre-2.8.0/lustre/tests/mpi'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/tests'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/scripts'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/scripts'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/autoconf'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/autoconf'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/contrib'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/contrib'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/conf'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/conf'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/ost'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/ost'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/mgs'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/mgs'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/mdt'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/mdt'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/mdd'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/mdd'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/ofd'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/ofd'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/osd-zfs'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/osd-zfs'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/osd-ldiskfs'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/osd-ldiskfs'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/quota'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/quota'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/osp'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/osp'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/lod'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/lod'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/target'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/target'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/lfsck'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/lfsck'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/mdc'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/mdc'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/lmv'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/lmv'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/llite'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/llite'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/lov'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/lov'
make[2]: Entering directory `/usr/src/lustre-2.8.0/lustre/osc'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/lustre/osc'
make[1]: Leaving directory `/usr/src/lustre-2.8.0/lustre'
make[1]: Entering directory `/usr/src/lustre-2.8.0/config'
make[1]: Leaving directory `/usr/src/lustre-2.8.0/config'
make[1]: Entering directory `/usr/src/lustre-2.8.0/contrib'
list='lbuild scripts'; for subdir in $list; do \
if test "$subdir" = .; then :; else \
test -d "/usr/src/lustre-2.8.0/lustre-2.8.0/contrib/$subdir" \
|| /bin/mkdir -p "/usr/src/lustre-2.8.0/lustre-2.8.0/contrib/$subdir" \
|| exit 1; \
distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0/contrib && pwd`; \
top_distdir=`CDPATH="${ZSH_VERSION+.}:" && cd /usr/src/lustre-2.8.0/lustre-2.8.0 && pwd`; \
(cd $subdir && \
make \
top_distdir="$top_distdir" \
distdir="$distdir/$subdir" \
am__remove_distdir=: \
am__skip_length_check=: \
distdir) \
|| exit 1; \
fi; \
done
make[2]: Entering directory `/usr/src/lustre-2.8.0/contrib/lbuild'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/contrib/lbuild'
make[2]: Entering directory `/usr/src/lustre-2.8.0/contrib/scripts'
make[2]: Leaving directory `/usr/src/lustre-2.8.0/contrib/scripts'
make[1]: Leaving directory `/usr/src/lustre-2.8.0/contrib'
make \
top_distdir="lustre-2.8.0" distdir="lustre-2.8.0" \
dist-hook
make[1]: Entering directory `/usr/src/lustre-2.8.0'
find lustre-2.8.0 -name .deps -o \
-name CVS -o \
-name .svn -o \
-name .git -o \
-name .#* -exec rm -rf {} \;
make \
top_distdir="lustre-2.8.0" distdir="lustre-2.8.0" \
module-dist-hook
make[2]: Entering directory `/usr/src/lustre-2.8.0'
make[2]: Leaving directory `/usr/src/lustre-2.8.0'
make[1]: Leaving directory `/usr/src/lustre-2.8.0'
find lustre-2.8.0 -type d ! -perm -755 -exec chmod u+rwx,og+rx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec /bin/sh /usr/src/lustre-2.8.0/config/install-sh -c -m a+r {} {} \; \
|| chmod -R a+r lustre-2.8.0
tardir=lustre-2.8.0 && tar -
{ test ! -d lustre-2.8.0 || { find lustre-2.8.0 -type d ! -perm -200 -exec chmod u+w {} ';' && rm -fr lustre-2.8.0; }; }
rpmbuilddir=`mktemp
make \
rpmbuilddir="$rpmbuilddir" rpm-local || exit 1; \
/usr/bin/rpmbuild \
--define "_tmppath $rpmbuilddir/TMP" \
--define "_topdir $rpmbuilddir" \
--define "build_src_rpm 1" \
--define "dist %{nil}
" \
-ts lustre-2.8.0.tar.gz || exit 1; \
cp $rpmbuilddir/SRPMS/lustre-2.8.0-*.src.rpm . || exit 1; \
rm -rf $rpmbuilddir
make[1]: Entering directory `/usr/src/lustre-2.8.0'
make[1]: Leaving directory `/usr/src/lustre-2.8.0'
error: Failed build dependencies:
python-docutils is needed by lustre-2.8.0-1.x86_64
make: *** [srpm] Error 1
one workaround is just to configure using --disable-manpages.
with no man pages generated, no calls to python-docutils.
We do have versions of python-docutuils on SuSE that we use internally for build purposes. I'm trying to find out where those come from.
no, this isn't correct at all. your patch appears to put back items deliberately removed in the first patch. I suspect you skipped some steps in the build after applying lu7841.patch. You must repeat all the steps including 'sh autopen.sh' and './configure ...'