[Lustre-discuss] Building Lustre client on Linux kernel 3.14

Peng Tao bergwolf at gmail.com
Sat May 31 09:56:28 PDT 2014


On Thu, May 29, 2014 at 6:15 PM, Bartek <bgrinning at gmail.com> wrote:
> Hello,
>
> I'm trying to build Lustre client on Debian Wheezy with kernel
> 3.14-0.bpo.1-amd64. Here are my build steps are:
> sh ./autogen.sh
> sudo ./configure --disable-server
> sudo dpkg-buildpackage
> sudo dpkg -i lustre-source_2.5.59.0-32-gb265903_all.deb
> sudo m-a -t build lustre
> I also patched debian/rules to: ./configure --disable-server
> --disable-ldfiskfs
>
> I'm aware of changes needed for latest kernels (3.12-14):
> https://jira.hpdd.intel.com/browse/LU-4416
> https://jira.hpdd.intel.com/browse/LU-4993
>
> So far, I applied the shrinker patch locally:
> http://review.whamcloud.com/#/c/9300 and that allowed me to get past the
> shrinker compilation error. But now I'm running into another error (error:
> "CONFIG_LNET_MAX_PAYLOAD" redefined) for which I didn't find any mentions in
> Jira:
>
> ...
> echo "#define LUSTRE_RELEASE 3.14_0.bpo.1_amd64_gb265903" >> tmpver
> cmp -s ../lustre/include/lustre/lustre_build_version.h tmpver > tmpdiff 2>
> /dev/null &&   \
>                 rm -f tmpver tmpdiff ||         \
>     mv -f tmpver ../lustre/include/lustre/lustre_build_version.h
> make[5]: Leaving directory `/usr/src/modules/lustre/lustre'
> /usr/bin/make CC="gcc"  -C /lib/modules/3.14-0.bpo.1-amd64/build       \
>   -f /usr/src/modules/lustre/build/Makefile
> LUSTRE_LINUX_CONFIG=/lib/modules/3.14-0.bpo.1-amd64/build/.config \
>   LINUXINCLUDE='-I$(srctree)/arch/$(SRCARCH)/include
> -I$(srctree)/arch/$(SRCARCH)/include/generated -Iinclude $(if
> $(KBUILD_SRC),-Iinclude2 -I$(srctree)/include)
> -I$(srctree)/arch/$(SRCARCH)/include/uapi
> -Iarch/$(SRCARCH)/include/generated/uapi -I$(srctree)/include/uapi
> -Iinclude/generated/uapi -include
> /lib/modules/3.14-0.bpo.1-amd64/source/include/linux/kconfig.h' \
>   M=/usr/src/modules/lustre -o tmp_include_depends -o scripts -o \
>   include/config/MARKER modules
> make[5]: Entering directory `/usr/src/linux-headers-3.14-0.bpo.1-amd64'
>   CC [M]  /usr/src/modules/lustre/libcfs/libcfs/linux/linux-tracefile.o
> In file included from <command-line>:0:0:
> /usr/src/modules/lustre/config.h:26:0: error: "CONFIG_LNET_MAX_PAYLOAD"
> redefined [-Werror]
> In file included from
> /lib/modules/3.14-0.bpo.1-amd64/source/include/linux/kconfig.h:4:0,
It seems that you have enabled CONFIG_LUSTRE_FS in your local kernel
config which would then define CONFIG_LNET_MAX_PAYLOAD on its own. The
easy workaround is to disable in-kernel client in your kernel and
rebuild.
I am not sure if it makes sense to support such use case as there
would be two sets of client modules for the same kernel.

Cheers,
Tao



More information about the lustre-discuss mailing list