Scheduled Maintenance: We are aware of an issue with Google, AOL, and Yahoo services as email providers which are blocking new registrations. We are trying to fix the issue and we have several internal and external support tickets in process to resolve the issue. Please see: viewtopic.php?t=158230

 

 

 

systemd service can't find lib until home mounted [SOLVED]

If none of the specific sub-forums seem right for your thread, ask here.
Post Reply
Message
Author
CrazyDave
Posts: 1
Joined: 2018-02-27 22:48

systemd service can't find lib until home mounted [SOLVED]

#1 Post by CrazyDave »

My laptop has a mdadm device that contains four partitions: ubuntu 16.04, debian RT 9.3, home and swap. The home and swap partitions are encrypted (along with an SD card used as backup). I didn't want to use a key to unlock the luks partitions so I wrote a QProcess service owned by root that loads after "local-fs.target" and must be finished before "systemd-logind.service". In fstab all partitions are "noauto" except for the unencrypted OS partitions for both ubuntu and debian. The QProcess service opens a "sudo -S su" session and uses encrypted commands to unlock the partitions and mount all the "noauto" partitions. The service works fine in ubuntu, not so fine in debian. The service fails in debian, so none of the "noauto" partitions are mounted. Yet when I mount the encrypted home partition and rerun the service it executes fine doing all of the unlocking and mounting. You can see the terminal interaction after boot here:

---- After boot and login to user I open a terminal:

Code: Select all

user@debian:~$ sudo systemctl restart sclstartup.service
[sudo] password for user: 
Job for sclstartup.service failed because the control process exited with error code.
See "systemctl status sclstartup.service" and "journalctl -xe" for details.
---- journalctl provides the following comments related to sclstartup.service:

Code: Select all

-- Subject: Unit sclstartup.service has begun start-up
-- Defined-By: systemd
-- Support: https://www.debian.org/support
-- 
-- Unit sclstartup.service has begun starting up.
Feb 27 15:10:08 debian process[1390]: /bin/process: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.25' not found (required by /usr/lib64/libQt5Core.so.5)
Feb 27 15:10:08 debian systemd[1]: sclstartup.service: Main process exited, code=exited, status=1/FAILURE
Feb 27 15:10:08 debian systemd[1]: Failed to start Mount SCL Partitions.
-- Subject: Unit sclstartup.service has failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
-- 
-- Unit sclstartup.service has failed.
-- 
-- The result is failed.
Feb 27 15:10:08 debian systemd[1]: sclstartup.service: Unit entered failed state.
Feb 27 15:10:08 debian systemd[1]: sclstartup.service: Failed with result 'exit-code'.
Feb 27 15:10:08 debian sudo[1387]: pam_unix(sudo:session): session closed for user root
---- If I unlock and mount the home partition the service executes without failure

Code: Select all

user@debian:~$ sudo cryptsetup luksOpen /dev/md0p3 chome
[sudo] password for user: 
Enter passphrase for /dev/md0p3: 
user@debian:~$ sudo mount /dev/mapper/chome /home
user@debian:~$ sudo systemctl restart sclstartup.service
user@debian:~$ 
---- The 64-bit libc6 version is 2.23 in ubuntu and 2.24 in debian. There isn't any instances of libc.so.* on the home partition. I can't currently find a deb version of libc6 for 2.25, only an rpm version, and that will not convert to deb with alien. But why would it work fine in Ubuntu with an older version of libc6 and not so in debian until the home folder is mounted? I installed i386 on debian and then installed all the libraries to match ubuntu to no avail. Any suggestions? Thanks...

Post note 2018-02-27 - I changed the QProcess command "sudo -S su" to "su" using root password. Problem persists, same behaviour.

Post note 2018-02-28 - I checked all dependencies and made sure these dependencies existed on OS partition with ldconfig -v

Post note 2018-03-01 - [SOLVED] I did the following 1: Moved the QT libraries in /usr/lib64/ to a temp folder as I do not know which program installed them. I am certain that debian wouldn't distribute a libQt5Core.so.5 that depended on a version of glibc (2.25) that was under test. So far everything is behaving well. 2: I uninstalled QT5 from my home partition and installed them on root.

Post Reply