Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 26 Jan 2018 10:35:37 -0700
From:      Ian Lepore <ian@freebsd.org>
To:        John Nielsen <lists@jnielsen.net>, freebsd-current <freebsd-current@freebsd.org>
Cc:        Warner Losh <imp@bsdimp.com>, Maurizio Vairani <maurizio1018@gmail.com>
Subject:   Re: Error compiling isboot-kmod
Message-ID:  <1516988137.42536.255.camel@freebsd.org>
In-Reply-To: <9D0C6C9E-3020-4EC0-97AF-6498FB7356C7@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>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 2018-01-26 at 10:00 -0700, John Nielsen wrote:
> > 
> > On Jan 26, 2018, at 3:37 AM, Maurizio Vairani <maurizio1018@gmail.c
> > om> wrote:
> > 
> > 2018-01-24 17:19 GMT+01:00 Warner Losh <imp@bsdimp.com>:
> > 
> > 
> > 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
> > 
> > I can't compile the kernel module isboot-kmod:
> > # cd /usr/ports/net/isboot-kmod && make
> > ===>  License BSD2CLAUSE accepted by the
> > user
> > 
> > ===>   isboot-kmod-0.2.13_1 depends on file: /usr/local/sbin/pkg -
> > found
> > ===> Fetching all distfiles required by isboot-kmod-0.2.13_1 for
> > building
> > ===>  Extracting for isboot-kmod-0.2.13_1
> > => SHA256 Checksum OK for isboot-0.2.13.tar.gz.
> > ===>  Patching for isboot-kmod-0.2.13_1
> > ===>  Applying FreeBSD patches for isboot-kmod-0.2.13_1
> > ===>  Configuring for isboot-kmod-0.2.13_1
> > ===>  Building for isboot-kmod-0.2.13_1
> > --- machine ---
> > --- x86 ---
> > --- machine ---
> > machine -> /usr/src/sys/amd64/include
> > --- x86 ---
> > x86 -> /usr/src/sys/x86/include
> > --- objwarn ---
> > --- opt_cam.h ---
> > --- objwarn ---
> > Warning: Object directory not changed from original
> > /usr/ports/net/isboot-kmod/work/isboot-0.2.13/src
> > --- opt_cam.h ---
> > :> opt_cam.h
> > --- isboot.o ---
> > --- ibft.o ---
> > --- isboot.o ---
> > cc  -O2 -pipe -fno-strict-aliasing  -Werror -D_KERNEL -DKLD_MODULE
> > -nostdinc   -I. -I/usr/src/sys -fno-common  -fno-omit-frame-pointer
> > -mno-omit-leaf-frame-pointer   -MD  -MF.depe$
> > d.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-dec$
> > s -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-s$
> > gn -Wno-error-shift-negative-value -Wno-error-address-of-packed-
> > member
> > -mno-aes -mno-avx  -std=iso9899:1999 -c isboot.c -o isboot.o
> > --- ibft.o ---
> > cc  -O2 -pipe -fno-strict-aliasing  -Werror -D_KERNEL -DKLD_MODULE
> > -nostdinc   -I. -I/usr/src/sys -fno-common  -fno-omit-frame-pointer
> > -mno-omit-leaf-frame-pointer   -MD  -MF.depe$
> > d.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 -$
> > nested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-
> > arith
> > -Winline -Wcast-qual -Wundef -Wno-pointer-sign
> > -D__printf__=__freebsd_kprintf__ -Wmissing-include-dirs -fdi$
> > gnostics-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 ---
> > cc  -O2 -pipe -fno-strict-aliasing  -Werror -D_KERNEL -DKLD_MODULE
> > -nostdinc   -I. -I/usr/src/sys -fno-common  -fno-omit-frame-pointer
> > -mno-omit-leaf-frame-pointer   -MD  -MF.depe$
> > d.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 -f$
> > iagnostics-show-option -Wno-unknown-pragmas -Wno-error-
> > tautological-compare
> > -Wno-error-empty-body -Wno-error-parentheses-equality
> > -Wno-error-unused-function -Wno-error-pointer-sig$
> >  -Wno-error-shift-negative-value -Wno-error-address-of-packed-
> > member
> > -mno-aes -mno-avx  -std=iso9899:1999 -c iscsi.c -o iscsi.o
> > In file included from iscsi.c:62:
> > In file included from /usr/src/sys/cam/cam_ccb.h:1035:
> > In file included from /usr/src/sys/cam/mmc/mmc_bus.h:5:
> > 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 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@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. :)
> 
> JN
> 
> > 
> > # MAKE_JOBS_UNSAFE=yes make 
> > ===>  License BSD2CLAUSE accepted by the user
> > ===>   isboot-kmod-0.2.13_1 depends on file: /usr/local/sbin/pkg -
> > found
> > ===> Fetching all distfiles required by isboot-kmod-0.2.13_1 for
> > building
> > ===>  Extracting for isboot-kmod-0.2.13_1
> > => SHA256 Checksum OK for isboot-0.2.13.tar.gz.
> > ===>  Patching for isboot-kmod-0.2.13_1
> > ===>  Applying FreeBSD patches for isboot-kmod-0.2.13_1
> > ===>  Configuring for isboot-kmod-0.2.13_1
> > ===>  Building for isboot-kmod-0.2.13_1
> > machine -> /usr/src/sys/amd64/include
> > x86 -> /usr/src/sys/x86/include
> > :> opt_cam.h
> > Warning: Object directory not changed from original
> > /usr/ports/net/isboot-kmod/work/isboot-0.2.13/src
> > cc  -O2 -pipe -fno-strict-aliasing  -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
> > cc  -O2 -pipe -fno-strict-aliasing  -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
> > cc  -O2 -pipe -fno-strict-aliasing  -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
> > In file included from iscsi.c:62:
> > In file included from /usr/src/sys/cam/cam_ccb.h:1035:
> > In file included from /usr/src/sys/cam/mmc/mmc_bus.h:5:
> > 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.

As for commits in the July timeframe that led to this, maybe r320844.

-- Ian



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1516988137.42536.255.camel>