Ubuntu image: problems with udev:armhf

I would like to switch to the native udev:armhf package on the Ubuntu image. (This is a requirement for Openhab to run properly) But the service is not starting up after the switch. This is the output from the installation:

rock@openhabianpi:~$ sudo apt-get install udev:armhf
[sudo] password for rock: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libacl1:armhf libattr1:armhf libblkid1:armhf libkmod2:armhf libpcre3:armhf libselinux1:armhf libudev1:armhf libuuid1:armhf uuid-runtime
The following packages will be REMOVED:
  udev
The following NEW packages will be installed:
  libacl1:armhf libattr1:armhf libblkid1:armhf libkmod2:armhf libpcre3:armhf libselinux1:armhf libudev1:armhf libuuid1:armhf udev:armhf uuid-runtime
0 upgraded, 10 newly installed, 1 to remove and 0 not upgraded.
Need to get 1611 kB of archives.
After this operation, 1220 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://ports.ubuntu.com/ubuntu-ports bionic/main armhf libattr1 armhf 1:2.4.47-2build1 [8312 B]
Get:2 http://ports.ubuntu.com/ubuntu-ports bionic/main armhf libacl1 armhf 2.2.52-3build1 [13.7 kB]
Get:3 http://ports.ubuntu.com/ubuntu-ports bionic-updates/main armhf libuuid1 armhf 2.31.1-0.4ubuntu3.3 [19.5 kB]
Get:4 http://ports.ubuntu.com/ubuntu-ports bionic-updates/main armhf libblkid1 armhf 2.31.1-0.4ubuntu3.3 [112 kB]
Get:5 http://ports.ubuntu.com/ubuntu-ports bionic-updates/main armhf libkmod2 armhf 24-1ubuntu3.2 [34.3 kB]
Get:6 http://ports.ubuntu.com/ubuntu-ports bionic/main armhf libpcre3 armhf 2:8.39-9 [209 kB]
Get:7 http://ports.ubuntu.com/ubuntu-ports bionic/main armhf libselinux1 armhf 2.7-2build2 [58.9 kB]
Get:8 http://ports.ubuntu.com/ubuntu-ports bionic-updates/main armhf libudev1 armhf 237-3ubuntu10.15 [48.8 kB]
Get:9 http://ports.ubuntu.com/ubuntu-ports bionic-updates/main armhf udev armhf 237-3ubuntu10.15 [1075 kB]
Get:10 http://ports.ubuntu.com/ubuntu-ports bionic-updates/main arm64 uuid-runtime arm64 2.31.1-0.4ubuntu3.3 [31.8 kB]
Fetched 1611 kB in 0s (3285 kB/s)   
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76, <> line 10.)
debconf: falling back to frontend: Readline
Selecting previously unselected package libattr1:armhf.
(Reading database ... 31118 files and directories currently installed.)
Preparing to unpack .../0-libattr1_1%3a2.4.47-2build1_armhf.deb ...
Unpacking libattr1:armhf (1:2.4.47-2build1) ...
Selecting previously unselected package libacl1:armhf.
Preparing to unpack .../1-libacl1_2.2.52-3build1_armhf.deb ...
Unpacking libacl1:armhf (2.2.52-3build1) ...
Selecting previously unselected package libuuid1:armhf.
Preparing to unpack .../2-libuuid1_2.31.1-0.4ubuntu3.3_armhf.deb ...
Unpacking libuuid1:armhf (2.31.1-0.4ubuntu3.3) ...
Selecting previously unselected package libblkid1:armhf.
Preparing to unpack .../3-libblkid1_2.31.1-0.4ubuntu3.3_armhf.deb ...
Unpacking libblkid1:armhf (2.31.1-0.4ubuntu3.3) ...
Selecting previously unselected package libkmod2:armhf.
Preparing to unpack .../4-libkmod2_24-1ubuntu3.2_armhf.deb ...
Unpacking libkmod2:armhf (24-1ubuntu3.2) ...
Selecting previously unselected package libpcre3:armhf.
Preparing to unpack .../5-libpcre3_2%3a8.39-9_armhf.deb ...
Unpacking libpcre3:armhf (2:8.39-9) ...
Selecting previously unselected package libselinux1:armhf.
Preparing to unpack .../6-libselinux1_2.7-2build2_armhf.deb ...
Unpacking libselinux1:armhf (2.7-2build2) ...
Selecting previously unselected package libudev1:armhf.
Preparing to unpack .../7-libudev1_237-3ubuntu10.15_armhf.deb ...
Unpacking libudev1:armhf (237-3ubuntu10.15) ...
Selecting previously unselected package udev:armhf.
Preparing to unpack .../8-udev_237-3ubuntu10.15_armhf.deb ...
Unpacking udev:armhf (237-3ubuntu10.15) over (237-3ubuntu10.15) ...
Selecting previously unselected package uuid-runtime.
Preparing to unpack .../9-uuid-runtime_2.31.1-0.4ubuntu3.3_arm64.deb ...
Unpacking uuid-runtime (2.31.1-0.4ubuntu3.3) ...
Setting up libudev1:armhf (237-3ubuntu10.15) ...
Setting up libattr1:armhf (1:2.4.47-2build1) ...
Setting up libuuid1:armhf (2.31.1-0.4ubuntu3.3) ...
Setting up libpcre3:armhf (2:8.39-9) ...
Setting up libkmod2:armhf (24-1ubuntu3.2) ...
Setting up libblkid1:armhf (2.31.1-0.4ubuntu3.3) ...
Setting up uuid-runtime (2.31.1-0.4ubuntu3.3) ...
Adding group `uuidd' (GID 114) ...
Done.
Warning: The home dir /run/uuidd you specified can't be accessed: No such file or directory
Adding system user `uuidd' (UID 109) ...
Adding new user `uuidd' (UID 109) with group `uuidd' ...
Not creating home directory `/run/uuidd'.
Created symlink /etc/systemd/system/sockets.target.wants/uuidd.socket → /lib/systemd/system/uuidd.socket.
Processing triggers for libc-bin (2.27-3ubuntu1) ...
Setting up libselinux1:armhf (2.7-2build2) ...
Processing triggers for systemd (237-3ubuntu10.15) ...
Setting up libacl1:armhf (2.2.52-3build1) ...
Setting up udev:armhf (237-3ubuntu10.15) ...
Job for systemd-udevd.service failed because a fatal signal was delivered to the control process.
See "systemctl status systemd-udevd.service" and "journalctl -xe" for details.
invoke-rc.d: initscript udev, action "restart" failed.
● systemd-udevd.service - udev Kernel Device Manager
   Loaded: loaded (/lib/systemd/system/systemd-udevd.service; static; vendor preset: enabled)
   Active: activating (start) since Sat 2019-03-23 12:49:23 CET; 19ms ago
     Docs: man:systemd-udevd.service(8)
           man:udev(7)
 Main PID: 17256 (systemd-udevd)
    Tasks: 1
   CGroup: /system.slice/systemd-udevd.service
           └─17256 [systemd-udevd]

Mar 23 12:49:23 openhabianpi systemd[1]: Starting udev Kernel Device Manager...
Mar 23 12:49:23 openhabianpi systemd[1]: systemd-udevd.service: Main process exited, code=killed, status=31/SYS
Mar 23 12:49:23 openhabianpi systemd[1]: systemd-udevd.service: Failed with result 'signal'.
Mar 23 12:49:23 openhabianpi systemd[1]: Failed to start udev Kernel Device Manager.
Mar 23 12:49:23 openhabianpi systemd[1]: systemd-udevd.service: Service has no hold-off time, scheduling restart.
Mar 23 12:49:23 openhabianpi systemd[1]: systemd-udevd.service: Scheduled restart job, restart counter is at 2.
Mar 23 12:49:23 openhabianpi systemd[1]: Stopped udev Kernel Device Manager.
Mar 23 12:49:23 openhabianpi systemd[1]: Starting udev Kernel Device Manager...
Mar 23 12:49:23 openhabianpi systemd[1]: systemd-udevd.service: Main process exited, code=killed, status=31/SYS
Mar 23 12:49:23 openhabianpi systemd[1]: systemd-udevd.service: Failed with result 'signal'.
Mar 23 12:49:23 openhabianpi systemd[1]: Failed to start udev Kernel Device Manager.
Mar 23 12:49:23 openhabianpi systemd[1]: systemd-udevd.service: Service has no hold-off time, scheduling restart.
Mar 23 12:49:23 openhabianpi systemd[1]: systemd-udevd.service: Scheduled restart job, restart counter is at 3.
Mar 23 12:49:23 openhabianpi systemd[1]: Stopped udev Kernel Device Manager.
Mar 23 12:49:23 openhabianpi systemd[1]: Starting udev Kernel Device Manager...
dpkg: error processing package udev:armhf (--configure):
 installed udev:armhf package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 udev:armhf
E: Sub-process /usr/bin/dpkg returned an error code (1)

And this is the output from systemctl status systemd-udevd.service:

● systemd-udevd.service - udev Kernel Device Manager
   Loaded: loaded (/lib/systemd/system/systemd-udevd.service; static; vendor preset: enabled)
   Active: failed (Result: signal) since Sat 2019-03-23 12:56:42 CET; 1min 5s ago
     Docs: man:systemd-udevd.service(8)
           man:udev(7)
  Process: 17456 ExecStart=/lib/systemd/systemd-udevd (code=killed, signal=SYS)
 Main PID: 17456 (code=killed, signal=SYS)

But if I run sudo /lib/systemd/systemd-udevd I get no errors. Any ideas what could cause this problem? By the way, on the debian image the udev:armhf package seems to be installed by default.

I found a solution for this problem. I was having problems with the java oshi library because it wants to load the 32 bit libudev.so and in the Ubuntu image this library is not installed by default. Also the library looks in a different directory and under a different name for the file. I was able to solve the problem with the following commands:

sudo apt-get install libudev1:armhf
sudo ln -s /lib/arm-linux-gnueabihf/ /lib/linux-arm
sudo ln -s /lib/linux-arm/libudev.so.1 /lib/linux-arm/libudev.so

1 Like