Skip site navigation (1)Skip section navigation (2)
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>