[lustre-discuss] Lustre Client on Fedora 23

Michael Watters wattersm at watters.ws
Fri Sep 30 12:03:17 PDT 2016


Looks like I may be stuck.  I went to the build directory and ran 
./configure manually which seemed to work but make fails to build.

 > 1081  ./configure --program-prefix= --disable-dependency-tracking 
--prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin 
--sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include 
--libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var 
--sharedstatedir=/var/lib --mandir=/usr/share/man 
--infodir=/usr/share/info --enable-tests --enable-utils --enable-modules 
--without-zfs --disable-dlc --with-release=4.7.3_100.fc23.x86_64 
--with-linux=/lib/modules/4.7.3-100.fc23.x86_64/source 
--with-linux-obj=/lib/modules/4.7.3-100.fc23.x86_64/build 
--with-kmp-moddir=extra --disable-server

Here is the make output which appears to be an issue with the 
libcfs_string.h file.

 > make[3]: Entering directory '/usr/src/kernels/4.7.3-100.fc23.x86_64'
   CC [M] 
/root/rpmbuild/BUILD/lustre-2.8.0/libcfs/libcfs/linux/linux-tracefile.o
In file included from 
/root/rpmbuild/BUILD/lustre-2.8.0/libcfs/include/libcfs/libcfs.h:125:0,
                  from 
/root/rpmbuild/BUILD/lustre-2.8.0/libcfs/libcfs/linux/linux-tracefile.c:40:
/root/rpmbuild/BUILD/lustre-2.8.0/libcfs/include/libcfs/bitmap.h: In 
function ‘CFS_ALLOCATE_BITMAP’:
/root/rpmbuild/BUILD/lustre-2.8.0/libcfs/include/libcfs/bitmap.h:52:247: 
error: ‘PAGE_CACHE_SHIFT’ undeclared (first use in this function)
/root/rpmbuild/BUILD/lustre-2.8.0/libcfs/include/libcfs/bitmap.h:52:247: 
note: each undeclared identifier is reported only once for each function 
it appears in
In file included from 
/root/rpmbuild/BUILD/lustre-2.8.0/libcfs/include/libcfs/libcfs.h:132:0,
                  from 
/root/rpmbuild/BUILD/lustre-2.8.0/libcfs/libcfs/linux/linux-tracefile.c:40:
/root/rpmbuild/BUILD/lustre-2.8.0/libcfs/include/libcfs/libcfs_string.h: 
In function ‘cfs_expr_list_values_free’:
/root/rpmbuild/BUILD/lustre-2.8.0/libcfs/include/libcfs/libcfs_string.h:95:1364: 
error: ‘PAGE_CACHE_SHIFT’ undeclared (first use in this function)
scripts/Makefile.build:289: recipe for target 
'/root/rpmbuild/BUILD/lustre-2.8.0/libcfs/libcfs/linux/linux-tracefile.o' 
failed
make[6]: *** 
[/root/rpmbuild/BUILD/lustre-2.8.0/libcfs/libcfs/linux/linux-tracefile.o] 
Error 1
scripts/Makefile.build:440: recipe for target 
'/root/rpmbuild/BUILD/lustre-2.8.0/libcfs/libcfs' failed
make[5]: *** [/root/rpmbuild/BUILD/lustre-2.8.0/libcfs/libcfs] Error 2
scripts/Makefile.build:440: recipe for target 
'/root/rpmbuild/BUILD/lustre-2.8.0/libcfs' failed
make[4]: *** [/root/rpmbuild/BUILD/lustre-2.8.0/libcfs] Error 2
Makefile:1461: recipe for target 
'_module_/root/rpmbuild/BUILD/lustre-2.8.0' failed
make[3]: *** [_module_/root/rpmbuild/BUILD/lustre-2.8.0] Error 2
make[3]: Leaving directory '/usr/src/kernels/4.7.3-100.fc23.x86_64'
autoMakefile:1031: recipe for target 'modules' failed
make[2]: *** [modules] Error 2
make[2]: Leaving directory '/root/rpmbuild/BUILD/lustre-2.8.0'
autoMakefile:578: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/root/rpmbuild/BUILD/lustre-2.8.0'
autoMakefile:473: recipe for target 'all' failed
make: *** [all] Error 2



On 09/28/2016 02:13 PM, Patrick Farrell wrote:
> Michael,
>
> I suspect a change in GCC/ld behavior as the cause for your original 
> error.  I don't think setting PIC mode is the answer, since that 
> doesn't work for kernel mode code.  I think you're probably compiling 
> Lustre with an extremely new GCC/ld version, and some behavior change 
> there is causing a failure.
>
> Since it's just in the configure check to see if we're doing cross 
> compiling, perhaps you can short-circuit that check?  Find it and 
> replace it with false (assuming you are not cross compiling...).
>
> Anyway, I think that error is where you should focus.  You could try 
> rebuilding Lustre directly from source, but I bet you'll hit the same 
> error in configure.
>
> - Patrick
> On 09/28/2016 11:20 AM, Michael Watters wrote:
>> Has anybody been able to build the lustre client on Fedora 23 or 24?  
>> I'm getting a compile error when I attempt to build the SRPM for 
>> 2.8.0 which is shown here.
>>
>> http://paste.fedoraproject.org/437345/77178147/
>>
>> Adding "-fPIC" to the optflags in the spec file also did not help, 
>> the build then fails with a different error as follows.
>>
>> EXTRA_KCFLAGS: -include /root/rpmbuild/BUILD/lustre-2.8.0/undef.h 
>> -include /root/rpmbuild/BUILD/lustre-2.8.0/config.h  -g 
>> -I/root/rpmbuild/BUILD/lustre-2.8.0/libcfs/include 
>> -I/root/rpmbuild/BUILD/lustre-2.8.0/lnet/include 
>> -I/root/rpmbuild/BUILD/lustre-2.8.0/lustre/include
>>
>> Type 'make' to build Lustre.
>>
>> + make -j12 -s
>>
>> Making all in .
>>
>> /root/rpmbuild/BUILD/lustre-2.8.0/lnet/lnet/api-ni.c:1:0: error: code 
>> model kernel does not support PIC mode
>>
>>  /*
>>
>>  ^
>>
>> /root/rpmbuild/BUILD/lustre-2.8.0/lustre/fid/fid_request.c:1:0: 
>> error: code model kernel does not support PIC mode
>>
>>  /*
>>
>>  ^
>>
>> /root/rpmbuild/BUILD/lustre-2.8.0/lustre/fld/fld_request.c:1:0: 
>> error: code model kernel does not support PIC mode
>>
>>  /*
>>
>>  ^
>>
>> scripts/Makefile.build:289: recipe for target 
>> '/root/rpmbuild/BUILD/lustre-2.8.0/lnet/lnet/api-ni.o' failed
>>
>> make[6]: *** [/root/rpmbuild/BUILD/lustre-2.8.0/lnet/lnet/api-ni.o] 
>> Error 1
>>
>> /root/rpmbuild/BUILD/lustre-2.8.0/lustre/llite/dcache.c:1:0: error: 
>> code model kernel does not support PIC mode
>>
>>  /*
>>
>>
>> Do I need to build the client from source or use a different lustre 
>> version?  My servers are all running 2.8.0 on CentOS 7 however we run 
>> Fedora on our workstations which doesn't have a native client package.
>>
>> _______________________________________________
>> lustre-discuss mailing list
>> lustre-discuss at lists.lustre.org
>> http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org
>
> _______________________________________________
> lustre-discuss mailing list
> lustre-discuss at lists.lustre.org
> http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org



More information about the lustre-discuss mailing list