"/sys/conf/kmod.mk", line 111: Malformed conditional (${MK_CLANG_IS_CC}

Dimitry Andric dim at FreeBSD.org
Tue Apr 17 09:49:47 UTC 2012


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.


More information about the freebsd-current mailing list