Opened 3 months ago

Closed 3 months ago

Last modified 3 months ago

#4851 closed enhancement (fixed)

Fix systemd to build with Linux-API-Headers-5.11.14 and higher

Reported by: Douglas R. Reno Owned by: Douglas R. Reno
Priority: normal Milestone: 11.0
Component: Book Version: git
Severity: normal Keywords:
Cc:

Description

As John Burrell reported here ( https://lists.linuxfromscratch.org/sympa/arc/lfs-dev/2021-04/msg00000.html ), the systemd build will fail with Linux-API-Headers-5.11.14 and higher. This seems to be due to a change in the RFKILL API.

The exact error message is:

FAILED: systemd-rfkill.p/src_rfkill_rfkill.c.o

and then:

../src/rfkill/rfkill.c:339:23: warning: comparison of integer
expressions of different signedness: ‘ssize_t’ {aka ‘long int’} and
‘long unsigned int’ [-Wsign-compare]
339 | if (l < RFKILL_EVENT_SIZE_V1)
| ^
In file included from ../src/basic/macro.h:657,
from ../src/basic/alloc-util.h:9,
from ../src/rfkill/rfkill.c:13:
../src/rfkill/rfkill.c:340:70: error: format ‘%d’ expects argument of
type ‘int’, but argument 8 has type ‘long unsigned int’
[-Werror=format=]
340 | return
log_error_errno(SYNTHETIC_ERRNO(EIO), "Short read of struct
rfkill_event: (%zd < %d)",

and finally:

cc1: some warnings being treated as errors
[791/1466] Compiling C object
src/resolve/libsystemd-resolve-core.a.p/resolved-dns-packet.c.o
ninja: build stopped: subcommand failed.

As Xi mentioned, the patch will need to be applied for 248 as well.

I'm going to get a patch for 247 going using the following commit: https://github.com/systemd/systemd/commit/ab1aa6368a883bce88e3162fee2bea14aacedf23 - when we go to 248, I will do the same.

Change History (6)

comment:1 by Douglas R. Reno, 3 months ago

Owner: changed from lfs-book to Douglas R. Reno
Status: newassigned

comment:2 by Douglas R. Reno, 3 months ago

Patches for both systemd-247 and systemd-248 put in at c683e53c in the patches repository.

comment:3 by Douglas R. Reno, 3 months ago

Configuring user-runtime-dir@.service.tmp using configuration
Configuring user@.service.tmp using configuration
Program /sources/systemd-247/tools/meson-make-symlink.sh found: YES (/sources/systemd-247/tools/meson-make-symlink.sh)
Program sh found: YES (/bin/sh)
Program sh found: YES (/bin/sh)
Program xsltproc found: NO
Configuring custom-entities.ent using configuration
Message: python-lxml not available, not making man page indices
Program rsync found: NO

../man/meson.build:187:0: ERROR: Program 'rsync' not found

A full log can be found at /sources/systemd-247/build/meson-logs/meson-log.txt

It looks like meson-0.56.2 has introduced a regression.

I've added "ln -sfv /bin/true /usr/bin/rsync" to chapter08/systemd.xml and am attempting another build to verify that things work.

In the meantime, rsync needs to be added to Required for systemd in BLFS. I'll also modify the dependencies in the appendix in LFS.

comment:4 by Douglas R. Reno, 3 months ago

An updated patch, systemd-247-upstream_fixes-3.patch, was added at 07933cdd in the patches repository.

comment:5 by Douglas R. Reno, 3 months ago

Resolution: fixed
Status: assignedclosed

comment:6 by Bruce Dubbs, 3 months ago

Milestone: 10.211.0

Milestone renamed

Note: See TracTickets for help on using tickets.