Likely this is just something having to do with they way the google-chrome package is put together. If it's a matter of waiting for things to catch up I can do that. I switched to gcc-4.6 today and did an update of the whole machine as well as rebuilding the kernel and all modules, etc. The machine works fine. So far the only app that doesn't work seems to be google-chrome-26.0.1410.40_beta189199. When starting in a terminal it gives the error: mark@c2stable ~ $ google-chrome /usr/bin/google-chrome: error while loading shared libraries: /opt/google/chrome/libudev.so.0: invalid ELF header mark@c2stable ~ $ Reproducible: Always Steps to Reproduce: 1. gcc-config 2 (to switch to the newer gcc) 2. emerge -e @world 3. rebuild kernel & modules-update 4. reboot, log in an run chrome Actual Results: mark@c2stable ~ $ google-chrome /usr/bin/google-chrome: error while loading shared libraries: /opt/google/chrome/libudev.so.0: invalid ELF header mark@c2stable ~ $ Expected Results: Should run.
Please show me the output of ls -l /opt/google/chrome/libudev.so.0.
mark@c2stable ~ $ ls -l /opt/google/chrome/libudev.so.0 lrwxrwxrwx 1 root root 21 Mar 25 16:23 /opt/google/chrome/libudev.so.0 -> /usr/lib64/libudev.so mark@c2stable ~ $
Can you following that symlink chain until its end?
If I understand you then I guess it ends here? mark@c2stable ~ $ ls -l /opt/google/chrome/libudev.so.0 lrwxrwxrwx 1 root root 21 Mar 25 16:23 /opt/google/chrome/libudev.so.0 -> /usr/lib64/libudev.so mark@c2stable ~ $ ls -l /usr/lib64/libudev.so -rwxr-xr-x 1 root root 524 Mar 25 14:27 /usr/lib64/libudev.so mark@c2stable ~ $
Is /usr/lib64/libudev.so a text file (aka a "linker script")?
I was looking in Google trying to learn a bit about ELF. I found readelf which doesn't seem happy. The contents of the file are shown second. mark@c2stable ~ $ readelf -h /usr/lib64/libudev.so readelf: Error: Unable to read in 0x7964 bytes of section headers readelf: Error: Not an ELF file - it has the wrong magic bytes at the start mark@c2stable ~ $ mark@c2stable ~ $ cat /usr/lib64/libudev.so /* GNU ld script Since Gentoo has critical dynamic libraries in /lib, and the static versions in /usr/lib, we need to have a "fake" dynamic lib in /usr/lib, otherwise we run into linking problems. This "fake" dynamic lib is a linker script that redirects the linker to the real lib. And yes, this works in the cross- compiling scenario as the sysroot-ed linker will prepend the real path. See bug http://bugs.gentoo.org/4411 for more info. */ OUTPUT_FORMAT ( elf64-x86-64 ) GROUP ( /lib64/libudev.so ) mark@c2stable ~ $
What version of udev/eudev/systemd do you have installed? I'm suprised to see that ld script; it is usually a symlink to an ELF file.
OK, I must admit that these results are getting a bit confusing here. I run _mostly_ stable here. (Only ~amd64 when I need to hopefully) The machine is clean @world: c2stable ~ # emerge -pvDuN @world These are the packages that would be merged, in order: Calculating dependencies... done! Total: 0 packages, Size of downloads: 0 kB c2stable ~ # However it says I don't have systemd installed and I seem to be getting some portion of udev from the polyc overlay? c2stable ~ # eix -Ic systemd No matches found. c2stable ~ # eix -c systemd [N] sys-apps/systemd (~198-r5): System and service manager for Linux [N] sys-apps/systemd-sysv-utils (--): sysvinit compatibility symlinks and manpages [N] sys-apps/systemd-ui (~1): System and service manager for Linux [N] sys-devel/systemd-sdk (--): Macros and misc files for systemd daemons Found 4 matches. c2stable ~ # c2stable ~ # eix -Ic udev [I] sys-fs/udev (197-r8{tbz2}[1]@03/25/2013): Linux dynamic and persistent device naming support (aka userspace devfs) [I] sys-fs/udev-init-scripts (23{tbz2}[1]@03/25/2013): udev startup scripts for openrc [I] virtual/udev (197-r2{tbz2}@03/25/2013): Virtual to select between sys-fs/udev and sys-fs/eudev [1] "poly-c" /var/lib/layman/poly-c Found 3 matches. c2stable ~ # eix -Ic eudev No matches found. c2stable ~ #
If it's causing a problem I can probably drop the poly-c overlay for now. All I wanted originally was jmtpfs which I haven't ended up using much. I suspect emerge is pulling stuff from there instead of the default? c2stable ~ # eix -c --installed-from-overlay poly-c [I] app-arch/xz-utils (5.0.4-r1{tbz2}[1]@03/25/2013): utils for managing LZMA compressed files [I] app-cdr/k3b (2.0.2-r4(4){tbz2}[1]@03/25/2013): The CD/DVD Kreator for KDE [I] media-sound/alsa-utils (1.0.25-r1(0.9){tbz2}[1]@03/25/2013): Advanced Linux Sound Architecture Utils (alsactl, alsamixer, etc.) [I] sys-apps/kbd (1.15.3{tbz2}[1]@03/25/2013): Keyboard and console utilities [I] sys-apps/kmod (12-r1{tbz2}[1]@03/25/2013): library and tools for managing linux kernel modules [I] sys-apps/man (1.6g{tbz2}[1]@03/25/2013): Standard commands to read man pages [I] sys-fs/udev (197-r8{tbz2}[1]@03/25/2013): Linux dynamic and persistent device naming support (aka userspace devfs) [I] sys-fs/udev-init-scripts (23{tbz2}[1]@03/25/2013): udev startup scripts for openrc [I] sys-fs/jmtpfs [1] (0.4{tbz2}@03/25/2013): a FUSE based MTP filesystem designed to make exchanging files between Android devices and Linux [I] virtual/jpeg (0{tbz2}[1]@03/25/2013): A virtual for the JPEG implementation [1] "poly-c" /var/lib/layman/poly-c Found 10 matches. c2stable ~ #
(In reply to comment #8) > However it says I don't have systemd installed and I seem to be getting some > portion of udev from the polyc overlay? > Right, you would only have 1 of the 3 installed. I think the problem here is the udev ebuild in the polyc overlay. I would recommend you revert back to the version in the main portage tree.
(In reply to comment #9) Yes, I would suggest removing that overlay.
Will remove poly-c and get back to you as soon as updates are done. However I don't see udev getting rebuilt so I'll walk through this stuff again. Maybe I should rebuild all the udev stuff explicitly? c2stable ~ # emerge -pvDuN @world These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild U ] sys-kernel/linux-headers-3.7 [3.6] 5,201 kB [ebuild U ] media-libs/exiftool-9.120.0 [9.10.0] 3,411 kB [ebuild U ] dev-java/icedtea-bin-6.1.12.4:6 [6.1.12.2:6] USE="X alsa -cjk -cups -doc -examples -nsplugin -source" 37,431 kB Total: 3 packages (3 upgrades), Size of downloads: 46,043 kB c2stable ~ # layman -l * science [Git ] (git://git.overlays.gentoo.org/proj/sci.git ) * vmware [Git ] (git://git.overlays.gentoo.org/proj/vmware.git ) c2stable ~ #
Yes, you will need to explicitly rebuild it.
Do the new 3.7 version of the linux-headers mean I should rebuild the kernel or anything else to be extra safe?
Nope, no need to rebuild your kernel.
OK, udev & init-scripts are rebuilt but there's a big @preserved-rebuild to do and then I'll double check things and reboot. Back in a bit.
Thanks. That did it. All fixed and posting this back from Chrome. Cheers and thanks for all the help.
You're welcome, glad I could help.