You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When building lustre 2.15.6 against zfs 2.2.7 I get the error:
In file included from /usr/include/libzfs/sys/zio_compress.h:33,
from /usr/include/libzfs/sys/dmu.h:50,
from /usr/include/libzfs/sys/spa.h:46,
from libmount_utils_zfs.c:32:
/usr/include/libzfs/sys/abd.h:33:10: fatal error: sys/abd_os.h: No such file or directory
#include <sys/abd_os.h>
^~~~~~~~~~~~~~
For abd_os.h the only include I see is in abd.h and is prefixed by sys: #include <sys/abd_os.h>.
In the source tree the path to abd_os.h is always prefixed by sys:
NOTE: lustre doesn't normally have "-I /usr/include/libzpool" but it is being used in this case
I think that libzfs5-devel should install abd_os.h at /usr/include/libzpool/sys/abd_os.h or maybe /usr/include/libzfs/sys/abd_os.h, otherwise the #include in abd.h will fail.
Describe how to reproduce the problem
install libzfs5-devel and attempt to include spa.h
[root@gopher12:zfs-2.2.7-rpms]# rpm -q libzfs5-devel
libzfs5-devel-2.2.7_1llnl-1.t4.x86_64pm
[root@gopher12:zfs-2.2.7-rpms]# cat ~/test_include_spa.c
#include <sys/spa.h>
int main() {
return 0;
}
[root@gopher12:zfs-2.2.7-rpms]# gcc -Wall -I /usr/include/libspl -I /usr/include/libzfs -I /usr/include/libzpool -o test_include_spa ~/test_include_spa.c
In file included from /usr/include/libzfs/sys/zio_compress.h:33,
from /usr/include/libzfs/sys/dmu.h:50,
from /usr/include/libzfs/sys/spa.h:46,
from /root/test_include_spa.c:1:
/usr/include/libzfs/sys/abd.h:33:10: fatal error: sys/abd_os.h: No such file or directory
#include <sys/abd_os.h>
^~~~~~~~~~~~~~
The text was updated successfully, but these errors were encountered:
I can confirm this affects libzfs6-devel on master as well:
$ gcc -Wall -I /usr/include/libspl -I /usr/include/libzfs -I /usr/include/libzpool main.c -o main
In file included from /usr/include/libzfs/sys/zio_compress.h:34,
from /usr/include/libzfs/sys/dmu.h:50,
from /usr/include/libzfs/sys/spa.h:45,
from main.c:3:
/usr/include/libzfs/sys/abd.h:33:10: fatal error: sys/abd_os.h: No such file or directory
33 | #include <sys/abd_os.h>
| ^~~~~~~~~~~~~~
compilation terminated.
This was fixed in the latest lustre code some time ago. Those changes just never made it back to lustre-2.15.6 since they weren't needed until we ended up pulling in all the kernel compatibility changes in zfs-2.2.7. Take a look at LLNL/lustre@46938c5.
System information
Describe the problem you're observing
When building lustre 2.15.6 against zfs 2.2.7 I get the error:
For abd_os.h the only include I see is in abd.h and is prefixed by sys:
#include <sys/abd_os.h>
.In the source tree the path to abd_os.h is always prefixed by sys:
However the libzfs5-devel rpm installs abd_os.h at:
NOTE: lustre doesn't normally have "-I /usr/include/libzpool" but it is being used in this case
I think that libzfs5-devel should install abd_os.h at /usr/include/libzpool/sys/abd_os.h or maybe /usr/include/libzfs/sys/abd_os.h, otherwise the
#include
in abd.h will fail.Describe how to reproduce the problem
install libzfs5-devel and attempt to include spa.h
The text was updated successfully, but these errors were encountered: