Имя:    Пароль:      Помнить меня       
Unsorted   ~  Software  ~  Linux and Unix  ~  ld.so что-то тут не так
__fastcall
Сообщение  31 Мар 2006, 14:06  Ссылка : Ответить с цитатой
Возраст: 34 Пол: Мужской  Доверенный пользователь
C нами с 26.01.2005
Репутация: 114.8

почему может быть такое,что ld.so берет либы не из стандартных диров и тех что указаны в /etc/ld.so.conf, а из совершенно посторонних,не указанных нигде?

вот что у меня:
root:/tools/etc# /usr/bin/ldd -v /usr/bin/as
        linux-gate.so.1 =>  (0xffffe000)
        libbfd-2.15.94.0.2.so => not found
        libc.so.6 => /tools/lib/libc.so.6 (0x40017000)
        /lib/ld-linux.so.2 (0x40000000)

        Version information:
        /usr/bin/as:
                libc.so.6 (GLIBC_2.1) => /tools/lib/libc.so.6
                libc.so.6 (GLIBC_2.0) => /tools/lib/libc.so.6
        /tools/lib/libc.so.6:
                ld-linux.so.2 (GLIBC_2.1) => /lib/ld-linux.so.2
                ld-linux.so.2 (GLIBC_2.3) => /lib/ld-linux.so.2
                ld-linux.so.2 (GLIBC_PRIVATE) => /lib/ld-linux.so.2
                ld-linux.so.2 (GLIBC_2.0) => /lib/ld-linux.so.2
root:/lib# ls -l /lib/libbfd-2.15.94.0.2.so
lrwxrwxrwx  1 root root 30 Mar 28 11:43 /lib/libbfd-2.15.94.0.2.so -> /usr/lib/libbfd-2.15.94.0.2.so
root:/lib# cat /etc/ld.so.conf
# Begin /etc/ld.so.conf

/usr/local/lib
/opt/lib

# End /etc/ld.so.conf
root:/lib#




в /tools/lib у меня тоже есть "склад" библиотек,но они по идее не должны иметь к этому никакого никакого отношения.
как видите, та же libc почему-то берется из /tools/lib
та либа,что "не найдена" (libbfd-2.15.94.0.2.so) находится у меня в /lib

итак,проблема,наскольо я понимаю, в том,что ld.so ищет необходимые либы только в /tools/lib а не там где надо - в /lib и /etc/ld.so.conf

что делать?

_____________________________
"I have seen the future and it is just like the present, only longer."
-- Kehlog Albran, "The Profit"
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение : Сайт : JabberID : ICQ
javol
Сообщение  01 Апр 2006, 3:30  Ссылка : Ответить с цитатой
Возраст: 36 Пол: Мужской  Доверенный пользователь
C нами с 24.01.2005
Репутация: 87.7

ldconfig без параметров, затем с untrusted-директориями (не /usr/lib, /usr/local/lib) в качестве параметра. Еще man ldconfig. Улыбочка
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение : E-mail : JabberID
__fastcall
Сообщение  01 Апр 2006, 12:27  Ссылка : Ответить с цитатой
Возраст: 34 Пол: Мужской  Доверенный пользователь
C нами с 26.01.2005
Репутация: 114.8

javol, пробовал, не помогает.

root:/# ldconfig
root:/# ldd /usr/bin/as
        linux-gate.so.1 =>  (0xffffe000)
        libbfd-2.15.94.0.2.so => not found
        libc.so.6 => /tools/lib/libc.so.6 (0x40017000)
        /lib/ld-linux.so.2 (0x40000000)
root:/# ldconfig -l /usr/lib/libbfd-2.15.94.0.2.so
root:/# ldd /usr/bin/as
        linux-gate.so.1 =>  (0xffffe000)
        libbfd-2.15.94.0.2.so => not found
        libc.so.6 => /tools/lib/libc.so.6 (0x40017000)
        /lib/ld-linux.so.2 (0x40000000)
root:/# cat /etc/ld.so.cache|grep /tools
root:/#

_____________________________
"I have seen the future and it is just like the present, only longer."
-- Kehlog Albran, "The Profit"
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение : Сайт : JabberID : ICQ
seb
Сообщение  01 Апр 2006, 14:24  Ссылка : Ответить с цитатой
Возраст: 44 Пол: Мужской  Доверенный пользователь
C нами с 05.04.2005
Репутация: 121.1

set | grep LD

ps: сам компилил /usr/bin/as или в бинарнике было ?

_____________________________
IRC WeNet #programming
jid: seb2000@jabber.ru
В начало
Профиль : Фотоальбом : Личное Сообщение : JabberID
__fastcall
Сообщение  04 Апр 2006, 16:08  Ссылка : Ответить с цитатой
Возраст: 34 Пол: Мужской  Доверенный пользователь
C нами с 26.01.2005
Репутация: 114.8

seb, ничего.
да,сам компилил

_____________________________
"I have seen the future and it is just like the present, only longer."
-- Kehlog Albran, "The Profit"
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение : Сайт : JabberID : ICQ
seb
Сообщение  04 Апр 2006, 21:04  Ссылка : Ответить с цитатой
Возраст: 44 Пол: Мужской  Доверенный пользователь
C нами с 05.04.2005
Репутация: 121.1

__fastcall писал(а):
да,сам компилил
значит этот путь (/tools/lib) вшит при компиляции в бинарник. ld умеет это делать (man ld /-rpath [Enter]n Улыбочка)
__fastcall писал(а):
итак,проблема,наскольо я понимаю, в том,что ld.so ищет необходимые либы только в /tools/lib а не там где надо
никакой проблемы на самом деле нет Улыбочка так и должно быть Улыбочка
Дело в том, что при локальной компиляции libtool вкомпиливает полный путь библиотеки в бинарник.
libtool —config:
# How to hardcode a shared library path into an executable.
hardcode_action=immediate

# Whether we should hardcode library paths into libraries.
hardcode_into_libs=yes

# Flag to hardcode $libdir into a binary during linking.
# This must work even if $libdir does not exist.
hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir"
Наверное это связано с тем, что ./configure ты указывал какие-то ключи ? Например ./configure —libdir=/tools/lib ? Тогда непонятно почему тебя удивляет что он пытается использовать _свою_ либу из /tools/lib Улыбочка
В начало
Профиль : Фотоальбом : Личное Сообщение : JabberID
Показать сообщения:   

Unsorted   ~  Software  ~  Linux and Unix  ~  ld.so

Ответить на тему

Перейти:  





Powered by phpBB   © Unsorted Team  support@unsorted.me  promo@unsorted.me  Полезные скрипты