Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 680832 - mate-base/mate-session-manager-1.22.0 fails to build on non-systemd profiles
Summary: mate-base/mate-session-manager-1.22.0 fails to build on non-systemd profiles
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo MATE Desktop
URL: https://github.com/mate-desktop/mate-...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-03-18 07:28 UTC by Jean-Claude Repetto
Modified: 2019-03-19 09:29 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Full build log (build.log,55.39 KB, text/x-log)
2019-03-18 07:28 UTC, Jean-Claude Repetto
Details
emerge --info (file_680832.txt,6.49 KB, text/plain)
2019-03-18 07:30 UTC, Jean-Claude Repetto
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jean-Claude Repetto 2019-03-18 07:28:37 UTC
Created attachment 569578 [details]
Full build log

First, there are some compiler warnings:

sm-systemd.c: In function ‘gsm_systemd_is_last_session_for_user’:
gsm-systemd.c:432:15: warning: implicit declaration of function ‘sd_pid_get_session’; did you mean ‘dbus_get_version’? [-Wimplicit-function-declaration]
         ret = sd_pid_get_session (getpid (), &session);
               ^~~~~~~~~~~~~~~~~~
               dbus_get_version
gsm-systemd.c:438:15: warning: implicit declaration of function ‘sd_uid_get_sessions’; did you mean ‘dbus_get_version’? [-Wimplicit-function-declaration]
         ret = sd_uid_get_sessions (getuid (), FALSE, &sessions);
               ^~~~~~~~~~~~~~~~~~~
               dbus_get_version
x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I..  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/libdrm -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include       -I../egg -DLOCALE_DIR=\""/usr/share/locale"\" -DDATA_DIR=\""/usr/share/mate-session"\" -DLIBEXECDIR=\"/usr/libexec\" -DGTKBUILDER_DIR=\""/usr/share/mate-session-manager"\" -DI_KNOW_THE_DEVICEKIT_POWER_API_IS_SUBJECT_TO_CHANGE  -Wall  -march=native -O2 -pipe -c -o mate_session-gsm-logout-dialog.o `test -f 'gsm-logout-dialog.c' || echo './'`gsm-logout-dialog.c
gsm-systemd.c:453:23: warning: implicit declaration of function ‘sd_session_get_state’; did you mean ‘gsm_systemd_get_type’? [-Wimplicit-function-declaration]
                 ret = sd_session_get_state (sessions[i], &state);
                       ^~~~~~~~~~~~~~~~~~~~
                       gsm_systemd_get_type
gsm-systemd.c:464:23: warning: implicit declaration of function ‘sd_session_get_type’; did you mean ‘gsm_systemd_get_type’? [-Wimplicit-function-declaration]
                 ret = sd_session_get_type (sessions[i], &type);
                       ^~~~~~~~~~~~~~~~~~~
                       gsm_systemd_get_type

And finally linker errors:

mate_session-gsm-systemd.o: In function `gsm_systemd_is_last_session_for_user':
gsm-systemd.c:(.text+0x8f1): undefined reference to `sd_pid_get_session'
gsm-systemd.c:(.text+0x931): undefined reference to `sd_uid_get_sessions'
gsm-systemd.c:(.text+0x9a6): undefined reference to `sd_session_get_state'
gsm-systemd.c:(.text+0x9e0): undefined reference to `sd_session_get_type'
collect2: error: ld returned 1 exit status
Comment 1 Jean-Claude Repetto 2019-03-18 07:30:02 UTC
Created attachment 569580 [details]
emerge --info
Comment 2 Li Yanrui 2019-03-18 08:29:41 UTC
I have also this problem.

Dirty hack: put the function `gsm_systemd_is_last_session_for_user` in gsm-systemd.c between `#ifdef HAVE_SYSTEMD` and `#endif`.
Comment 3 Mikle Kolyada (RETIRED) archtester Gentoo Infrastructure gentoo-dev Security 2019-03-18 10:45:34 UTC
This one is regression against non-systemd users confirmed by upstream.
Comment 4 Larry the Git Cow gentoo-dev 2019-03-19 09:17:34 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8dfe0d5537c0a504a3ff6e7af84c6bf20d51a5f6

commit 8dfe0d5537c0a504a3ff6e7af84c6bf20d51a5f6
Author:     Mikle Kolyada <zlogene@gentoo.org>
AuthorDate: 2019-03-19 09:16:40 +0000
Commit:     Mikle Kolyada <zlogene@gentoo.org>
CommitDate: 2019-03-19 09:17:27 +0000

    mate-base/mate-session-manager: fix regression on non-systemd profiles
    
    Closes: https://bugs.gentoo.org/680832
    Signed-off-by: Mikle Kolyada <zlogene@gentoo.org>
    Package-Manager: Portage-2.3.62, Repoman-2.3.11

 ...ion-manager-1.22.0-fix-systemd-regression.patch | 65 ++++++++++++++++++++++
 .../mate-session-manager-1.22.0.ebuild             |  2 +
 2 files changed, 67 insertions(+)