Bug 12443 - fglrx driver can't load shared library because ld.so.conf is wrong
Summary: fglrx driver can't load shared library because ld.so.conf is wrong
Status: RESOLVED INVALID
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: x86_64 Linux
Priority: Normal minor
Target Milestone: ---
Assignee: Mageia Bug Squad
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-01-26 19:00 CET by Richard Neill
Modified: 2015-12-24 09:31 CET (History)
4 users (show)

See Also:
Source RPM:
CVE:
Status comment:


Attachments

Description Richard Neill 2014-01-26 19:00:14 CET
1. Problem:
Using the FGLRX driver, X won't start.
  
2. Look in  /var/log/Xorg.0.log
[   767.581] (EE) Failed to load /usr/lib64/xorg/modules/linux/libfglrxdrm.so: libatiuki.so.1: cannot open shared object file: No such file or directory

3. Try ldd:  
ldd /usr/lib64/xorg/modules/linux/libfglrxdrm.so
  linux-vdso.so.1 (0x00007fff483fe000)
  libatiuki.so.1 => not found
  libc.so.6 => /lib64/libc.so.6 (0x00007f4f33cc6000)
  /lib64/ld-linux-x86-64.so.2 (0x00007f4f341b2000)

4. The missing library(libatiuki.so.1) is in /usr/lib64/fglrx

5. What's going on with ldconfig? 
The relevant include is in  /etc/ld.so.conf.d/GL/ati.conf
BUT, ldconfig doesn't load this file, because it's one subdirectory too deep.

6. Test:
cp /etc/ld.so.conf.d/GL/ati.conf  /etc/ld.so.conf.d/ati.conf 
ldconfig

ldd /usr/lib64/xorg/modules/linux/libfglrxdrm.so
        linux-vdso.so.1 (0x00007fff4dfc3000)
        libatiuki.so.1 => not found
        libc.so.6 => /lib64/libc.so.6 (0x00007f8946821000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f8946d0d000)

7. cat /etc/ld.so.conf
include /etc/ld.so.conf.d/*.conf

Conclusion: Either

A. this is a bug in the fglrx package, for putting
/etc/ld.so.conf.d/GL/ati.conf   when it should be
/etc/ld.so.conf.d/ati.conf
(RPM: x11-driver-video-fglrx-13.251-1.mga4.nonfree )

B. this is a bug in the ldconfig setup, which should include subdirectories of subdirectories.  (probably ld.so.conf should "include /etc/ld.so.conf.d/*/*.conf")
(RPM: glibc-2.18-9.mga4)
Sander Lepik 2014-01-26 19:15:35 CET

CC: (none) => mageia, thierry.vignaud, tmb

Comment 1 Thomas Backlund 2014-01-26 19:48:33 CET
Nope.

your install is broken... 


We are using the alternatives system

so there should be a /etc/ld.so.conf.d/GL.conf pointing to /etc/alternatives/gl_conf wich is turn gets changed according to your hw, 
wich in your case should point at /etc/ld.so.conf.d/GL/ati.conf when using fglrx.


This breakage usually happends when people try upstream driver or rpm packaged for a different distro or so.


Go to Mageia Control Center, reconfigure your xserver and respond yes when it asks if you want to use the proprietary driver and reboot when it tells you to
Comment 2 Richard Neill 2014-01-26 20:41:28 CET
Hi, you're right that this does fix it. Thanks for your help, and sorry for the bad bug report.

I'd been trying to debug a misbehaving graphics-card (multihead) by editing xorg.conf swapping between "ati" and "fglrx", and uninstalling and re-installing the relevant RPMs.
x11-driver-video-fglrx-13.251-1.mga4.nonfree
dkms-fglrx-13.251-1.mga4.nonfree
fglrx-control-center-13.251-1.mga4.nonfree
fglrx-kernel-desktop-latest-13.251-9.mga4.nonfree

I suspect that this process is not sufficient to make the swap, and that it's explicitly required to use MCC (and to explicitly reboot, rather than just restart the dm service).

In order to error-proof the process for the next user who hits this, is it perhaps worth editing /etc/ld.so.conf.d/GL/ati.conf to add a comment such as "this is not included directly, but via the alternatives system, managed by mcc"
or something?
Thierry Vignaud 2014-01-27 07:17:45 CET

Severity: critical => minor

Comment 3 Nic Baxter 2015-12-24 09:31:25 CET
I think this can be closed.

Status: NEW => RESOLVED
CC: (none) => nic
Resolution: (none) => INVALID


Note You need to log in before you can comment on or make changes to this bug.