Date: Fri, 26 Jan 2018 23:20:56 -0700 From: John Nielsen <lists@jnielsen.net> To: freebsd-current <freebsd-current@freebsd.org> Cc: Warner Losh <imp@bsdimp.com>, Maurizio Vairani <maurizio1018@gmail.com>, Ian Lepore <ian@FreeBSD.org> Subject: Re: Error compiling isboot-kmod Message-ID: <09C92929-BC36-4C75-A2F2-0607C9701D40@jnielsen.net> In-Reply-To: <DB16E5CD-16F8-4A77-8CFA-84A0EF06764C@jnielsen.net> References: <CAN0zgYUEUYDm%2BT3H-hOq%2BQ=N84m3CcNAVz=gXA8e0vxb38Ab4Q@mail.gmail.com> <CANCZdfodgQEFOZhajAvnoGmf%2BZtGq1oC3WAorKOP8EHSLVYiAg@mail.gmail.com> <CAN0zgYXutpiJz7pGUDhEKvB6bB=PvpwoGexctbwvhN7KMofZxQ@mail.gmail.com> <9D0C6C9E-3020-4EC0-97AF-6498FB7356C7@jnielsen.net> <1516988137.42536.255.camel@freebsd.org> <DB16E5CD-16F8-4A77-8CFA-84A0EF06764C@jnielsen.net>
next in thread | previous in thread | raw e-mail | index | archive | help
> On Jan 26, 2018, at 9:42 PM, John Nielsen <lists@jnielsen.net> wrote: >=20 >> On Jan 26, 2018, at 10:35 AM, Ian Lepore <ian@FreeBSD.org> wrote: >>=20 >> On Fri, 2018-01-26 at 10:00 -0700, John Nielsen wrote: >>>>=20 >>>> On Jan 26, 2018, at 3:37 AM, Maurizio Vairani <maurizio1018@gmail.c >>>> om> wrote: >>>>=20 >>>> 2018-01-24 17:19 GMT+01:00 Warner Losh <imp@bsdimp.com>: >>>>=20 >>>>=20 >>>> On Wed, Jan 24, 2018 at 3:12 AM, Maurizio Vairani <maurizio1018@gma >>>> il.com> wrote: >>>> On this CURRENT snapshot >>>> # uname -a >>>> FreeBSD freebsd12 12.0-CURRENT FreeBSD 12.0-CURRENT #0 r327788: Wed >>>> Jan 10 >>>> 22:55:40 UTC 2018 >>>> root@releng3.nyi.freebsd.org:/usr/obj/usr/src/amd64.amd64/sys/GENER >>>> IC >>>> amd64 >>>>=20 >>>> I can't compile the kernel module isboot-kmod: >>>>=20 >>>> /usr/src/sys/sys/bus.h:726:10: fatal error: 'device_if.h' file not >>>> found >>>> #include "device_if.h" >>>> ^~~~~~~~~~~~~ >>>>=20 >>>> I think this was fixed in a newer -current. >>>>=20 >>>> Warner=20 >>>> Thanks Warner, but I have the same error in : >>>> # uname -a >>>> FreeBSD 12.0-CURRENT FreeBSD 12.0-CURRENT #0 r328383: Thu Jan 25 >>>> 04:48:52 UTC 2018 root@releng3.nyi.freebsd.org:/usr/obj/usr/src >>>> /amd64.amd64/sys/GENERIC amd64 >>> Whatever change broke it happened around the beginning of July 2017. >>> I started getting (and ignoring, sadly, due to lack of time and >>> certainty that anyone cared) messages with this error from pkg- >>> fallout@ on July 11. I'm looking through the revision history but >>> nothing stands out to me yet. Maybe someone with better svn-foo will >>> find it faster. :) >>>=20 >>>> In file included from /usr/src/sys/dev/mmc/bridge.h:59: >>>> /usr/src/sys/sys/bus.h:726:10: fatal error: 'device_if.h' file not >>>> found >>>> #include "device_if.h" >>>> ^~~~~~~~~~~~~ >>=20 >> I've never looked into how kernel modules compile when built as a = port, >> but when built as part of the system kernel build, the SRCS=3D in the >> module makefile needs to name all of the dynamically generated header >> files such as device_if.h (basically anything ending in _if.h used by >> the module needs to be in SRCS=3D). >>=20 >> So adding device_if.h to SRCS may be all that's needed. Or maybe >> that's incremental and you'll find that several others are needed as >> well. >=20 > Thanks! Patching the Makefile with: > SRCS+=3D device_if.h bus_if.h >=20 > solves the above issue but now there's something else. Anyone have an = idea off the top of their head? >=20 > root@freebsd12:/usr/ports/net/isboot-kmod # make > =3D=3D=3D> Configuring for isboot-kmod-0.2.13_1 > =3D=3D=3D> Building for isboot-kmod-0.2.13_1 > --- machine --- > --- x86 --- > --- objwarn --- > Warning: Object directory not changed from original = /usr/ports/net/isboot-kmod/work/isboot-0.2.13/src > --- x86 --- > x86 -> /usr/src/sys/x86/include > --- machine --- > machine -> /usr/src/sys/amd64/include > --- opt_cam.h --- > --- device_if.h --- > --- bus_if.h --- > --- opt_cam.h --- > :> opt_cam.h > --- device_if.h --- > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/device_if.m = -h > --- bus_if.h --- > awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/bus_if.m -h > --- isboot.o --- > --- ibft.o --- > --- iscsi.o --- > --- isboot.o --- > cc -O2 -pipe -DNO_MALLOC_EXTRAS -fno-strict-aliasing = -DNO_MALLOC_EXTRAS -Werror -D_KERNEL -DKLD_MODULE -nostdinc -I. = -I/usr/src/sys -fno-common -fno-omit-frame-pointer = -mno-omit-leaf-frame-pointer -MD -MF.depend.isboot.o -MTisboot.o = -mcmodel=3Dkernel -mno-red-zone -mno-mmx -mno-sse -msoft-float = -fno-asynchronous-unwind-tables -ffreestanding -fwrapv -fstack-protector = -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes = -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef = -Wno-pointer-sign -D__printf__=3D__freebsd_kprintf__ = -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas = -Wno-error-tautological-compare -Wno-error-empty-body = -Wno-error-parentheses-equality -Wno-error-unused-function = -Wno-error-pointer-sign -Wno-error-shift-negative-value = -Wno-error-address-of-packed-member -mno-aes -mno-avx = -std=3Diso9899:1999 -c isboot.c -o isboot.o > --- iscsi.o --- > cc -O2 -pipe -DNO_MALLOC_EXTRAS -fno-strict-aliasing = -DNO_MALLOC_EXTRAS -Werror -D_KERNEL -DKLD_MODULE -nostdinc -I. = -I/usr/src/sys -fno-common -fno-omit-frame-pointer = -mno-omit-leaf-frame-pointer -MD -MF.depend.iscsi.o -MTiscsi.o = -mcmodel=3Dkernel -mno-red-zone -mno-mmx -mno-sse -msoft-float = -fno-asynchronous-unwind-tables -ffreestanding -fwrapv -fstack-protector = -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes = -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef = -Wno-pointer-sign -D__printf__=3D__freebsd_kprintf__ = -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas = -Wno-error-tautological-compare -Wno-error-empty-body = -Wno-error-parentheses-equality -Wno-error-unused-function = -Wno-error-pointer-sign -Wno-error-shift-negative-value = -Wno-error-address-of-packed-member -mno-aes -mno-avx = -std=3Diso9899:1999 -c iscsi.c -o iscsi.o > --- ibft.o --- > cc -O2 -pipe -DNO_MALLOC_EXTRAS -fno-strict-aliasing = -DNO_MALLOC_EXTRAS -Werror -D_KERNEL -DKLD_MODULE -nostdinc -I. = -I/usr/src/sys -fno-common -fno-omit-frame-pointer = -mno-omit-leaf-frame-pointer -MD -MF.depend.ibft.o -MTibft.o = -mcmodel=3Dkernel -mno-red-zone -mno-mmx -mno-sse -msoft-float = -fno-asynchronous-unwind-tables -ffreestanding -fwrapv -fstack-protector = -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes = -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef = -Wno-pointer-sign -D__printf__=3D__freebsd_kprintf__ = -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas = -Wno-error-tautological-compare -Wno-error-empty-body = -Wno-error-parentheses-equality -Wno-error-unused-function = -Wno-error-pointer-sign -Wno-error-shift-negative-value = -Wno-error-address-of-packed-member -mno-aes -mno-avx = -std=3Diso9899:1999 -c ibft.c -o ibft.o > --- iscsi.o --- > iscsi.c:1146:3: error: incompatible pointer types passing 'void = (struct mbuf *, void *, void *)' to parameter of type 'm_ext_free_t *' = (aka 'void (*)(struct mbuf *)') [-Werror,-Wincompatible-pointer-types] > MEXTADD(md, (caddr_t)ds_dd, (ISCSI_ALIGN(pp->ds_len) > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > /usr/src/sys/sys/mbuf.h:887:42: note: expanded from macro 'MEXTADD' > m_extadd((m), (char *)(buf), (size), (free), (arg1), (arg2), = \ > ^~~~~~ > /usr/src/sys/sys/mbuf.h:634:59: note: passing argument to parameter = here > void m_extadd(struct mbuf *, char *, u_int, m_ext_free_t, Looks like iscsi.c needs to be fixed up following r324446 = (https://svnweb.freebsd.org/changeset/base/324446). Starting to be out = of my depth unless there's a mechanical way to make the changes?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?09C92929-BC36-4C75-A2F2-0607C9701D40>