[lustre-discuss] Issues compiling lustre-client 2.8 on CentOS 7.4

Bradley Merchant bmerchant at raidinc.com
Mon Jan 8 20:23:20 PST 2018


You need to reconfigure/recompile ZFS in the new kernel. 7.4 added a macro for bio_set_op_attrs and it's conflicting with a definition in blkdev_compat.h because your source tree still thinks HAVE_BIO_SET_OP_ATTRS = 0


?

Well, I have been able to build for the 7.3 and updates kernels, but I
have yet to succeed in building against any 3.10.693.* kernel. I can
update everything except the kernel and still build it.

I, for one, would love some feedback about what needs changed to build
with the latest kernel. I get different errors than you, so it may be
something different.


I tend to get

*/In file included from
/tmp/rpmbuild-lustre-root-QrSZ2WIs/BUILD/lustre-2.10.56_1_g11aae87/lustre/include/lustre_compat.h:39:0,/**/
/**/                 from
/tmp/rpmbuild-lustre-root-QrSZ2WIs/BUILD/lustre-2.10.56_1_g11aae87/lustre/include/lvfs.h:45,/**/
/**/                 from
/tmp/rpmbuild-lustre-root-QrSZ2WIs/BUILD/lustre-2.10.56_1_g11aae87/lustre/include/obd.h:53,/**/
/**/                 from
/tmp/rpmbuild-lustre-root-QrSZ2WIs/BUILD/lustre-2.10.56_1_g11aae87/lustre/osd-zfs/osd_handler.c:45:/**/
/**//usr/src/zfs-0.7.5/include/linux/blkdev_compat.h:412:18: error:
expected identifier or '(' before 'struct'/**/
/**/ bio_set_op_attrs(struct bio *bio, unsigned rw, unsigned flags)/**/
/**/                  ^/**/
/**/include/linux/bio.h:48:44: note: in definition of macro
'bio_set_op_attrs'/**/
/**/ #define bio_set_op_attrs(bio, op, flags) ((bio)->bi_rw |= (op |
flags))/**/
/**/                                            ^/**/
/**/include/linux/bio.h:48:48: error: expected ')' before '->' token/**/
/**/ #define bio_set_op_attrs(bio, op, flags) ((bio)->bi_rw |= (op |
flags))/**/
/**/                                                ^/**/
/**//usr/src/zfs-0.7.5/include/linux/blkdev_compat.h:412:1: note: in
expansion of macro 'bio_set_op_attrs'/**/
/**/ bio_set_op_attrs(struct bio *bio, unsigned rw, unsigned flags)/**/
/*

**


Yet the same configure/make lines work if I merely boot kernel
3.10.0-514.26.2


Brian Andrus

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lustre.org/pipermail/lustre-discuss-lustre.org/attachments/20180109/417e4ef1/attachment.html>


More information about the lustre-discuss mailing list