https://bugs.kde.org/show_bug.cgi?id=452817

Fabian Vogt <fab...@ritter-vogt.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |fab...@ritter-vogt.de,
                   |                            |kdelibs-b...@kde.org
            Version|git-master                  |unspecified
           Assignee|plasma-b...@kde.org         |mp...@kde.org
          Component|general                     |general
            Product|kscreenlocker               |frameworks-kcoreaddons

--- Comment #9 from Fabian Vogt <fab...@ritter-vogt.de> ---
(In reply to Luca Beltrame from comment #8)
> This happens because KLibexec looks up kscreenlocker_greet in /libexec, not
> /usr/libexec.
> 
> From strace I ran on a nested Wayland session:
> 
> [pid 13948] execve("/libexec/kscreenlocker_greet"
> 
> But in openSUSE Tumbleweed it is installed in /usr/libexec.
> 
> I had a discussion about it with Fabian on IRC about a possible cause:
> 
> [12:35] <fvogt> The relative path is formed by going from /usr/lib64/ to
> /usr/libexec
> [12:36] <fvogt> During runtime the shared library is opened from /lib64/
> though, so it tries /libexec
> [12:36] <fvogt> i.e. incompatible with usrmerge
> [12:37] <fvogt> At least that's my theory

Looks like my theory is correct.

libkscreenlocker is built with /usr/lib64 as full libdir path and /usr/libexec
as full libexec path, so it tries to reach the greeter by doing
$self/../libexec/kscreenlocker_greet. In a usr-merged system, /lib64 is a
symlink to /usr/lib64 (or the other way around), so
/lib64/libKScreenLocker.so.5.24.80 and /usr/lib64/libKScreenLocker.so.5.24.80
refer to the same file. As /lib64 is earlier in the library search path than
/usr/lib64, the library is loaded as /lib64/libKScreenLocker.so.5.24.80 and the
path ends up as /lib64/../libexec/.

It works after forcing /usr/lib64/ earlier in the search path than /lib64.

Moving this over to kcoreaddons as the issue is with KLibexec.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to