[lustre-discuss] Building Lustre client from Git pull fails when --with-o2ib=no parameter specified to ./configure

Justin Miller jmiller at cray.com
Fri Jul 17 10:11:13 PDT 2015


In fact Cray has observed this particular build failure. There is a Jira issue and proposed patch for the implicit declaration of ‘futimes’

https://jira.hpdd.intel.com/browse/LU-6835

- Justin Miller

From: lustre-discuss on behalf of Patrick Farrell
Date: Friday, July 17, 2015 at 11:20 AM
To: "lustre-discuss at lists.lustre.org<mailto:lustre-discuss at lists.lustre.org>"
Subject: Re: [lustre-discuss] Building Lustre client from Git pull fails when --with-o2ib=no parameter specified to ./configure

You're building lfs with warnings and -Werror turned up. These may be default flags on your system, but it can be problematic, as Intel's build process tends not to do this.  (Cray has occasional issues with this, as we build our userspace tools with different compiler flags than Intel does)

- Patrick
On 07/17/2015 11:14 AM, Sean Caron wrote:
I was using a Git pull from Intel circa a few weeks ago ... same code base I had used to build Server on CentOS 7.

I tried a fresh Git pull just from yesterday and the build failed with an actual compilation error:

gcc -DHAVE_CONFIG_H -I. -I../..   -include /usr/src/lustre-release/config.h -I/usr/src/lustre-release/libcfs/include -I/usr/src/lustre-release/lnet/include -I/usr/src/lustre-release/lustre/include -D_FORTIFY_SOURCE=2 -fPIC -D_GNU_SOURCE -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 -DLUSTRE_UTILS=1 -Wall -g -O2 -O2 -Werror -c lustre_lfsck.c
lfs.c: In function ‘migrate_copy_timestamps’:
lfs.c:481:2: error: implicit declaration of function ‘futimes’ [-Werror=implicit-function-declaration]
  return futimes(fdv, tv);
  ^
gcc -DHAVE_CONFIG_H -I. -I../..   -include /usr/src/lustre-release/config.h -I/usr/src/lustre-release/libcfs/include -I/usr/src/lustre-release/lnet/include -I/usr/src/lustre-release/lustre/include -D_FORTIFY_SOURCE=2 -fPIC -D_GNU_SOURCE -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 -DLUSTRE_UTILS=1 -Wall -g -O2 -O2 -Werror -c obd.c
gcc -DHAVE_CONFIG_H -I. -I../..   -include /usr/src/lustre-release/config.h -I/usr/src/lustre-release/libcfs/include -I/usr/src/lustre-release/lnet/include -I/usr/src/lustre-release/lustre/include -D_FORTIFY_SOURCE=2 -fPIC -D_GNU_SOURCE -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 -DLUSTRE_UTILS=1 -Wall -g -O2 -O2 -Werror -c lustre_cfg.c
cc1: all warnings being treated as errors
make[6]: *** [lfs.o] Error 1
make[6]: *** Waiting for unfinished jobs....
make[6]: Leaving directory `/usr/src/lustre-release/lustre/utils'
make[5]: *** [all-recursive] Error 1
make[5]: Leaving directory `/usr/src/lustre-release/lustre/utils'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/usr/src/lustre-release/lustre'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/usr/src/lustre-release'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/usr/src/lustre-release'
make[1]: *** [build-stamp] Error 2
make[1]: Leaving directory `/usr/src/lustre-release'
dpkg-buildpackage: error: debian/rules build gave error exit status 2
make: *** [debs] Error 2

So looks like some issues there ... I will wait a few days and hopefully that gets resolved and I can try again.

Best,

Sean


On Wed, Jul 15, 2015 at 6:10 PM, Christopher J. Morrone <morrone2 at llnl.gov<mailto:morrone2 at llnl.gov>> wrote:
Hmmm.  There are certainly some puzzling things done in the lustre build system around O2IB options and debian packaging.  Sorry, don't think I'll be of much help on this one.

chris


On 07/15/2015 02:25 PM, Christopher J. Morrone wrote:
What version of Lustre are you using?  I don't can't reproduce your
problem on master.

Chris

On 07/15/2015 02:10 PM, Christopher J. Morrone wrote:
You could try seeing if "--without-o2ib" gets you what you want.  It
might not, but at least it is quick to try.

Chris


On 07/15/2015 01:41 PM, Sean Caron wrote:
Hi all,

Sorry for the cross-post from the Intel Lustre list but hoping I might
get more traction here...

Working with my Git pull of the Intel Lustre codebase from a few weeks
ago, I'm trying to build the client on Ubuntu 12.04 with a house-built
3.4.61 kernel.

Running through the build procedure roughly outlined in bug report
LU-1706 but with some changes since the last time I tried:

# tar xvfp lustre-release.tar
# cd lustre-release
# sh autogen.sh
# ./configure --disable-server --with-o2ib=no
  --with-linux=/usr/src/linux --with-linux-obj=/usr/src/linux
# make debs

Build fails at the module stage with the following error:

configure: error: bad --with-o2ib path
make[2]: *** [kdist_config] Error 1
make[2]: Leaving directory
`/usr/src/lustre-release/debian/tmp/modules-deb/usr_src/modules/lustre'
make[1]: *** [kdist_build] Error 2
make[1]: Leaving directory
`/usr/src/lustre-release/debian/tmp/modules-deb/usr_src/modules/lustre'
BUILD FAILED!
See
/usr/src/lustre-release/debian/tmp/modules-deb/var_cache_modass/lustre.buildlog.3.4.61.1436900735


for details.
make: *** [debs] Error 7

It appears it's not recognizing --with-o2ib=no as outlined in
./configure --help or i.e. bug report LU-5953.

If I take that out, build chokes because it can't find Infiniband stuff
which I suppose is to be expected since this site is not using
Infiniband.

I've tried moving the parameter around towards the beginning of the
./configure parameter list or towards the end and it doesn't seem to
make a difference.

Noting the place where the install hung; I went in and modified line 338
in file:

lustre-release/debian/rules

to completely remove $(IB_OPTIONS) from the ./configure statement on
that line; the build still fails, but in a way that's not really clear
what the cause is:

export KPKG_DEST_DIR="$(pwd)/.." && \
version=$(sed -ne '1s/^lustre (\(.*\)).*$/\1/p' debian/changelog) && \
rm -rf debian/tmp/modules-deb && \
mkdir debian/tmp/modules-deb && \
pushd debian/tmp/modules-deb && \
dpkg -x ../../../../lustre-source_${version}_all.deb $(pwd) && \
mkdir usr_src/ && \
tar -C usr_src/ -xjf usr/src/lustre.tar.bz2 && \
chmod 755 usr_src/modules/lustre/debian/rules && \
mkdir -p usr_share_modass && \
ln -s /usr/share/modass/include/ usr_share_modass/ && \
ln -s /usr/share/modass/packages/ usr_share_modass/ && \
echo "lustre" > usr_share_modass/compliant.list && \
export MA_DIR=$(pwd)/usr_share_modass && \
KVERS=${KVERS:-} && \
[ "x" != "x" ] && \
export IB_OPTIONS="--with-o2ib=" && \
export KSRC_TREE= && \
KSRC=${KSRC:-} && \
m-a build ${KSRC:+-k $KSRC} ${KVERS:+-l $KVERS} -i -u $(pwd) lustre && \
popd && \
VER=$(sed -ne '1s/^lustre (\(.*-[0-9][0-9]*\)).*$/\1/p'
debian/changelog) && \
mkdir -p debs && \
mv ../linux-patch-lustre_${VER}_all.deb ../lustre-dev_${VER}_*.deb \
    ../lustre-source_${VER}_all.deb ../lustre-tests_${VER}_*.deb \
    ../lustre-utils_${VER}_*.deb ../lustre_${VER}.dsc \
    ../lustre_${VER}_*.changes ../lustre_${VER}.tar.gz \
    ../lustre-client-modules-${KVERS}_${VER}_*.deb debs/
/usr/src/lustre-release/debian/tmp/modules-deb /usr/src/lustre-release
make: *** [debs] Error 1

Is this a legit bug? Am I missing something here? Maybe resolved if I do
a fresh Git pull? Any suggestions would be a huge help.

Thanks,

Sean


_______________________________________________
lustre-discuss mailing list
lustre-discuss at lists.lustre.org<mailto:lustre-discuss at lists.lustre.org>
http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org


.


.


_______________________________________________
lustre-discuss mailing list
lustre-discuss at lists.lustre.org<mailto:lustre-discuss at lists.lustre.org>
http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org




_______________________________________________
lustre-discuss mailing list
lustre-discuss at lists.lustre.org<mailto:lustre-discuss at lists.lustre.org>http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lustre.org/pipermail/lustre-discuss-lustre.org/attachments/20150717/9609179c/attachment-0001.htm>


More information about the lustre-discuss mailing list