Я пытаюсь использовать разделяемые библиотеки, которые плохо работают с ld-linux-x86-64.so.2, который находится в /lib64. У меня нет прав root, поэтому я не могу изменить файл в /lib64. Есть ли способ, которым я могу сказать моей RHEL5.7 коробке использовать другой ld-linux-x86-64.so.2? Я попытался указать путь к версии, которую мне нужно использовать, внутри $ LD_LIBRARY_PATH, но там это игнорируется.
У меня есть исполняемый файл, который поставляется с некоторыми общими библиотеками. Исполняемый файл в основном работает с библиотеками, которые уже найдены на компьютере, но время от времени происходит сбой и указывает на одну из библиотек, которые я использую из /lib. Когда я добавляю некоторые библиотеки, поставляемые с исполняемым файлом, в мой LD_LIBRARY_PATH, это вызывает ошибки сегментации для простых команд, таких как 'ls' 'cp' 'ldd'. Также появилась версия ld-linux-x86-64.so.2 с этим исполняемым файлом, и он не вызывает ошибку сегмента, когда я запускаю команду ./ld-linux-x86-64.so.2 --list libc.so (или другую библиотеку, которая приводит к сбою команд). Я хотел иметь возможность протестировать с помощью ld-linux-x86-64.so.2, который поставляется в комплекте с программным обеспечением, чтобы убедиться, что он позаботился о проблемах (и не вызвал других), прежде чем идти в ИТ и чтобы они внесли изменения во все коробки, на которых мы будем запускать программное обеспечение. Или, если возможно, встроить эту работу в мой сценарий работы, чтобы мне не пришлось проходить весь процесс запроса на изменение.
Симптом включенного libc.so не очень хорошо работает с ld-linux.so, когда я пытаюсь выполнить команду следующим образом. cp: ошибка перемещения: libc.so.6: символ _dl_tls_get_addr_soft, версия GLIBC_PRIVATE не определена в файле ld-linux-x86-64.so.2 с указанием времени ссылки. Я единственный, кто использует мою машину, но моя компания выиграла ' Вы не можете предоставлять root-доступ пользователям, потому что, как вы настроили сеть, если у вас есть root на одном Linux-боксе, вы получаете его на всех.