Date: Sat, 7 Jul 2018 12:07:36 -0500 From: Kyle Evans <kevans@freebsd.org> To: Bryan Drewery <bdrewery@freebsd.org> Cc: src-committers <src-committers@freebsd.org>, Mariusz Zaborski <oshogbo@freebsd.org>, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r336026 - in head: lib/libnv usr.sbin/config Message-ID: <CACNAnaETGzGUAuykL41_Ni4hzrk2Nkud1kn0yDDYL=mw7CpZAw@mail.gmail.com> In-Reply-To: <201807061123.w66BNEtb022856@repo.freebsd.org> References: <201807061123.w66BNEtb022856@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jul 6, 2018 at 6:23 AM, Kyle Evans <kevans@freebsd.org> wrote: > Author: kevans > Date: Fri Jul 6 11:23:14 2018 > New Revision: 336026 > URL: https://svnweb.freebsd.org/changeset/base/336026 > > Log: > config(8): Fix broken ABI > > r336019 introduced ${SRCTOP}/sys to the include paths in order to pull in a > new sys/{c,}nv.h. This is wrong, because the build tree's ABI isn't > guaranteed to match what's running on the host system. > > Fix instead by removing -I${SRCTOP}/sys and installing the libnv headers > with `make -C lib/libnv includes`... this may or may not get re-worked in > the future so that a userland lib isn't installing includes from sys/. > > Reported by: bdrewery > > Modified: > head/lib/libnv/Makefile > head/usr.sbin/config/Makefile > > Modified: head/lib/libnv/Makefile > ============================================================================== > --- head/lib/libnv/Makefile Fri Jul 6 10:13:42 2018 (r336025) > +++ head/lib/libnv/Makefile Fri Jul 6 11:23:14 2018 (r336026) > @@ -17,6 +17,9 @@ SRCS+= msgio.c > SRCS+= nvlist.c > SRCS+= nvpair.c > > +INCSDIR= ${INCLUDEDIR}/sys > +INCS= ${SRCTOP}/sys/sys/cnv.h ${SRCTOP}/sys/sys/nv.h > + > HAS_TESTS= > SUBDIR.${MK_TESTS}+= tests > It seems that this isn't a sustainable solution, as it creates a conflict between runtime-development and libnv-development packages as both try to install these headers from sys/. If we want to use libnv from legacy build in a bootstrap tool, though, we need lib/libnv to setup INCS correctly. Is there a better solution to either only do this if we're BOOTSTRAPPING < 1200070 and staging worldtmp or just pull these from sys/sys while still allowing them to be used in kernel as expected?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACNAnaETGzGUAuykL41_Ni4hzrk2Nkud1kn0yDDYL=mw7CpZAw>