Obsidian-StudiosInc / entrance

General purpose Display Manager built on the Enlightenment Foundation Libraries (EFL)
GNU General Public License v3.0
23 stars 10 forks source link

build: logind check fails under actual systemd, falls back to non-existent elogind #29

Closed SolarAquarion closed 6 years ago

SolarAquarion commented 6 years ago

You should probably add a "elogind" true or false as well to meson_options

SolarAquarion commented 6 years ago

he Meson build system Version: 0.48.0.dev1 Source dir: /home/solaraquarion/pkgbuild/entrance-git/src/entrance Build dir: /home/solaraquarion/pkgbuild/entrance-git/src/entrance/build Build type: native build Project name: entrance Project version: 3.0.0_alpha5 Appending CFLAGS from environment: '-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt' Appending LDFLAGS from environment: '-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now' Appending CPPFLAGS from environment: '-D_FORTIFY_SOURCE=2' Native C compiler: cc (gcc 8.2.0 "cc (GCC) 8.2.0") Build machine cpu family: x86_64 Build machine cpu: x86_64 Library crypt found: YES Found pkg-config: /usr/bin/pkg-config (1.5.3) Native dependency elementary found: YES 1.20.7 Native dependency ecore-x found: YES 1.20.7 Native dependency edje found: YES 1.20.7 Native dependency xcb found: YES 1.13 Library logind found: NO

SolarAquarion commented 6 years ago

I have this /usr/lib/systemd/systemd-logind

wltjr commented 6 years ago

I am not sure any of that will remain. I think I need to integrate with dbus or udev for seat/session support. The logind portion is read only of those values. I think on your system it maybe /lib/systemd/libsystemd-shared-237.so It needs to link to a shared object. I am not sure that file you referenced is such.

I do not think it needs an option for elogind separately from logind. It may need more conditionals to find logind from systemd, or a shared object to link against. If any of that remains. I just added it for experimentation. There is no code committed that links against that.

SolarAquarion commented 6 years ago

Well, we're getting build failures. It's this on my system libsystemd-shared-239.so

wltjr commented 6 years ago

The so is versioned, which will be more fun, hopefully pkg-config can help there. I can add more conditionals, but not sure that will remain. The only benefit to enabling that flag is when you run install it installs the service file. Otherwise there is no point in that option. Most can install that file as part of any package. Best to use tagged version than live from git. But it only breaks it you enable that mostly unused option. I will see about fixing that later, but its semi moot as I may remove it entirely. I just committed so I could test out some code on different systems. Code that is not committed and likely will not be as it seems I need to use dbus or udev. Thinking dbus vs udev for non linux systems.

wltjr commented 6 years ago

I think it may also be the version of meson. Older version of meson ignore the required: false in the meson.build file. I think I will switch away from Meson soon for CMake. I do not like having to install meson, or deal with versions. It should fail if both were not found, but it should proceed to the 2nd conditional. If you update meson, it should work, but will fail on the check for elogind. Really not a fan of meson for such issues.

wltjr commented 6 years ago

Then again it may just be the output, it may be working as intended. I think your output was missing this line, which points to elogind. I will see about a fix later this afternoon.