Как перенаправить путь по умолчанию библиотеки библиотек ссылок /lib64/libc.so.6, /lib64/libc.so.6: version `GLIBC_2.14 'не найден

Моя Linux-машина – x86_64-redhat-linux.

Тем не менее, я использую другую цепочку инструментов aarch64-linux-gnu-gcc на этой машине для сборки (мне не нужно запускать то, что я создаю на этой машине, просто строю, так что должно быть хорошо использовать инструмент toolchain для сборки)

Я получаю следующую ошибку:

aarch64-linux-gnu-gcc: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by aarch64-linux-gnu-gcc) 

Таким образом, текущий путь к общей библиотеке по умолчанию указывает на /lib64/libc.so.6, я не хочу его обновлять, так как я не единственный пользователь этой машины, как я могу использовать свой собственный libc.so.6, может Я перенаправляю путь поиска к другому каталогу?

проблема

GLIBC 2.12 установлен и, как указано в заголовке OP, для перекрестной компиляции, которую он пытается использовать, требуется GLIBC> 2.14. OP утверждает, что он также ограничен, потому что он не может обновить систему.

Предостережения

Список, приведенный ниже на шаге 3, используется для создания changeroot. По возможности используйте пакеты, включенные в репозитории дистрибутивов. Если самая последняя версия в вашем репозитории равна версии, установленной вне changeroot, остановите шаг 3 и используйте онлайн-поиск пакетов, например RPMFind, чтобы найти более новую версию и продолжить. Не устанавливайте новую или онлайн-версию за пределы changroot. Это приведет к поломке системы, за что я НЕ несу ответственность!

Решение

OP должен теперь построить тюрьму changeroot для установки кросс-компилятора ARM, поскольку версии GLIBC не могут быть установлены Side By Side. См. Также Википедия – Chroot . Для этого выполните следующие действия:

  1. Создайте каталог для changeroot: mkdir -pv $HOME/newroot
  2. Создайте переопределение для перенаправления пакетов RPM для установки в chroot: export ROOT=$HOME/newroot && echo $ROOT . См. Шаг 4, если вам интересно.
    • Пожалуйста, повторите новую переменную, так как это станет очень важным в ближайшее время.
  3. Загрузите рекомендуемые пакеты rpm для changeroot (это имена пакетов): cd $ROOT && mkdir -v download && cd download
    • настроить
    • файловая система
    • basesystem
    • LDCONFIG
    • glibc <- Обратите внимание на предостережение выше здесь, или вы сделаете эту работу ни за что.
    • Mktemp
    • TERMCAP
    • Ncurses
    • Информация
    • FileUtils
    • bash && libtermcap
    • GDBM
    • Tcsh
    • Perl
    • chkconfig
    • Textutils
    • CrackLib
    • Cracklib-dicts
    • pwdb
    • бойкий
    • простофиля
    • pam –nodeps
    • теневые-Utils
    • сленг
    • util-linux –nodeps
    • SH-Utils
    • ЗШ
    • СЕПГ
    • bzip2
    • Popt
    • Zlib
    • оборотов в минуту
    • Ваша кросс-компиляция и ее привязки
  4. Используйте следующую команду для установки вышеуказанного списка. rpm -i --root=$ROOT packagename Обратите внимание на аргумент --root . Это переопределяет поведение установки RPM по умолчанию. Обратите внимание на эти пакеты в списке с дополнительными функциями, например bash && libtermcap. --root команду rpm -i, как указано в списке, включая аргумент --root . В приведенном выше примере libtermcap устанавливается в том же каталоге, что и bash.
  5. Наконец, можно chroot $ROOT && export PS1="(chroot) $PS1" .

Справка

Шаги, описанные выше, как настроить среду chroot с помощью RedHat Linux 6.2 – для FTP и веб-службы