Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 888085
Summary: | after fedup system upgrade: cannot open shared objects file libudev.so.0 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Tobias Vogel <tobias.vogel> | ||||||
Component: | kdelibs | Assignee: | Than Ngo <than> | ||||||
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||
Severity: | urgent | Docs Contact: | |||||||
Priority: | unspecified | ||||||||
Version: | 18 | CC: | admiller, aquarichy, bjoern, dvratil, eturtiainen, ffesti, hackemaier, huygens, jeffsilverm, jgrulich, johannbg, jreznik, kevin, lnykryn, ltinkl, metherid, msekleta, ncrubel, notting, olli.jokinen, Panos.Kavalagios, paulo.fidalgo.pt, rdieter, rnovacek, ry, smparrish, systemd-maint, than, tim.lauridsen, vpavlin, zpavlas | ||||||
Target Milestone: | --- | ||||||||
Target Release: | --- | ||||||||
Hardware: | x86_64 | ||||||||
OS: | Linux | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | 4.9.5 | Doc Type: | Bug Fix | ||||||
Doc Text: | Story Points: | --- | |||||||
Clone Of: | Environment: | ||||||||
Last Closed: | 2013-01-24 00:37:21 UTC | Type: | Bug | ||||||
Regression: | --- | Mount Type: | --- | ||||||
Documentation: | --- | CRM: | |||||||
Verified Versions: | Category: | --- | |||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||
Embargoed: | |||||||||
Attachments: |
|
Description
Tobias Vogel
2012-12-18 00:21:40 UTC
I do not have a kernel panic but KDE refusing to work due the missing lib. After creating a symlink between libudev.so.1 and libudev.so.0 it worked fine. It's not just KDE. The intel x11 driver ( xorg-x11-drv-intel ) refuses to load without the file. In Fedora 17 it is provided by libudev. But that packages is gone in Fedora 18. In the end this means that people using the intel driver and/or KDE will have no graphical environment after upgrade. Chrome from the Google-Reps will not work either. I have the problems on two i686 machines I upgraded to Fedora 18 via FedUp. The relevant part of Xorg.0.log: [ 13.386] (==) Assigned the driver to the xf86ConfigLayout [ 13.386] (II) LoadModule: "intel" [ 13.386] (II) Loading /usr/lib64/xorg/modules/drivers/intel_drv.so [ 13.386] (EE) Failed to load /usr/lib64/xorg/modules/drivers/intel_drv.so: libudev.so.0: cannot open shared object file: No such file or directory [ 13.386] (II) UnloadModule: "intel" [ 13.386] (II) Unloading intel [ 13.387] (EE) Failed to load module "intel" (loader failed, 7) I've solved the problem by using this command: yum distribution-synchronization --disablepresto Aparently there was an kdelibs left from fc17 and the intel driver as well. Yes, that helps. I guess fedUp should do this cleanup after applying the update. I think this bug deserves an high attention as fedUp will currently leave the system broken for a large number of users. Fedup doesn't handle this sort of cleanup stuff itself; if there's a problem with the libudev symlinks that's a problem with the package that owns libudev. The tricky bit here is that in F17, libudev is provided by the 'libudev' package (which is a subpackage of udev). In F18, libudev is in systemd-libs. Somewhere between the two, a symlink is being lost (or not properly recreated). Reassigning to systemd. There is no libudev.so.0 in Fedora 18, only a libudev.so.1. Technically there is nothing lost, it is just not available as udev did an SONAME bump. There cannot be a symlink with that name, as there is no libudev0 ABI provided in Fedora 18. The old libudev package would need to be installed, or a compat package with the old lib would need to be created. It cannot be done with the libudev version from systemd. So this could indicate that some packages still need to be rebuilt against the new libudev (or rebuilt updates need to be pushed to the right places) - that's probably the case with Chrome, for instance. (In reply to comment #0) > after a system upgrade using fedup from fedora 17 to 18-tc3 a kernel panic > occurs, showing the following error: > > /init: error while loading shared libraries: libudev.so.0: cannot open > shared object file: No such file or directory Neither dracut initramfs nor the normal system uses /init; do you have some kind of custom boot setup that needs upgrading? (In reply to comment #1) > I do not have a kernel panic but KDE refusing to work due the missing lib. > After creating a symlink between libudev.so.1 and libudev.so.0 it worked > fine. So maybe KDE needs to be rebuilt (or otherwise fixed) to properly use libudev.so.1 - that'd be a kdelibs bug, though. Same for the intel driver problem. (In reply to comment #5) > I've solved the problem by using this command: yum > distribution-synchronization --disablepresto > > Aparently there was an kdelibs left from fc17 and the intel driver as well. Did the distro-sync remove the old kdelibs and intel driver? > Did the distro-sync remove the old kdelibs and intel driver?
As far as I can tell from the yum.log just the fc18 packages were installed. There were some more than the previously mentioned ones. Many xorg drivers, java, mysql-libs and more. Whether all old versions of them require libudev.0.so I cannot say.
> Did the distro-sync remove the old kdelibs and intel driver?
yes, it updates to the fc18 version. Since the old version was linked against libudev.so.0, they cannot be loaded.
Actually, when I reported the problem I was upgrading from fc17 system running Gnome 3 but I haven't had any kdelibs installed at all. There have occured several oddities though until I got my system back up and running. These are the steps I have taken to finally boot into the upgraded fc18 1) Created a bootable USB-stick to gain access to the system. 2) I had to change the boot-parameters of the bootloader on the stick, because the live-media would only boot if I changed the root-parameter from the label to the actual device (/dev/sdb1 in my case). 3) The installer didn't see the damaged installation which is why I had to escape the installer and chrooted to the system. 4) Doing a "yum clean all" & "yum update" updated a whole bunch of packages and finally solved the libudev-issue but at the same time mixed the pre-installed grub2-bios version with some grub2-efi configuration and messed up so the system got stuck at the grub-shell on the next reboot. 5) I chrooted back via the usb-media as described above, purged both installed grub packages and reinstalled grub2-bios. 6) Finally the system could boot but presented me with the next issue: it just wouldn't let me in. Relabeling the whole drive with the proper SELinux contexts did it. distro-sync fixes the problem here, too. F17 -> F18 via fedup. Should fedup do a distro-sync itself? Or when F18 is officially released, will the F18 package's version numbers be greater than F17's? I don't see anything to fix here in systemd. If the old library is lost but software depending on it still installed, then this appears to be a problem with the depdency resolver in yum, or somehow otherwise results in a installation with unsatisfied dependencies. The old F17 libudev package included libudev.so.0. On F18 libudev does not exist, but the systemd-libs package includes libudev.so.1. For the package manager these should hence be two entirely different libraries in two entirely different packages, and if they are missing it's the package managers fault. Reassigning to yum. If a broken kdelibs upgrade path is involved, my fault. f17 kde-4.9.5 went to stable updates yesterday, anyone getting that, then upgrading to f18 today will get a broken upgrade path. f18 kde-4.9.5 is going stable now... that said, based on the evidence so far, hard to say what went wrong exactly. hint: anyone fixing this with distro-sync, if you can post which packages got upgraded/downgrade, that could help diagnose things more. Created attachment 679659 [details]
output of "yum distribution-synchronization".
I did an update from Fedora 17 with KDE 4.9.5 to Fedora 18. Went well (after dist-sync of course). Yesterday the main problem of fedup upgrade before dist-sync upgrade was, that I was not able to login in kde but returned to kdm. So the problem with the intel drivers have been resolved, because X was at least working. Log of the dist sync after that upgrade follows. Created attachment 679660 [details]
yum.log part of yum distribution-synchronization
(In reply to comment #15) > If a broken kdelibs upgrade path is involved, my fault. > > f17 kde-4.9.5 went to stable updates yesterday, anyone getting that, then > upgrading to f18 today will get a broken upgrade path. > > f18 kde-4.9.5 is going stable now... > > > that said, based on the evidence so far, hard to say what went wrong exactly. > > hint: anyone fixing this with distro-sync, if you can post which packages > got upgraded/downgrade, that could help diagnose things more. Talking to michich today, looks like it is the problem - broken upgrade path. Thanks for the details, fix is on the way then with: https://admin.fedoraproject.org/updates/FEDORA-2013-0163 sorry. *** Bug 896095 has been marked as a duplicate of this bug. *** *** Bug 896137 has been marked as a duplicate of this bug. *** "yum distro-sync" will fix it by downgrading KDE SC to 4.9.4; alternatively, you can issue these commands to get the F18 build of KDE SC 4.9.5 (which is the current version in F17 updates): yum install yum-security yum --advisory=FEDORA-2013-0163 update (yum-security provides the --advisory switch.) But FEDORA-2013-0163 is already queued for stable, so this should be sorted out soon. Actually, the correct commands are (until the update makes it through to stable): yum install yum-security yum --enablerepo=updates-testing --advisory=FEDORA-2013-0163 update (I forgot the --enablerepo=updates-testing.) FEDORA-2013-0163 was pushed to stable on January 16. It should have propagated to all mirrors by now. I think to workaround these sort of problems, it is better if fedup ran yum distro-sync behind the scenes. It is always the safest method. I still add the problem when upgrading from F17 to F18 stable a few days ago. After a painful upgrade (see Bugs #902292 and #903998) I finally reached the KDE login screen but after entering my password the login silently failed and I was brought back to the graphic login prompt. I opened a console and checked the .xsession.errors and found out that KDE was requiring a libudev.so.0 which as you mentionned in this thread does not exist anymore in F18. So I have performed a 'sudo yum distro-sync' and it found new KDE package to install. Then after a reboot (I got a new kernel too), I was able to succesfully login. I am a techie, so this is an easy bug to circumvent. But for a normal user this is a show stopper! It needs urgent correction IMHO. None of the previous tricks worked for me to get google-chrome working after upgrade to F18. The only thing that fixed it was cd /lib64; ln -s libudev.so.1.2.1 libudev.so.0 Reinstalling google-chrome helps - at least it did for me. Probably you get an updated package that way. There are many completely unrelated issues which happen to result in the same error message being conflated in this bug report! I see at least the following: * an xorg-x11-drv-intel upgrade path issue leaving the F17 build (which was linked against the old libudev.so.0) installed, fixed on January 11 (before the official F18 release!) by https://admin.fedoraproject.org/updates/FEDORA-2012-20565 (which is already superseded by an even newer update), * a KDE SC upgrade path issue leaving the F17 builds (which were linked against the old libudev.so.0) installed, fixed on January 16 by https://admin.fedoraproject.org/updates/FEDORA-2013-0163, * an issue with Google Chrome, a proprietary package we do not ship, requiring the old libudev.so.0: This is NOT a Fedora bug at all, check Google's third-party repository for updated builds, and if there aren't any, please complain directly to Google about this issue. As far as I know, we fixed all the packages we were able to fix in Fedora. We cannot fix packages which are not actually part of Fedora. Oh, and if you have to manually reinstall the Google Chrome package to get an updated version, assuming you have the Google repository configured, that's also a packaging bug on Google's end (upgrade path issue: the new build apparently has the same or an older Epoch-Version-Release (EVR)) and needs to be reported to Google. (We cannot do anything about that.) I have just installed Fedora 20 and Google Chrome 35 and I am running into the same problem. [jeff@jeff-linux ~]$ /opt/google/chrome/chrome /opt/google/chrome/chrome: error while loading shared libraries: libudev.so.0: cannot open shared object file: No such file or directory [jeff@jeff-linux ~]$ Furthermore, I have done [jeff@jeff-linux ~]$ sudo find / -name "libudev*" -print [sudo] password for jeff: /opt/google/chrome/libudev.so.0 /usr/lib64/libudev.so.1.4.0 /usr/lib64/libudev.so.1 find: ‘/run/user/1000/gvfs’: Permission denied [jeff@jeff-linux ~]$ ls -l /usr/lib64/libudev.so.1* lrwxrwxrwx. 1 root root 16 Jun 26 14:52 /usr/lib64/libudev.so.1 -> libudev.so.1.4.0 -rwxr-xr-x. 1 root root 73792 Jun 21 09:29 /usr/lib64/libudev.so.1.4.0 [jeff@jeff-linux ~]$ [jeff@jeff-linux ~]$ [jeff@jeff-linux ~]$ sudo ln -s /usr/lib64/libudev.so.1 /usr/lib/libudev.so.0 [jeff@jeff-linux ~]$ /opt/google/chrome/chrome /opt/google/chrome/chrome: error while loading shared libraries: libudev.so.0: cannot open shared object file: No such file or directory [jeff@jeff-linux ~]$ ls -l /usr/lib/libudev.so.0 lrwxrwxrwx. 1 root root 23 Jun 26 16:01 /usr/lib/libudev.so.0 -> /usr/lib64/libudev.so.1 [jeff@jeff-linux ~]$ [jeff@jeff-linux ~]$ rpm -q -p Downloads/google-chrome-stable_current_x86_64.rpm google-chrome-stable-35.0.1916.153-1.x86_64 [jeff@jeff-linux ~]$ Is this a Google issue or a Redhat issue? I find a discussion of the problem in Ubuntu mailing lists. You should report it to Google. Google Chrome isn't included in Fedora and can only be updated by Google. Jeff please do not report anything. Just use the correct command. According to the Google icon is: /usr/bin/google-chrome-stable which is a symlink to: /opt/google/chrome/google-chrome The command /opt/google/chrome/chrome produces the same error in my environment as well, whereas the above mentioned commands run fine. |