atom feed18 messages in org.freebsd.freebsd-currentRe: "/sys/conf/kmod.mk", line 111: Ma...
FromSent OnAttachments
O. HartmannMar 3, 2012 3:48 am 
Chris ReesMar 3, 2012 5:23 am 
Dimitry AndricMar 3, 2012 6:18 am 
Florian SmeetsMar 3, 2012 6:19 am 
Dimitry AndricMar 3, 2012 6:25 am 
O. HartmannMar 3, 2012 7:42 am 
ChrisApr 15, 2012 6:03 pm 
Dimitry AndricApr 15, 2012 11:44 pm 
ChrisApr 16, 2012 3:41 pm 
Anton ShterenlikhtApr 16, 2012 4:08 pm 
Dimitry AndricApr 17, 2012 2:18 am 
Anton ShterenlikhtApr 17, 2012 2:36 am 
Dimitry AndricApr 17, 2012 2:49 am 
Anton ShterenlikhtApr 17, 2012 3:52 am 
Arno J. KlaassenApr 17, 2012 8:59 am 
Mark LinimonApr 17, 2012 9:03 am 
Kevin ObermanApr 17, 2012 12:27 pm 
Dimitry AndricApr 17, 2012 1:52 pm 
Subject:Re: "/sys/conf/kmod.mk", line 111: Malformed conditional (${MK_CLANG_IS_CC}
From:Anton Shterenlikht (mex@bristol.ac.uk)
Date:Apr 17, 2012 3:52:03 am
List:org.freebsd.freebsd-current

On Tue, Apr 17, 2012 at 11:49:44AM +0200, Dimitry Andric wrote:

On 2012-04-17 11:36, Anton Shterenlikht wrote:

On Tue, Apr 17, 2012 at 11:18:29AM +0200, Dimitry Andric wrote:

...

That said, i think it may be time to bow to the pressure, and just put a fixup for this issue in kmod.mk, and the other .mk files, like I initially did in r232473, but with a BIG FAT WARNING printed, so you at least know you are attempting to shoot your extremities. :)

No, I wouldn't want that. It's just that I thought the ports system never uses anything from /usr/src.

Well, only the ports that build kernel modules need it, as far as I know. This is because in FreeBSD we do not install the 'full' kernel headers anywhere during installworld.

Maybe we could adopt the Linux solution and dump them somewhere in a versioned directory. :)

Perhaps the ports which do use /sys should print a warning to the user. Something like "before building this port, make sure your installed world version matches the version of your FreeBSD sources."

By the way, what would happen if I try to build those ports with no /sys at all?

It would hopefully error out. If you look in /usr/share/mk/bsd.kmod.mk, you will see this at the bottom:

.if !defined(SYSDIR) || !exists(${SYSDIR}/kern/) || \ !exists(${SYSDIR}/conf/kmod.mk) .error Unable to locate the kernel source tree. Set SYSDIR to override. .endif

So, setting SYSDIR to the correct directory is also a possible solution.

Ah.. I get it now. So the ports that build kernel modules invoke /usr/share/mk/bsd.kmod.mk, right?

So how about adding a warning to the user (that /sys version must match the installed world version) at the beginning of this file?

Who maintains this file, @ports or @head?