[lustre-discuss] Lustre 2.11 lustre-client-dkms error with Oracle Linux and MOFED

Peter Jones pjones at whamcloud.com
Tue Jul 31 09:07:55 PDT 2018


James

2.11 runs on the latest version of RHEL available at the time of its release, which was RHEL 7.4. The latest LTS release (2.10.4) introduces support for RHEL 7.5

Peter

From: lustre-discuss <lustre-discuss-bounces at lists.lustre.org> on behalf of James Burton <jburto2 at g.clemson.edu>
Date: Tuesday, July 31, 2018 at 8:49 AM
To: "lustre-discuss at lists.lustre.org" <lustre-discuss at lists.lustre.org>
Subject: [lustre-discuss] Lustre 2.11 lustre-client-dkms error with Oracle Linux and MOFED

I am trying to install the Lustre 2.11 client on Oracle 7.5.

I am running the Oracle UEK kernel 4.1.12-103.9.4.el7uek.x86_64 with Mellanox OFED drivers MLNX_OFED_LINUX-4.4-1.0.0.0.

When trying to build the lustre client dkms module for lustre 2.11 via the whamcloud repository for for Oracle Linux 7.5, it fails with an error

configure: error: can't compile with OpenIB gen2 headers


I am able to install and run the client successfully using the prebuilt kernel modules with the current RHEL kernel, but I would rather not downgrade to the RHEL kernel, which is based on a much older 3.10 kernel than the UEK kernel.

Is there a patch or workaround available to get the lustre dkms module working on kernel 4.1.12-103.9.4.el7uek.x86_64?

Thanks,

Jim Burton


P.S. Error messages are below.




Error on install:

Loading new lustre-client-2.11.0 DKMS files...
Building for 4.1.12-124.15.4.el7uek.x86_64
Building initial module for 4.1.12-124.15.4.el7uek.x86_64
configure: WARNING: Kernel Distro seems to be neither RedHat, SuSE nor Ubuntu
configure: WARNING: Kernel Distro seems to be neither RedHat, SuSE nor Ubuntu
configure: error: can't compile with OpenIB gen2 headers
Error! Bad return status for module build on kernel: 4.1.12-124.15.4.el7uek.x86_64 (x86_64)
Consult /var/lib/dkms/lustre-client/2.11.0/build/make.log for more information.
warning: %post(lustre-client-dkms-2.11.0-1.el7.noarch) scriptlet failed, exit status 10
Non-fatal POSTIN scriptlet failure in rpm package lustre-client-dkms-2.11.0-1.el7.noarch



Running the build scripts manually gives the following error:


[root at client build]# ./lustre-dkms_pre-build.sh
checking build system type... x86_64-unknown-linux-gnu
... edited for brevity ...

checking if Linux kernel has tunable backoff TCP support... no
checking whether to use Compat RDMA... /usr/bin/ofed_info
yes
checking whether to use any OFED backport headers... no
checking whether to enable OpenIB gen2 support... no
configure: error: can't compile with OpenIB gen2 headers
configure error, check ///build/config.log

The more detailed version of the error message in the config.log shows the following:


configure:17389: checking whether to use Compat RDMA
configure:17481: result: yes
configure:17516: checking whether to use any OFED backport headers
configure:17524: result: no
configure:17533: checking whether to enable OpenIB gen2 support
configure:17581: cp conftest.c build && make -d modules LDFLAGS= LD=/usr/bin/ld -m elf_x86_64 CC=gcc -f /var/lib/dkms/lustre-client/2.11.0/build/build/Makefile LUSTRE_LINUX_CONFIG=/lib/modules/4.1.12-103.9.4.el7uek.x86_64/build/.config LINUXINCLUDE= -include /usr/src/ofa_kernel/default/include/linux/compat-2.6.h -I/usr/src/ofa_kernel/default/include -I/usr/src/ofa_kernel/default/include/uapi -I/lib/modules/4.1.12-103.9.4.el7uek.x86_64/source/arch/x86/include -Iinclude -Iarch/x86/include/generated -I/lib/modules/4.1.12-103.9.4.el7uek.x86_64/source/include -Iinclude2 -I/lib/modules/4.1.12-103.9.4.el7uek.x86_64/source/include/uapi -Iinclude/generated -I/lib/modules/4.1.12-103.9.4.el7uek.x86_64/source/arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I/lib/modules/4.1.12-103.9.4.el7uek.x86_64/source/include/uapi -Iinclude/generated/uapi -include /lib/modules/4.1.12-103.9.4.el7uek.x86_64/source/include/linux/kconfig.h -o tmp_include_depends -o scripts -o include/config/MARKER -C /lib/modules/4.1.12-103.9.4.el7uek.x86_64/build EXTRA_CFLAGS=-Werror-implicit-function-declaration -g -I/var/lib/dkms/lustre-client/2.11.0/build/libcfs/include -I/var/lib/dkms/lustre-client/2.11.0/build/lnet/include -I/var/lib/dkms/lustre-client/2.11.0/build/lustre/include -Wno-format-truncation M=/var/lib/dkms/lustre-client/2.11.0/build/build
In file included from /usr/src/ofa_kernel/default/include/linux/kernel.h:6:0,
                 from include/linux/uio.h:12,
                 from include/linux/socket.h:7,
                 from /usr/src/ofa_kernel/default/include/linux/socket.h:4,
                 from /lib/modules/4.1.12-103.9.4.el7uek.x86_64/source/include/uapi/linux/if.h:23,
                 from /usr/src/ofa_kernel/default/include/linux/compat-2.6.h:12,
                 from <command-line>:0:
include/linux/kernel.h:49:0: warning: "ALIGN" redefined [enabled by default]
 #define ALIGN(x, a)  __ALIGN_KERNEL((x), (a))
 ^
In file included from include/linux/kernel.h:6:0,
                 from /usr/src/ofa_kernel/default/include/linux/kernel.h:6,
                 from include/linux/uio.h:12,
                 from include/linux/socket.h:7,
                 from /usr/src/ofa_kernel/default/include/linux/socket.h:4,
                 from /lib/modules/4.1.12-103.9.4.el7uek.x86_64/source/include/uapi/linux/if.h:23,
                 from /usr/src/ofa_kernel/default/include/linux/compat-2.6.h:12,
                 from <command-line>:0:
include/linux/linkage.h:78:0: note: this is the location of the previous definition
 #define ALIGN __ALIGN
 ^
In file included from /lib/modules/4.1.12-103.9.4.el7uek.x86_64/source/arch/x86/include/asm/preempt.h:6:0,
                 from include/linux/preempt.h:18,
                 from include/linux/spinlock.h:50,
                 from include/linux/seqlock.h:35,
                 from include/linux/time.h:5,
                 from include/linux/stat.h:18,
                 from include/linux/module.h:10,
                 from /usr/src/ofa_kernel/default/include/linux/module.h:4,
                 from /usr/src/ofa_kernel/default/include/linux/compat-2.6.h:20,
                 from <command-line>:0:
include/linux/thread_info.h:145:2: error: #error "no set_restore_sigmask() provided and default one won't work"
 #error "no set_restore_sigmask() provided and default one won't work"
  ^
In file included from /lib/modules/4.1.12-103.9.4.el7uek.x86_64/source/arch/x86/include/asm/processor.h:23:0,
                 from /lib/modules/4.1.12-103.9.4.el7uek.x86_64/source/arch/x86/include/asm/atomic.h:6,
                 from include/linux/atomic.h:4,
                 from /usr/src/ofa_kernel/default/include/linux/atomic.h:7,
                 from /lib/modules/4.1.12-103.9.4.el7uek.x86_64/source/arch/x86/include/asm/spinlock.h:5,
                 from include/linux/spinlock.h:87,
                 from include/linux/seqlock.h:35,
                 from include/linux/time.h:5,
                 from include/linux/stat.h:18,
                 from include/linux/module.h:10,
                 from /usr/src/ofa_kernel/default/include/linux/module.h:4,
                 from /usr/src/ofa_kernel/default/include/linux/compat-2.6.h:20,
                 from <command-line>:0:
/lib/modules/4.1.12-103.9.4.el7uek.x86_64/source/arch/x86/include/asm/special_insns.h:223:26: error: macro "ALTERNATIVE" passed 9 arguments, but takes just 3
       X86_FEATURE_PCOMMIT);
                          ^
make[1]: *** [/var/lib/dkms/lustre-client/2.11.0/build/build/conftest.sdtstub.o] Error 1
make: *** [modules] Error 2
configure:17584: $? = 2
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "Lustre"
| #define PACKAGE_TARNAME "lustre"
| #define PACKAGE_VERSION "2.11.0"
| #define PACKAGE_STRING "Lustre 2.11.0"
| #define PACKAGE_BUGREPORT "https://jira.hpdd.intel.com/"
| #define PACKAGE_URL ""
| #define PACKAGE "lustre"
| #define VERSION "2.11.0"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| #define LUSTRE_MAJOR 2
| #define LUSTRE_MINOR 11
| #define LUSTRE_PATCH 0
| #define LUSTRE_FIX 0
| #define LUSTRE_VERSION_STRING "2.11.0"
| #define SIZEOF_UNSIGNED_LONG_LONG 8
| #define HAVE_MODULE_LOADING_SUPPORT 1
| #define STACKTRACE_OPS_HAVE_WALK_STACK 1
| #define HAVE_KSTRTOUL 1
| #define HAVE_DUMP_TRACE_ADDRESS 1
| #define HAVE_SHRINK_CONTROL 1
| #define HAVE_REINIT_COMPLETION 1
| #define HAVE_UIDGID_HEADER 1
| #define HAVE_I_UID_READ 1
| #define HAVE_SOCK_ALLOC_FILE_3ARGS 1
| #define HAVE_CRC32 1
| #define HAVE_KTIME_GET_TS64 1
| #define HAVE_KERNEL_PARAM_OPS 1
| #define HAVE_KTIME_ADD 1
| #define HAVE_KTIME_AFTER 1
| #define HAVE_KTIME_BEFORE 1
| #define HAVE_KTIME_COMPARE 1
| #define HAVE_SHRINKER_COUNT 1
| #define HAVE_TIMESPEC64 1
| #define HAVE_KTIME_GET_REAL_TS64 1
| #define HAVE_KTIME_GET_REAL_SECONDS 1
| #define HAVE_KTIME_TO_TIMESPEC64 1
| #define HAVE_TIMESPEC64_SUB 1
| #define HAVE_TIMESPEC64_TO_KTIME 1
| #define HAVE_KTIME_GET_SECONDS 1
| #define HAVE_CPUMASK_PRINT_TO_PAGEBUF 1
| #define HAVE_KTIME_MS_DELTA 1
| #define HAVE_STACKTRACE_OPS 1
| #define CPU_AFFINITY 1
| #define HAVE_COMPAT_RDMA 1
| /* end confdefs.h.  */
|
| #include <linux/kernel.h>
|
|                       #ifdef HAVE_COMPAT_RDMA
|                       #undef PACKAGE_NAME
|                       #undef PACKAGE_TARNAME
|                       #undef PACKAGE_VERSION
|                       #undef PACKAGE_STRING
|                       #undef PACKAGE_BUGREPORT
|                       #undef PACKAGE_URL
|                       #include <linux/compat-2.6.h>
|                       #endif
|                       #include <linux/version.h>
|                       #include <linux/pci.h>
|                       #include <linux/gfp.h>
|                       #include <rdma/rdma_cm.h>
|                       #include <rdma/ib_cm.h>
|                       #include <rdma/ib_verbs.h>
|                       #include <rdma/ib_fmr_pool.h>
|
| int
| main (void)
| {
|
|                       struct rdma_cm_id      *cm_idi __attribute__ ((unused));
|                       struct rdma_conn_param  conn_param __attribute__ ((unused));
|                       struct ib_device_attr   device_attr __attribute__ ((unused));
|                       struct ib_qp_attr       qp_attr __attribute__ ((unused));
|                       struct ib_pool_fmr      pool_fmr __attribute__ ((unused));
|                       enum   ib_cm_rej_reason rej_reason __attribute__ ((unused));
|                       rdma_destroy_id(NULL);
|
|   ;
|   return 0;
| }
configure:17602: result: no
configure:17611: error: can't compile with OpenIB gen2 headers



--
James Burton
OS and Storage Architect
Advanced Computing Infrastructure
Clemson University Computing and Information Technology
340 Computer Court
Anderson, SC 29625
(864) 656-9047
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lustre.org/pipermail/lustre-discuss-lustre.org/attachments/20180731/d9e0fe64/attachment-0001.html>


More information about the lustre-discuss mailing list