Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build error: cimported module has no attribute 'ZFS_ONLINE_EXPAND' #23

Open
gronke opened this issue Aug 10, 2017 · 2 comments
Open

Build error: cimported module has no attribute 'ZFS_ONLINE_EXPAND' #23

gronke opened this issue Aug 10, 2017 · 2 comments

Comments

@gronke
Copy link
Contributor

gronke commented Aug 10, 2017

Commit 8ed656e does not build on HardenedBSD-11 and FreeBSD-11.0

HardenedBSD

# python3.6 setup.py build
running build
running build_py
copying libzfs.c -> build/lib.freebsd-11.1-STABLE-HBSD-amd64-3.6
running build_ext
cythoning libzfs.pyx to libzfs.c

Error compiling Cython file:
------------------------------------------------------------
...

        if self.type not in ('disk', 'file'):
            raise ZFSException(Error.NOTSUP, "Can make disks online only")

        if expand:
            flags |= zfs.ZFS_ONLINE_EXPAND
                       ^
------------------------------------------------------------

libzfs.pyx:1346:24: cimported module has no attribute 'ZFS_ONLINE_EXPAND'

Error compiling Cython file:
------------------------------------------------------------
...

    def get_send_progress(self, fd):
        cdef zfs.zfs_cmd_t cmd
        cdef int ret

        memset(&cmd, 0, cython.sizeof(libzfs.zfs_cmd))
                                           ^
------------------------------------------------------------

libzfs.pyx:2376:44: cimported module has no attribute 'zfs_cmd'
building 'libzfs' extension
cc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -O2 -pipe -DHARDENEDBSD -fPIE -fPIC -fstack-protector -fno-strict-aliasing -fPIC -I/usr/src/cddl/lib/libumem -I/usr/src/sys/cddl/compat/opensolaris/ -I/usr/src/sys/cddl/compat/opensolaris -I/usr/src/cddl/compat/opensolaris/include -I/usr/src/cddl/compat/opensolaris/lib/libumem -I/usr/src/cddl/contrib/opensolaris/lib/libzpool/common -I/usr/src/sys/cddl/contrib/opensolaris/common/zfs -I/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs -I/usr/src/sys/cddl/contrib/opensolaris/uts/common/sys -I/usr/src/cddl/contrib/opensolaris/head -I/usr/src/sys/cddl/contrib/opensolaris/uts/common -I/usr/src/cddl/contrib/opensolaris/lib/libnvpair -I/usr/src/cddl/contrib/opensolaris/lib/libuutil/common -I/usr/src/cddl/contrib/opensolaris/lib/libzfs/common -I/usr/src/cddl/contrib/opensolaris/lib/libzfs_core/common -I/usr/local/include/python3.6m -c libzfs.c -o build/temp.freebsd-11.1-STABLE-HBSD-amd64-3.6/libzfs.o -DNEED_SOLARIS_BOOLEAN -D_XPG6 -g -O0
libzfs.c:1:2: error: Do not use this file, it is the result of a failed Cython compilation.
#error Do not use this file, it is the result of a failed Cython compilation.
 ^
1 error generated.
error: command 'cc' failed with exit status 1

# uname -a
FreeBSD localhost 11.1-STABLE-HBSD FreeBSD 11.1-STABLE-HBSD #3  r313908+d9d98e063c4(hardened/11-stable/master): Tue Aug  1 11:29:55 CEST 2017     root@localhost:/usr/obj/usr/src/sys/HARDENEDBSD  amd64
# uname -K
1101501

FreeBSD

# python3.6 setup.py build
running build
running build_py
copying libzfs.c -> build/lib.freebsd-11.0-RELEASE-amd64-3.6
running build_ext
cythoning libzfs.pyx to libzfs.c

Error compiling Cython file:
------------------------------------------------------------
...

        if self.type not in ('disk', 'file'):
            raise ZFSException(Error.NOTSUP, "Can make disks online only")

        if expand:
            flags |= zfs.ZFS_ONLINE_EXPAND
                       ^
------------------------------------------------------------

libzfs.pyx:1346:24: cimported module has no attribute 'ZFS_ONLINE_EXPAND'

Error compiling Cython file:
------------------------------------------------------------
...

    def get_send_progress(self, fd):
        cdef zfs.zfs_cmd_t cmd
        cdef int ret

        memset(&cmd, 0, cython.sizeof(libzfs.zfs_cmd))
                                           ^
------------------------------------------------------------

libzfs.pyx:2376:44: cimported module has no attribute 'zfs_cmd'
building 'libzfs' extension
cc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -O2 -pipe -fstack-protector -fno-strict-aliasing -fPIC -I/usr/src/cddl/lib/libumem -I/usr/src/sys/cddl/compat/opensolaris/ -I/usr/src/sys/cddl/compat/opensolaris -I/usr/src/cddl/compat/opensolaris/include -I/usr/src/cddl/compat/opensolaris/lib/libumem -I/usr/src/cddl/contrib/opensolaris/lib/libzpool/common -I/usr/src/sys/cddl/contrib/opensolaris/common/zfs -I/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs -I/usr/src/sys/cddl/contrib/opensolaris/uts/common/sys -I/usr/src/cddl/contrib/opensolaris/head -I/usr/src/sys/cddl/contrib/opensolaris/uts/common -I/usr/src/cddl/contrib/opensolaris/lib/libnvpair -I/usr/src/cddl/contrib/opensolaris/lib/libuutil/common -I/usr/src/cddl/contrib/opensolaris/lib/libzfs/common -I/usr/src/cddl/contrib/opensolaris/lib/libzfs_core/common -I/usr/local/include/python3.6m -c libzfs.c -o build/temp.freebsd-11.0-RELEASE-amd64-3.6/libzfs.o -DNEED_SOLARIS_BOOLEAN -D_XPG6 -g -O0
libzfs.c:1:2: error: Do not use this file, it is the result of a failed Cython compilation.
#error Do not use this file, it is the result of a failed Cython compilation.
 ^
1 error generated.
error: command 'cc' failed with exit status 1
# uname -a
FreeBSD localhost 11.0-RELEASE FreeBSD 11.0-RELEASE #15 daaabd4def6(release/11.0.0-vnet-fix): Thu Aug  3 20:07:27 UTC 2017     root@localhost:/usr/obj/usr/src/sys/VIMAGE  amd64
# uname -K
1100122
@igalic
Copy link

igalic commented Aug 18, 2017

same issue, but on FreeBSD 11.1 (uname -K: 1101001 & -a: FreeBSD container-host1 11.1-RELEASE FreeBSD 11.1-RELEASE #0 r321309: Fri Jul 21 02:08:28 UTC 2017 [email protected]:/usr/obj/usr/src/sys/GENERIC amd64 )

@gronke
Copy link
Contributor Author

gronke commented Aug 18, 2017

This was fixed in truenas/py-libzfs#1 - I'm confused about the upstream repo situation, but would suggest to cherry-pick that commit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants