[LU-1372] Luster client source on SUSE SLES 11 SP2 with kernel 3.0.13-0.27-default or higher Created: 04/May/12  Updated: 25/Apr/14  Resolved: 04/May/12

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.2.0
Fix Version/s: None

Type: New Feature Priority: Major
Reporter: Carmelo Ponti Assignee: WC Triage
Resolution: Duplicate Votes: 0
Labels: client, kernel, lustre
Environment:

SUSE Linux Enterprise Server 11 (x86_64) SP2 on Intel(R) Xeon(R) CPU E5649 @ 2.53GHz
kernel: kernel-default-devel-3.0.13-0.27.1
gcc: gcc-4.3-62.198
glibc: glibc-2.11.3-17.31.1


Rank (Obsolete): 10102

 Description   

Dear Lustre developers

I tried to install lustre-client-source-2.2.51-2.6.32.36_0.5_default_g8bd0642 in one of my cluster using SUSE SLES 11.2 (kernel 3.0.13-0.27.1) and OFED-1.5.4 but I fall in a bunch of problems which I cannot solve. Following the summary of my tests:

1) Installed lustre-client-source-2.2.51-2.6.32.36_0.5_default_g8bd0642.x86_64.rpm and kernel-ib-devel-1.5.4-3.0.13_0.27_default.x86_64.rpm (generate by the OFED installation)

2) cd /usr/src/lustre-2.2.51 and configure it as follow:

./configure --with-linux=/usr/src/linux-3.0.13-0.27 --with-linux-obj=/usr/src/linux-3.0.13-0.27-obj/x86_64/default\
--with-o2ib=/usr/src/openib

...
CC: gcc
LD:
CPPFLAGS: -include /usr/src/lustre-2.2.51/config.h -I/usr/src/lustre-2.2.51/libcfs/include -I/usr/src/lustre-2.2.51/lnet/include -I/usr/src/lustre-2.2.51/lustre/include
LLCPPFLAGS: -D_arch_lib_ -D_LARGEFILE64_SOURCE=1
CFLAGS: -g -O2 -Werror
EXTRA_KCFLAGS: -include /usr/src/lustre-2.2.51/config.h -g -I/usr/src/lustre-2.2.51/libcfs/include -I/usr/src/lustre-2.2.51/lnet/include -I/usr/src/lustre-2.2.51/lustre/include
LLCFLAGS: -g -Wall -fPIC -D_GNU_SOURCE

Type 'make' to build Lustre.

3) make
...
/usr/src/lustre-2.2.51/libcfs/include/libcfs/linux/linux-lock.h:52:28: error: linux/smp_lock.h: No such file or directory
make[8]: *** [/usr/src/lustre-2.2.51/libcfs/libcfs/linux/linux-tracefile.o] Error 1
make[7]: *** [/usr/src/lustre-2.2.51/libcfs/libcfs] Error 2
make[6]: *** [/usr/src/lustre-2.2.51/libcfs] Error 2
make[5]: *** [_module_/usr/src/lustre-2.2.51] Error 2
make[4]: *** [sub-make] Error 2
make[3]: *** [all] Error 2
make[3]: Leaving directory `/usr/src/linux-3.0.13-0.27-obj/x86_64/default'
make[2]: *** [modules] Error 2
make[2]: Leaving directory `/usr/src/lustre-2.2.51'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/lustre-2.2.51'
make: *** [all] Error 2

4) I tried to copy an old version of smp_lock.h (kernel 2.6.32.36-0.5-default from SLES11.1) to /usr/src/linux-3.0.13-0.27/include/linux and the compilation advanced until the following error:

/usr/src/lustre-2.2.51/libcfs/libcfs/watchdog.c:96: error: 'SPIN_LOCK_UNLOCKED' undeclared here (not in a function)
make[8]: *** [/usr/src/lustre-2.2.51/libcfs/libcfs/watchdog.o] Error 1
make[7]: *** [/usr/src/lustre-2.2.51/libcfs/libcfs] Error 2
make[6]: *** [/usr/src/lustre-2.2.51/libcfs] Error 2
make[5]: *** [_module_/usr/src/lustre-2.2.51] Error 2
make[4]: *** [sub-make] Error 2
make[3]: *** [all] Error 2
make[3]: Leaving directory `/usr/src/linux-3.0.13-0.27-obj/x86_64/default'
make[2]: *** [modules] Error 2
make[2]: Leaving directory `/usr/src/lustre-2.2.51'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/lustre-2.2.51'
make: *** [all] Error 2

the line 96 in /usr/src/lustre-2.2.51/libcfs/libcfs/watchdog.c is not compatible with the new kernel and should be modify as follow:

-static cfs_spinlock_t lcw_pending_timers_lock = CFS_SPIN_LOCK_UNLOCKED;

+static DEFINE_SPINLOCK(lcw_pending_timers_lock);

5) make

/usr/src/lustre-2.2.51/lustre/include/linux/lustre_patchless_compat.h: In function 'd_rehash_cond':
/usr/src/lustre-2.2.51/lustre/include/linux/lustre_patchless_compat.h:116: error: 'dcache_lock' undeclared (first use in this function)
/usr/src/lustre-2.2.51/lustre/include/linux/lustre_patchless_compat.h:116: error: (Each undeclared identifier is reported only once
/usr/src/lustre-2.2.51/lustre/include/linux/lustre_patchless_compat.h:116: error: for each function it appears in.)
cc1: warnings being treated as errors
In file included from /usr/src/lustre-2.2.51/lustre/include/lvfs.h:48,
from /usr/src/lustre-2.2.51/lustre/include/obd_support.h:43,
from /usr/src/lustre-2.2.51/lustre/include/linux/obd.h:46,
from /usr/src/lustre-2.2.51/lustre/include/obd.h:43,
from /usr/src/lustre-2.2.51/lustre/fid/fid_handler.c:57:
/usr/src/lustre-2.2.51/lustre/include/linux/lvfs.h: In function 'l_dput':
/usr/src/lustre-2.2.51/lustre/include/linux/lvfs.h:116: error: passing argument 1 of 'atomic_read' from incompatible pointer type
make[8]: *** [/usr/src/lustre-2.2.51/lustre/fid/fid_handler.o] Error 1
make[7]: *** [/usr/src/lustre-2.2.51/lustre/fid] Error 2
make[6]: *** [/usr/src/lustre-2.2.51/lustre] Error 2
make[5]: *** [_module_/usr/src/lustre-2.2.51] Error 2
make[4]: *** [sub-make] Error 2
make[3]: *** [all] Error 2
make[3]: Leaving directory `/usr/src/linux-3.0.13-0.27-obj/x86_64/default'
make[2]: *** [modules] Error 2
make[2]: Leaving directory `/usr/src/lustre-2.2.51'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/lustre-2.2.51'
make: *** [all] Error 2

At this point is clear to me that I cannot use lustre-client-source-2.2.51-2.6.32.36_0.5_default_g8bd0642 on SUSE SLES 11.2 and I would like to ask you if you can add SLES11.2 distribution on you development tree.

Thank you in advance
Carmelo Ponti
----------------------------------------------------------------------
Carmelo Ponti System Engineer
CSCS Swiss Center for Scientific Computing
Via Trevano 131 Email: cponti@cscs.ch
CH-6900 Lugano http://www.cscs.ch
Phone: +41 91 610 82 15/Fax: +41 91 610 82 82
----------------------------------------------------------------------



 Comments   
Comment by Peter Jones [ 04/May/12 ]

Hi there

You are correct in deducing that SLES11 SP2 is not supported by Lustre 2.2. The problem is that SLES11 SP2 again jumps ahead in the kernel version used. We need to add support for the Linux 3.0 kernel before we can add SLES11 SP2 support. This development is in progress and is being tracked under LU-812

HTH

Peter

Generated at Sat Feb 10 01:16:03 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.