[LU-3377] Cannot build with zfs if development headers are not in standard directories Created: 22/May/13  Updated: 18/Dec/14  Resolved: 18/Dec/14

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.4.0
Fix Version/s: Lustre 2.5.0, Lustre 2.4.2

Type: Improvement Priority: Minor
Reporter: Sebastien Buisson (Inactive) Assignee: Nathaniel Clark
Resolution: Fixed Votes: 0
Labels: zfs

Issue Links:
Duplicate
duplicates LU-3497 Lustre build system hardcoded to usin... Resolved
Severity: 3
Rank (Obsolete): 8357

 Description   

When building with zfs, ./configure lets us define specific paths for spl and zfs headers, in addition to spl and zfs object directories:
--with-spl=path
--with-spl-obj
--with-zfs=path
--with-zfs-obj

The problem is there is no equivalent for zfs development headers. In config/lustre-build-zfs.m4, the 'LB_ZFS_USER' configure check looks at /usr/include/libzfs and /usr/include/libspl, and there is no way to specify alternate directories.

It seems a configure option like --with-zfs-devel is missing.



 Comments   
Comment by Peter Jones [ 22/May/13 ]

Nathaniel

Could you please comment on this one?

Thanks

Peter

Comment by Ned Bass [ 23/May/13 ]

Brian may be able to comment as well, since he added those configure checks (added him to watchers).

Comment by Alex Zhuravlev [ 27/May/13 ]

yes, same problem here.. it'd be very nice if we don't need to install spl/zfs on a build system (os/x in my case).

Comment by Brian Behlendorf [ 31/May/13 ]

Right, a --with-zfs-user option for the user space libraries was accidentally omitted. I'm all for adding one, and updating the default behavior such that it automatically disables the zfs user builds if the libraries don't exist AND --with-zfs wasn't passed. For now you should be able to pass the --without-zfs option to disable the checks.

Comment by Alex Zhuravlev [ 05/Jun/13 ]

Brian, would it be possible to build with in-tree headers?

Comment by Brian Behlendorf [ 05/Jun/13 ]

Adding an option to specify the libzfs and libspl include path should allow you to build using the in-tree zfs headers. Then you would then also need to add lib/libzfs and lib/libspl directories to your library path so dlopen(3) can find them at run time. Wouldn't it be easier just to install the devel headers and libraries? Unless your actively working on the ZFS tree I'm not sure building in-tree is worth the hassle.

Comment by Alex Zhuravlev [ 06/Jun/13 ]

well, I do all the builds on the host (OS/X) and then run in a virtual machine.

Comment by Nathaniel Clark [ 18/Dec/14 ]

This functionality was included in patch on LU-3497 http://review.whamcloud.com/6750

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