Как изменить путь по умолчанию в 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".

  1. Я хочу изменить путь по умолчанию с "/ lib, / usr / lib" на мой параметр "/ lib32, / usr / lib32" в ld.so на моей целевой машине. (потому что я помещаю каждый.so-файл в / lib32 для 32-битной библиотеки, а другой.so-файл помещаю в / lib для x86_64, а не для i686)

  2. Я не хочу добавлять 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 - хорошее место для начала чтения.

Другие вопросы по тегам