LINUX.ORG.RU

Нужен ликбез: ldd не хочет видеть библиотеку


0

1

Доброго времени суток.

Утилита из состава ati catalist (драйверов для amd'шных карт). Оставим в стороне вопросы по драйверам, интересует именно поведение ldd

root@amalthea:/usr/local/src/fglrx# aticonfig --init
aticonfig: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory
root@amalthea:/usr/local/src/fglrx# which aticonfig
/usr/bin/aticonfig
root@amalthea:/usr/local/src/fglrx# file /usr/bin/aticonfig
/usr/bin/aticonfig: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.4.3, not stripped
root@amalthea:/usr/local/src/fglrx# ldd /usr/bin/aticonfig
        linux-vdso.so.1 =>  (0x00007fff54fff000)
        libXrandr.so.2 => /usr/lib/x86_64-linux-gnu/libXrandr.so.2 (0x00007fce312a0000)
        libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1 (0x00007fce31096000)
        libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007fce30e82000)
        libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007fce30b43000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fce308c1000)
        libGL.so.1 => not found
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fce3053c000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fce30338000)
        libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007fce3011b000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fce314c3000)
        libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007fce2ff18000)
        libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007fce2fd13000)

libGL.so.1 => not found, странно...

root@amalthea:/usr/local/src/fglrx# ls -l /usr/lib64/libGL.so.1
lrwxrwxrwx 1 root root 23 Сен 27 15:25 /usr/lib64/libGL.so.1 -> /usr/lib64/libGL.so.1.2
root@amalthea:/usr/local/src/fglrx# ls -l /usr/lib64/libGL.so.1.2
lrwxrwxrwx 1 root root 35 Сен 27 14:35 /usr/lib64/libGL.so.1.2 -> /usr/lib64/fglrx/fglrx-libGL.so.1.2
root@amalthea:/usr/local/src/fglrx# ls -l /usr/lib64/fglrx/fglrx-libGL.so.1.2
-rw-r--r-- 1 root root 944640 Сен 27 15:25 /usr/lib64/fglrx/fglrx-libGL.so.1.2
а если так
root@amalthea:/usr/local/src/fglrx# export LD_LIBRARY_PATH=/usr/lib64/
root@amalthea:/usr/local/src/fglrx# ldd /usr/bin/aticonfig
        linux-vdso.so.1 =>  (0x00007ffff6749000)
        libXrandr.so.2 => /usr/lib/x86_64-linux-gnu/libXrandr.so.2 (0x00007f6602cd2000)
        libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1 (0x00007f6602ac8000)
        libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f66028b4000)
        libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f6602575000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f66022f3000)
        libGL.so.1 => /usr/lib64/libGL.so.1 (0x00007f66020ec000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6601d68000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f6601b64000)
        libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f6601947000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f660172b000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f6602ef5000)
        libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f6601528000)
        libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f6601322000)
root@amalthea:/usr/local/src/fglrx# aticonfig --init
Uninitialised file found, configuring.
Using /etc/X11/xorg.conf
Saving back-up to /etc/X11/xorg.conf.original-2
root@amalthea:/usr/local/src/fglrx#

Получилось. Но почему

  • сначала ldd не видел libGL.so.1
  • после установки LD_LIBRARY_PATH=/usr/lib64/ ( !!! ) увидел ?
★★★★★

Последнее исправление: router (всего исправлений: 1)

дистрибутив при ответе тебе выбрать по желанию?

не срослось потому, что этот путь не прописан в /etc/ld.so.conf.d/*

почему он там не прописан - другой вопрос.

aol ★★★★★
()

И че, мозга не хватило дотумкать, что /usr/lib64 не в пути поиска библитотек?

cat /etc/ld.so.conf

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

sdio ★★★★★
()
Ответ на: комментарий от aol

>дистрибутив при ответе тебе выбрать по желанию?

debian unstable

не срослось потому, что этот путь не прописан в /etc/ld.so.conf.d/*

Проверил - действительно нет. Как же оно вообще работало? :D

router ★★★★★
() автор топика
Ответ на: комментарий от sdio

Мозг отказывался в это верить

router ★★★★★
() автор топика
Ответ на: комментарий от router

А, всё нормально. /usr/lib64 вообще не было в дистрибутиве, 64-битные библиотеки лежат в /usr/lib

Всем спасибо, тема закрыта

router ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.