You are not logged in.
After running -Syu today, with the new version of systemd-tools replacing udev, ldm, the device mounter stopped working, complaining that it could not find libudev.so.0. I attempted to recompile ldm from the aur pkgbuild, but the compilation failed, unable to find a whole lot of udev related shared object files, making me believe that the udev in systemd-tools is putting things in different locations, or that it is missing some shared object files that the udev package used to have. I have tried uninstalling systemd-tools and reverting to the old vertion of udev after downgrading a few other packages as well, and, after a recompile of ldm it worked again, so I am sure that the problem is caused by this upgrade. Please help, any ideas are appreciated as ldm really is great for managing removable disks without worrying about permissions.
Last edited by magicalChicken (2012-06-02 14:09:25)
Offline
Offline
ln -s /usr/lib/libudev.so.1.0.0 /usr/lib/libudev.so.0
Offline
Maybe not - but it works. I've had to do it daily for the last 3 days simply because systemd-tools updates and deletes the link. I suspect that the OP is using xorg111 and that's where the problem lies.
Ryzen 5900X 12 core/24 thread - RTX 3090 FE 24 Gb, Asus B550-F Gaming MB, 128Gb Corsair DDR4, Cooler Master N300 chassis, 5 HD (2 NvME PCI, 4SSD) + 1 x optical.
Linux user #545703
/ is the root of all problems.
Offline
Might this not be something to bring to the ldm dev's attention, rather than posting here? Seems pointless to mention that an update to [core] broke third-party, unsupported, infrequently used software. Very pointless. Then again, we do get this sort of thing about AUR wrappers every time there's a pacman update, and no one ever seems to learn...
Offline
systemd-tools/udev broke a lot more than LDM by removing libudev.so.0 (take a look around the forums at the plethora of posts). One such broken issue for exactly the same reason is xorg 1.11
Ryzen 5900X 12 core/24 thread - RTX 3090 FE 24 Gb, Asus B550-F Gaming MB, 128Gb Corsair DDR4, Cooler Master N300 chassis, 5 HD (2 NvME PCI, 4SSD) + 1 x optical.
Linux user #545703
/ is the root of all problems.
Offline
The posts are all related to *third party* repositories. This isn't something udev/systemd-tools broke, it's their job to stay up-to-date with the main repos. Or you fix it yourself - but the fix isn't making symlinks, it's recompiling xorg 1.11. Though I've noticed "recompile" seems to be a dirty word here at the Arch forums. And I really mean that, people here freeze and/or panic when you tell them to recompile something.
Last edited by Gusar (2012-06-01 19:45:34)
Offline
For the record I am not using xorg 1.11, i am using 1.12, so this is not related to xorg version. I am running the binary version of xorg 1.12 from the main repo, though if you think that recompiling xorg could work then I could do this, though it does seem like a bit of a pain. I know that downgrading is dangerous, and I have no intention of downgrading to fix ldm, and I also know that it is potentially risky to link shared object files. I do not need ldm for the time being, as I can manage using sudo, but it does seem that there is a lot of stuff broken after this upgrade. As for the request for the actual error when trying to recompile ldm it is
==> Starting make...
cc -march=i686 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -o ldm.o -c ldm.c
cc -Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu -ludev -o ldm ldm.o
ldm.o: In function `fstab_search':
ldm.c:(.text+0x1e7): undefined reference to `udev_device_get_property_value'
ldm.c:(.text+0x21f): undefined reference to `udev_device_get_property_value'
ldm.o: In function `device_has_media':
ldm.c:(.text+0x3d0): undefined reference to `udev_device_get_property_value'
ldm.o: In function `device_create_mountpoint':
ldm.c:(.text+0x491): undefined reference to `udev_device_get_property_value'
ldm.c:(.text+0x4a8): undefined reference to `udev_device_get_property_value'
ldm.o:ldm.c:(.text+0x51f): more undefined references to `udev_device_get_property_value' follow
ldm.o: In function `device_destroy':
ldm.c:(.text+0x621): undefined reference to `udev_device_unref'
ldm.o: In function `device_new':
ldm.c:(.text+0x6c0): undefined reference to `udev_device_get_devnode'
ldm.c:(.text+0x6db): undefined reference to `udev_device_get_property_value'
ldm.c:(.text+0x6ee): undefined reference to `udev_device_get_devtype'
ldm.c:(.text+0x700): undefined reference to `udev_device_get_property_value'
ldm.o: In function `device_unmount':
ldm.c:(.text+0x833): undefined reference to `udev_device_get_devnode'
ldm.o: In function `device_change':
ldm.c:(.text+0xb4c): undefined reference to `udev_device_get_devnode'
ldm.o: In function `mount_plugged_devices':
ldm.c:(.text+0xbbf): undefined reference to `udev_enumerate_new'
ldm.c:(.text+0xbd1): undefined reference to `udev_enumerate_add_match_subsystem'
ldm.c:(.text+0xbd9): undefined reference to `udev_enumerate_scan_devices'
ldm.c:(.text+0xbe1): undefined reference to `udev_enumerate_get_list_entry'
ldm.c:(.text+0xbf4): undefined reference to `udev_list_entry_get_next'
ldm.c:(.text+0xc02): undefined reference to `udev_list_entry_get_name'
ldm.c:(.text+0xc0e): undefined reference to `udev_device_new_from_syspath'
ldm.c:(.text+0xc18): undefined reference to `udev_device_get_devnode'
ldm.c:(.text+0xc34): undefined reference to `udev_list_entry_get_next'
ldm.c:(.text+0xc4a): undefined reference to `udev_enumerate_unref'
ldm.o: In function `main':
ldm.c:(.text.startup+0xdf): undefined reference to `udev_new'
ldm.c:(.text.startup+0xf1): undefined reference to `udev_monitor_new_from_netlink'
ldm.c:(.text.startup+0x103): undefined reference to `udev_monitor_enable_receiving'
ldm.c:(.text.startup+0x12f): undefined reference to `udev_monitor_unref'
ldm.c:(.text.startup+0x137): undefined reference to `udev_unref'
ldm.c:(.text.startup+0x1cb): undefined reference to `udev_monitor_filter_add_match_subsystem_devtype'
ldm.c:(.text.startup+0x25c): undefined reference to `udev_monitor_get_fd'
ldm.c:(.text.startup+0x2c7): undefined reference to `udev_monitor_receive_device'
ldm.c:(.text.startup+0x2d7): undefined reference to `udev_device_get_action'
collect2: error: ld returned 1 exit status
make: *** [ldm] Error 1
==> ERROR: A failure occurred in build().
Aborting...
I will bring this to the attention of the ldm developers, (I think that the main one is the lemon man here on the forums), but I posted here because I thought that this may have been a fairly common problem and I thought it best to see before I brought it up with the developers.
Edit: Fixed code tags to make more readable.
Last edited by magicalChicken (2012-06-01 21:15:37)
Offline
It also broke chromium for me, it's definitely not just a thing for ldm devs.
Offline
Offline
Rolinh submitted a patch a couple of weeks ago for modern versions of udev that developer TheLemonMan implemented. ldm works fine with all of the recent changes. Just rebuild it using the ldm-git package in AUR.
Offline
skottish, thanks, the new version did work, so I will mark this thread as solved, but the upgrade certainly did break more things than just ldm, and I hope that in the future, maybe the devs of systemd-tools will include a proper symlink to libudev.so.0.
Offline
Symlinking is not the answer. If software is broken it either needs to be updated upstream or possibly just recompiled.
Offline
skottish, thanks, the new version did work, so I will mark this thread as solved, but the upgrade certainly did break more things than just ldm, and I hope that in the future, maybe the devs of systemd-tools will include a proper symlink to libudev.so.0.
You're welcome.
You found yourself in a situation with different possibilities. When falconindy said "you're either out of date, or it came from the AUR", that's two possibilities, of which one of them was true with ldm. Another one is what anonymous_user is suggesting in that symlinks can cause all sorts of very hard to track problems later on. I highly recommend that you lose the symlinks and solve the problems directly.
Offline