Bug 1079754 - [glibc2.27] systemd fails to build
[glibc2.27] systemd fails to build
Status: RESOLVED FIXED
Classification: openSUSE
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Basesystem
Current
Other Other
: P5 - None : Normal (vote)
: ---
Assigned To: systemd maintainers
E-mail List
:
Depends on:
Blocks: 1079753
  Show dependency treegraph
 
Reported: 2018-02-07 08:26 UTC by Dominique Leuenberger
Modified: 2018-02-09 09:04 UTC (History)
3 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dominique Leuenberger 2018-02-07 08:26:52 UTC
openSUSE Factory is in progress of merging GLIBC 2.27 - systemd is amongst the packages failing to build

from the build log

[  145s] In file included from src/basic/missing.h:1230:0,
[  145s]                  from src/basic/util.h:46,
[  145s]                  from src/basic/def.h:22,
[  145s]                  from src/basic/cgroup-util.h:29,
[  145s]                  from src/basic/util.c:39:
[  145s] src/basic/missing_syscall.h:62:19: error: static declaration of 'memfd_create' follows non-static declaration

full log at
https://build.opensuse.org/package/live_build_log/openSUSE:Factory:Staging:C/systemd/standard/x86_64
Comment 1 Franck Bui 2018-02-07 17:43:50 UTC
Dominique,

I fixed the build of sytemd in Base:System and the simplest way to do that was to switch to Meson as well.

I'd like to pass the testsuite before forwarding this to Factory though.

Thomas, could you report the status of the testsuite here ?
Comment 2 Dominique Leuenberger 2018-02-07 17:54:52 UTC
Franck,

sure, please don't understand this bug as pushing you more as I already did on IRC; it's rather for a complete overview, as I filed bugs for all the failures I'd seen so far coming from glibc 2.27, having the bugs all linked together.

As of now, there are anyway still a couple other things missnig too
Comment 3 Thomas Blume 2018-02-08 11:10:52 UTC
(In reply to Franck Bui from comment #1)
> Dominique,
> 
> I fixed the build of sytemd in Base:System and the simplest way to do that
> was to switch to Meson as well.
> 
> I'd like to pass the testsuite before forwarding this to Factory though.
> 
> Thomas, could you report the status of the testsuite here ?

Please note that the testsuite build hasn't moved to meson yet.
I'm working on that.

===========================================================================
Testsuite summary for systemd 234
============================================================================
# TOTAL: 171
# PASS:  162
# SKIP:  6
# FAIL:  3
# ERROR: 0
============================================================================

The 3 failing tests are from the extended testsuite:

FAIL: TEST-01-BASIC
FAIL: TEST-02-CRYPTSETUP
[...]
FAIL: TEST-14-MACHINE-ID

Investigating....
Comment 4 Franck Bui 2018-02-08 11:14:15 UTC
(In reply to Thomas Blume from comment #3)
> The 3 failing tests are from the extended testsuite:
> 
> FAIL: TEST-01-BASIC
> FAIL: TEST-02-CRYPTSETUP
> [...]
> FAIL: TEST-14-MACHINE-ID
> 
> Investigating....

Thanks Thomas !

If you need help in your investigations, please do not hesitate to ping me.
Comment 5 Thomas Blume 2018-02-08 11:28:25 UTC
(In reply to Franck Bui from comment #4)
> If you need help in your investigations, please do not hesitate to ping me.

Thanks Franck, the 3 tests fail due to a failure of systemd-vconsole-setup:

-->
Feb 08 11:58:11 localhost systemd-vconsole-setup[272]: /usr/bin/setfont failed with error code 66.
Feb 08 11:58:11 localhost systemd-vconsole-setup[272]: Setting source virtual console failed, ignoring remaining ones
Feb 08 11:58:11 localhost systemd-udevd[270]: Process '/usr/lib/systemd/systemd-vconsole-setup' failed with exit code 1.
--<

Are you aware of any recent bug with vconsole-setup?
Comment 6 Dr. Werner Fink 2018-02-08 12:03:13 UTC
(In reply to Thomas Blume from comment #5)
> (In reply to Franck Bui from comment #4)
> > If you need help in your investigations, please do not hesitate to ping me.
> 
> Thanks Franck, the 3 tests fail due to a failure of systemd-vconsole-setup:
> 
> -->
> Feb 08 11:58:11 localhost systemd-vconsole-setup[272]: /usr/bin/setfont
> failed with error code 66.
> Feb 08 11:58:11 localhost systemd-vconsole-setup[272]: Setting source
> virtual console failed, ignoring remaining ones
> Feb 08 11:58:11 localhost systemd-udevd[270]: Process
> '/usr/lib/systemd/systemd-vconsole-setup' failed with exit code 1.
> --<
> 
> Are you aware of any recent bug with vconsole-setup?

/usr/include/sysexits.h ...

 #define EX_NOINPUT      66      /* cannot open input */
Comment 7 Thomas Blume 2018-02-08 12:46:34 UTC
(In reply to Dr. Werner Fink from comment #6)
> > Are you aware of any recent bug with vconsole-setup?
> 
> /usr/include/sysexits.h ...
> 
>  #define EX_NOINPUT      66      /* cannot open input */

Indeed:

-->
switch_root:/# /usr/lib/systemd/systemd-vconsole-setup
Cannot open font file eurlatgr.psfu
/usr/bin/setfont failed with error code 66.
Setting source virtual console failed, ignoring remaining ones
--<
Comment 8 Thomas Blume 2018-02-08 12:52:11 UTC
(In reply to Thomas Blume from comment #7)
> -->
> switch_root:/# /usr/lib/systemd/systemd-vconsole-setup
> Cannot open font file eurlatgr.psfu
> /usr/bin/setfont failed with error code 66.
> Setting source virtual console failed, ignoring remaining ones
> --<

switch_root:/# ls -l /usr/share/kbd/consolefonts/
total 20
-rw-r--r-- 1 root 0 9836 Dec 10 18:16 LatArCyrHeb-16.psfu
-rw-r--r-- 1 root 0 4096 Dec 10 18:16 t.fnt
Comment 9 Thomas Blume 2018-02-08 13:29:27 UTC
Seems that dracut has a different idea about what should be the default font:

-->
# grep DEFAULT_FONT /usr/lib/dracut/modules.d/10i18n/module-setup.sh
    DEFAULT_FONT="${i18n_default_font:-LatArCyrHeb-16}"
        inst_opt_decompress ${kbddir}/consolefonts/${DEFAULT_FONT}.*
--<
Comment 10 Franck Bui 2018-02-08 13:36:09 UTC
(In reply to Thomas Blume from comment #9)
> Seems that dracut has a different idea about what should be the default font:
> 
> -->
> # grep DEFAULT_FONT /usr/lib/dracut/modules.d/10i18n/module-setup.sh
>     DEFAULT_FONT="${i18n_default_font:-LatArCyrHeb-16}"
>         inst_opt_decompress ${kbddir}/consolefonts/${DEFAULT_FONT}.*
> --<

Indeed.

So this issue is not related to systemd and the switch to Meson it seems.
Comment 11 Thomas Blume 2018-02-08 13:45:58 UTC
(In reply to Franck Bui from comment #10)
> (In reply to Thomas Blume from comment #9)
> > Seems that dracut has a different idea about what should be the default font:
> > 
> > -->
> > # grep DEFAULT_FONT /usr/lib/dracut/modules.d/10i18n/module-setup.sh
> >     DEFAULT_FONT="${i18n_default_font:-LatArCyrHeb-16}"
> >         inst_opt_decompress ${kbddir}/consolefonts/${DEFAULT_FONT}.*
> > --<
> 
> Indeed.
> 
> So this issue is not related to systemd and the switch to Meson it seems.

Yes, systemd is right, eurlatgr.psfu is the configured font:

-->
# grep -B3 eurlatgr /etc/sysconfig/console 
# Load this console font on bootup:
# (/usr/share/kbd/consolefonts/)
# 
CONSOLE_FONT="eurlatgr.psfu"
--<

This seems to be a bug in dracut.
It installs /etc/sysconfig/console, so that systemd-vconsole can setup CONSOLE_FONT:


-->
        if dracut_module_included "systemd" && [[ -f /etc/sysconfig/console ]]; then
            inst_simple /etc/sysconfig/console
        fi
--<

But it doesn't install the font that is configured in /etc/sysconfig/console.

Daniel, can you confirm?
If yes, I will open a separate bug and the systemd meson build can be considered as passing the testsuite.
Comment 12 Franck Bui 2018-02-08 13:49:50 UTC
Please note that /etc/sysconfig/{console,keyboard,...} configuration files are deprecated, see fate#319454.

In fact SLE15 is not using them already and Factory is going to switch soon.
Comment 13 Thomas Blume 2018-02-08 13:59:53 UTC
(In reply to Franck Bui from comment #12)
> Please note that /etc/sysconfig/{console,keyboard,...} configuration files
> are deprecated, see fate#319454.
> 
> In fact SLE15 is not using them already and Factory is going to switch soon.

Ok, dracut reads vconsole.conf and installs the font from there:

d118:~ # cat /etc/vconsole.conf 
KEYMAP=ua-utf
FONT=t.fnt

So, dracut seems to be already on SLE15 level, but systemd isn't.
Now, I'm not sure anymore on which side the bug is.
Comment 14 Franck Bui 2018-02-09 09:04:05 UTC
Dominique, the switch to Meson has been pushed to Factory and systemd should build fine against glibc 2.27.

Thereby I'm closing this bug.