[systemd-devel] systemd-213 fails to compile without kmod, no way to fix it using ./configure options

Tom Gundersen teg at jklm.no
Sun Jun 1 00:57:55 PDT 2014


On Sun, Jun 1, 2014 at 8:15 AM, Lennart Poettering
<lennart at poettering.net> wrote:
> On Sun, 01.06.14 08:04, Tom Gundersen (teg at jklm.no) wrote:
>
>> On 1 Jun 2014 06:31, "Lennart Poettering" <lennart at poettering.net> wrote:
>> >
>> > On Sat, 31.05.14 19:43, Samuli Suominen (ssuominen at gentoo.org) wrote:
>> >
>> > >
>> > >
>> > > On 31/05/14 17:10, Samuli Suominen wrote:
>> > > > On 31/05/14 14:14, Samuli Suominen wrote:
>> > > >> 1. "libsystemd_network_la_SOURCES =" in Makefile.am includes
>> > > >> "src/libsystemd-network/network-internal.h"
>> > > >> and there is no anykind of #ifdef -logic behind it
>> > > >>
>> > > >> 2. "src/libsystemd-network/network-internal.h" has #include
>> <libkmod.h>
>> > > >> and there is no anykind of #ifdef
>> > > >> -logic behind it
>> > > >>
>> > > >> so kmod is hardcoded dependency in systemd-213:
>> > > >>
>> > > >>
>> > > > This patch is a half-complete hack that only works with
>> > > > --disable-networkd, as it only covers the files
>> > > > that are outside of the #if NETWORKD in Makefile.am
>> > > > As in, I've used this patch only for the package within Gentoo that
>> > > > builds only udev, not rest of systemd,
>> > > > that uses --disable-networkd
>> > > > So consider this as proof of consept, not for inclusion
>> > > >
>> > > > - Samuli
>> > > >
>> > > >
>> > > > _______________________________________________
>> > > > systemd-devel mailing list
>> > > > systemd-devel at lists.freedesktop.org
>> > > > http://lists.freedesktop.org/mailman/listinfo/systemd-devel
>> > >
>> > > I just realized configure.ac already has,
>> > >
>> > > AS_IF([test "x$have_networkd" = "xyes" -a "x$have_kmod" != "xyes"],
>> > >       [AC_MSG_ERROR([networkd requires kmod])])
>> > >
>> > > So this patch should be considered for inclusion after all as-is. You
>> > > should credit "Mike Gilbert <floppym at gentoo.org>" for
>> > > the patch, not me.
>> >
>> > I'd prefer I we could fix this properly and allow networkd build without
>> > kmod. I am very cool on linking against kmod from networkd anyway (in
>> > particular since I want networkd to run without CAP_SYS_MODULE), so I
>> > think this could be the least we should be doing...
>>
>> We should be able to drop the whole kmod thing from networkd any day now (a
>> fix is in net-next). Merging it was probably a mistake in the first place.
>
> That's great news!
>
> What precisely was this needed for in the first place? Some tunnel
> modules? If it's just that itshould be Ok to simply drop this from
> networkd again, and ask people with old kernels to add this to
> /etc/modules-load.d/ instead...

Yeah, some tunell modules would not get autoloaded:
<https://lkml.org/lkml/2014/5/13/118>. The modules load thing may
indeed be a better solution until the fix is widespread. I'll request
that this is backported to stable as well.

> I'd be quite happy if we could run our network management daemon without
> the ability to load kernel modules!

Indeed.

Cheers,

Tom


More information about the systemd-devel mailing list