Как изменить путь по умолчанию в ld.so
Я использую Ubuntu 14.10 и crosstool-ng-1.20.0 для создания цепочки инструментов от хоста: x86_64 до цели: i686, я знаю, что glibc создаст ld.so, но я не знаю, как изменить путь по умолчанию в ld.so с "/lib, /usr/lib" to "/lib32, /usr/lib32".
Я хочу изменить путь по умолчанию с "/ lib, / usr / lib" на мой параметр "/ lib32, / usr / lib32" в ld.so на моей целевой машине. (потому что я помещаю каждый.so-файл в / lib32 для 32-битной библиотеки, а другой.so-файл помещаю в / lib для x86_64, а не для i686)
Я не хочу добавлять someflag(например, "-z nodeflib", "--rpath=dir") на хосте во время компиляции, чтобы изменить путь поиска каждого двоичного файла на целевой машине. Я хочу, чтобы каждый двоичный файл без использования этих флагов можно использовать ld.so, чтобы найти правильную библиотеку
Кто-нибудь знает как это сделать?
пс. Я использую crosstool-ng для создания gcc-4.9 linaro, glibc-2.20 linaro, binutl ... и т.д...
1 ответ
Возможно, вам не нужно менять путь по умолчанию, а скорее добавлять пути к конфигурации.
В зависимости от вашей системы, ld.so
настраивается с помощью файла в /etc
/ и, возможно, с файлами в ' /etc/ld.so.conf.d
или же /etc/ld.so.d
, Справочные страницы для ld.so и ldconfig - хорошее место для начала чтения.