Date: Tue, 23 Jun 2020 15:12:46 +0000 From: Rick Macklem <rmacklem@uoguelph.ca> To: Kostya Berger <bergerkos@yahoo.co.uk>, Freebsd-current <freebsd-current@freebsd.org> Cc: Ryan Moeller <freqlabs@FreeBSD.org> Subject: Re: openzfs-kmod build error Message-ID: <QB1PR01MB33648347A48861545DEDFF17DD940@QB1PR01MB3364.CANPRD01.PROD.OUTLOOK.COM> In-Reply-To: <1250230056.4543844.1592922228227@mail.yahoo.com> References: <1250230056.4543844.1592922228227.ref@mail.yahoo.com>, <1250230056.4543844.1592922228227@mail.yahoo.com>
index | next in thread | previous in thread | raw e-mail
Kostya Berger wrote: >CURRENT r362292 >sysutils/openzfs-kmod build aborts with error:............... >/usr/ports/sysutils/openzfs-kmod/work/zfs->c0eb5c35e/module/os/freebsd/zfs/zfs_vfsops.c:128:19: error: > incompatible pointer types initializing 'vfs_checkexp_t *' (aka 'int (*)(struct > mount *, struct sockaddr *, unsigned long *, struct ucred **, int *, int *)') with > an expression of type 'int (vfs_t *, struct sockaddr *, int *, struct ucred **, int > *, int **)' (aka 'int (struct mount *, struct sockaddr *, int *, struct ucred **, > int *, int **)') [-Werror,-Wincompatible-pointer-types] > .vfs_checkexp = zfs_checkexp, > ^~~~~~~~~~~~ >/usr/ports/sysutils/openzfs-kmod/work/zfs->c0eb5c35e/module/os/freebsd/zfs/zfs_vfsops.c:1911:56: error: > incompatible pointer types passing 'int *' to parameter of type 'uint64_t *' > (aka 'unsigned long *') [-Werror,-Wincompatible-pointer-types] > return (vfs_stdcheckexp(zfsvfs->z_parent->z_vfs, nam, extflagsp, > ^~~~~~~~~ >/usr/src/sys/sys/mount.h:980:17: note: passing argument to parameter here >vfs_checkexp_t vfs_stdcheckexp; > ^ >/usr/ports/sysutils/openzfs-kmod/work/zfs->c0eb5c35e/module/os/freebsd/zfs/zfs_vfsops.c:1912:32: error: > incompatible pointer types passing 'int **' to parameter of type 'int *'; > dereference with * [-Werror,-Wincompatible-pointer-types] > credanonp, numsecflavors, secflavors)); > ^~~~~~~~~~ > * >/usr/src/sys/sys/mount.h:980:17: note: passing argument to parameter here >vfs_checkexp_t vfs_stdcheckexp; > ^ >3 errors generated. >*** Error code 1 > >Stop. Post r362158, the argument types change. Since they are just passed to vfs_stdcheckexp(), all that needs to be done is changing the types of the arguments. freqlabs@ volunteered to do this upstream, but I don't know if/when that gets applied to the port? If you can fix this, simply replace: zfs_checkexp(vfs_t *vfsp, struct sockaddr *nam, int *extflagsp, struct ucred **credanonp, int *numsecflavors, int **secflavors) with zfs_checkexp(vfs_t *vfsp, struct sockaddr *nam, uint64_t *extflagsp, struct ucred **credanonp, int *numsecflavors, int *secflavors) in the two places it exists in zfs_vfsops.c. rick With kindest regards, Kostya Berger _______________________________________________ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?QB1PR01MB33648347A48861545DEDFF17DD940>
