BeeGFS 7.1.2 client won't compile with Oracle 7 UEK5, and MOFED 4.5 with MOFED patch

350 views
Skip to first unread message

James Burton

unread,
Mar 8, 2019, 10:27:02 AM3/8/19
to fhgfs...@googlegroups.com
Greetings,

I am trying to compile the BeeGFS 7.1.2 client with RDMA support for Oracle Linux 7, with the UEK 5 kernel and the MOFED 4.5 drivers, and getting an error about linux/kconfig.h not being found. 

The MOFED 4.5 patch from https://www.beegfs.io/wiki/ofed4.5patch has been installed. 

Build environment is as follows: 

[root@node2001 build]# uname -r
4.14.35-1844.2.5.el7uek.x86_64
[root@node2001 build]# rpm -qa | grep kernel | grep devel
mlnx-ofa_kernel-devel-4.5-OFED.4.5.1.0.1.1.gb4fdfac.rhel7u6.x86_64
kernel-uek-devel-4.14.35-1844.2.5.el7uek.x86_64


My beegfs-client-autobuild.conf line contains the following:

buildArgs=-j8 BEEGFS_OPENTK_IBVERBS=1 OFED_INCLUDE_PATH=/usr/src/ofa_kernel/default/include

buildEnabled=true


[root@node2001 build]# /etc/init.d/beegfs-client rebuild
- BeeGFS module autobuild
Building beegfs client module
In file included from /usr/src/ofa_kernel/default/include/linux/compat-2.6.h:10:0,
                 from <command-line>:1:
/usr/src/ofa_kernel/default/include/linux/kconfig.h:7:32: fatal error: linux/kconfig.h: No such file or directory
 #include_next <linux/kconfig.h>
                                ^
compilation terminated.
In file included from /usr/src/ofa_kernel/default/include/linux/compat-2.6.h:10:0,
                 from <command-line>:1:
/usr/src/ofa_kernel/default/include/linux/kconfig.h:7:32: fatal error: linux/kconfig.h: No such file or directory
 #include_next <linux/kconfig.h>
                                ^
compilation terminated.
./scripts/gcc-version.sh: line 32: printf: #: invalid number
./scripts/gcc-version.sh: line 32: printf: #: invalid number
/bin/sh: line 0: [: too many arguments
In file included from /usr/src/ofa_kernel/default/include/linux/compat-2.6.h:10:0,
                 from <command-line>:1:
/usr/src/ofa_kernel/default/include/linux/kconfig.h:7:32: fatal error: linux/kconfig.h: No such file or directory
 #include_next <linux/kconfig.h>
                                ^
compilation terminated.
In file included from /usr/src/ofa_kernel/default/include/linux/compat-2.6.h:10:0,
                 from <command-line>:1:
/usr/src/ofa_kernel/default/include/linux/kconfig.h:7:32: fatal error: linux/kconfig.h: No such file or directory
 #include_next <linux/kconfig.h>
                                ^
compilation terminated.
./scripts/gcc-version.sh: line 32: printf: #: invalid number
./scripts/gcc-version.sh: line 32: printf: #: invalid number
/bin/sh: line 0: [: too many arguments

Thank you for your help,

Jim Burton

--
James Burton
OS and Storage Architect
Advanced Computing Infrastructure
Clemson University Computing and Information Technology
340 Computer Court
Anderson, SC 29625

James Burton

unread,
Mar 8, 2019, 1:35:54 PM3/8/19
to fhgfs...@googlegroups.com
Update: After turning off the quiet option for rebuild in the /etc/init.d/beegfs-client file, I can see that the BeeGFS client does build with RDMA support. This is just very ugly noise. 

The problem is that source/Makefile finds linux/compat-2.6.h in the OFED source directory and uses the wrong include path to compile RDMA support. When this fails, it tries again with the right include path and succeeds.

Commenting out the ifeq block makes it compile correctly without noise.

ifeq ($(shell [ -f $(OFED_INCLUDE_PATH)/linux/compat-2.6.h ] && echo 1),1)
$(src)/common/net/sock/ibv/IBVSocket.o: CC+=-include $(OFED_INCLUDE_PATH)/linux/compat-2.6.h
$(src)/common/net/sock/ibv/IBVBuffer.o: CC+=-include $(OFED_INCLUDE_PATH)/linux/compat-2.6.h
endif

$(src)/common/net/sock/ibv/IBVSocket.o: CC+=-I$(OFED_INCLUDE_PATH) -I$(OFED_INCLUDE_PATH)/uapi
$(src)/common/net/sock/ibv/IBVBuffer.o: CC+=-I$(OFED_INCLUDE_PATH) -I$(OFED_INCLUDE_PATH)/uapi
Reply all
Reply to author
Forward
0 new messages