Re: Error compiling isboot-kmod

From: John Nielsen <lists_at_jnielsen.net>
Date: Fri, 26 Jan 2018 21:42:16 -0700
> On Jan 26, 2018, at 10:35 AM, Ian Lepore <ian_at_FreeBSD.org> wrote:
> 
> On Fri, 2018-01-26 at 10:00 -0700, John Nielsen wrote:
>>> 
>>> On Jan 26, 2018, at 3:37 AM, Maurizio Vairani <maurizio1018_at_gmail.c
>>> om> wrote:
>>> 
>>> 2018-01-24 17:19 GMT+01:00 Warner Losh <imp_at_bsdimp.com>:
>>> 
>>> 
>>> On Wed, Jan 24, 2018 at 3:12 AM, Maurizio Vairani <maurizio1018_at_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_at_releng3.nyi.freebsd.org:/usr/obj/usr/src/amd64.amd64/sys/GENER
>>> IC
>>> amd64
>>> 
>>> I can't compile the kernel module isboot-kmod:
>>> 
>>> /usr/src/sys/sys/bus.h:726:10: fatal error: 'device_if.h' file not
>>> found
>>> #include "device_if.h"
>>>          ^~~~~~~~~~~~~
>>> 
>>> I think this was fixed in a newer -current.
>>> 
>>> Warner 
>>> 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_at_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_at_ 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. :)
>> 
>>> 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"
>>>          ^~~~~~~~~~~~~
> 
> 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= 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=).
> 
> 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.

Thanks! Patching the Makefile with:
SRCS+=  device_if.h bus_if.h

solves the above issue but now there's something else. Anyone have an idea off the top of their head?

root_at_freebsd12:/usr/ports/net/isboot-kmod # make
===>  Configuring for isboot-kmod-0.2.13_1
===>  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=kernel -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__=__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=iso9899: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=kernel -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__=__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=iso9899: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=kernel -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__=__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=iso9899: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,
                                                                    ^
1 error generated.
*** [iscsi.o] Error code 1

make[2]: stopped in /usr/ports/net/isboot-kmod/work/isboot-0.2.13/src
1 error

make[2]: stopped in /usr/ports/net/isboot-kmod/work/isboot-0.2.13/src
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/net/isboot-kmod
*** Error code 1

Stop.
make: stopped in /usr/ports/net/isboot-kmod


> As for commits in the July timeframe that led to this, maybe r320844.
Received on Sat Jan 27 2018 - 03:42:23 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:14 UTC