[LU-7527] Configure errors with OFED 3.18-1, ZFS, and EL6.7 kernel Created: 08/Dec/15 Updated: 02/Aug/16 Resolved: 02/Aug/16 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | Lustre 2.8.0 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Minor |
| Reporter: | Nathan Crawford | Assignee: | WC Triage |
| Resolution: | Duplicate | Votes: | 1 |
| Labels: | zfs | ||
| Environment: |
Lustre 2.7.63_g2d11035, Scientific Linux 6.7 (kernel-2.6.32-573.8.1.el6.x86_64), OFED 3.18-1 (using qib drivers), ZFS 0.6.5.3 (using dkms packages from zfsonlinux.org repo). |
||
| Issue Links: |
|
||||||||
| Severity: | 3 | ||||||||
| Rank (Obsolete): | 9223372036854775807 | ||||||||
| Description |
|
During configure, these zfs tests all fail: These config test errors lead to compilation failures when making osd-zfs. My configure command: Attempted workaround: add this to test programs in config/lustre-build-zfs.m4: Result: Compiles and installs, works with tcp(eth0) and tcp(ib0), but o2ib fails. This probably just superficially hid the kthread.h conflict. Successful workaround: uninstall OFED and use in-kernel IB drivers. Everything compiles and runs well. I have no idea if performance is affected. |
| Comments |
| Comment by Nathan Crawford [ 15/Mar/16 ] |
|
As an update, I'm still hitting this configure issue with lustre 2.8.0-RC5, ZFSonLinux 0.6.5.5, OFED 3.18-2-20160313-0128 and kernel 2.6.32-573.18.1.el6.x86_64. Is there a simple solution? There are some important updates in the newer OFED that I really don't want to skip. |
| Comment by Chris Horn [ 21/Mar/16 ] |
|
I think I'm seeing the same issue compiling Lustre 2.8.0-RC5 client on a 3.12 kernel with OFED 3.18-1. My configure line: ./configure --disable-server --enable-client --disable-doc --disable-manpages --with-o2ib=yes config.log shows numerous configure tests failing with kthread redefinition: CC [M] /home/build/lustre-filesystem/build/conftest.o
In file included from /lib/modules/3.12.28-4-default/source/include/linux/device.h:29:0,
from /lib/modules/3.12.28-4-default/source/include/linux/genhd.h:62,
from /lib/modules/3.12.28-4-default/source/include/linux/blkdev.h:9,
from /home/build/lustre-filesystem/build/conftest.c:50:
/usr/src/compat-rdma/include/linux/kthread.h:23:8: error: redefinition of ‘struct kthread_worker’
struct kthread_worker {
This seems like the compat_autoconf.h header isn't being included correctly? build@iosr60-2:~/lustre-filesystem> uname -a Linux iosr60-2 3.12.28-4-default #1 SMP Thu Sep 25 17:02:34 UTC 2014 (9879bd4) x86_64 x86_64 x86_64 GNU/Linux build@iosr60-2:~/lustre-filesystem> ofed_info OFED-3.18-1: <snip> Installed Packages: ------------------- ofed-scripts-3.18-1.1.gf2c716b.x86_64 compat-rdma-devel-3.18-1.1.ga854cfe.3.12.28_4_default.x86_64 compat-rdma-3.18-1.1.ga854cfe.3.12.28_4_default.x86_64 build@iosr60-2:~/lustre-filesystem> I get the same errors with Lustre 2.7 + patches as well as master |
| Comment by Chris Horn [ 21/Mar/16 ] |
|
I searched the config.log for all tests that failed with the "redefinition" error, and I added + #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 to each, and that seems to have done the trick for the 2.8-RC5 client build. |
| Comment by James A Simmons [ 01/Aug/16 ] |
|
The patch from |
| Comment by Peter Jones [ 02/Aug/16 ] |
|
Thanks James. This is being tracked sepatately to land to the maintenance branches so I'll mark this ticket as a duplicate. |