Вопросы с тегом «shared-library»

2
Почему и как работают некоторые общие библиотеки, как если бы они были исполняемыми файлами?
В 32-битных системах Linux, вызывая этот $ /lib/libc.so.6 и на 64-битных системах это $ /lib/x86_64-linux-gnu/libc.so.6 в оболочке, обеспечивает вывод как это: GNU C Library stable release version 2.10.1, by Roland McGrath et al. Copyright (C) 2009 Free Software Foundation, Inc. This is free software; see the source for copying conditions. …

6
Какую версию библиотеки C использует моя система?
Как я могу точно сказать, какую пользовательскую библиотеку C использует моя система? Возможные причины, по которым эта информация нужна: Есть гигантский пакет с исходным кодом, который я собираюсь загрузить, и я уверен, что он сделает правильные проверки и перечислит версию библиотеки mininum, но я бы предпочел избавить себя от потенциальных …


5
Какой системный вызов используется для загрузки библиотек в Linux?
В straceвыходных данных пути к библиотекам, которые вызывают исполняемые файлы, находятся в вызовах open(). Это системный вызов, используемый исполняемыми файлами, которые динамически связаны? Как насчет dlopen()? open()не вызов, который я бы предположил, сыграл бы роль в исполнении программ.

1
Почему системы Unix / Linux не перемещаются по каталогам, пока не найдут требуемую версию связанной библиотеки?
У меня есть двоичный исполняемый файл с именем "альфа", который требует связанной библиотеки (libz.so.1.2.7), который находится на /home/username/myproduct/lib/libz.so.1.2.7 Я экспортирую то же самое в свой экземпляр терминала, прежде чем порождать мой двоичный исполняемый файл, выполнив следующую команду. export LD_LIBRARY_PATH=/home/username/myproduct/lib/:$LD_LIBRARY_PATH Теперь, когда я порождаю другое приложение "bravo", которое требует ту же …

3
Как проверить, установлена ​​ли общая библиотека?
Мой вопрос возник из-за моей проблемы с запуском ffmpeg. Я установил ffmpeg, и он отображается как установленный: whereis ffmpeg ffmpeg: /usr/bin/ffmpeg /usr/bin/X11/ffmpeg /usr/share/ffmpeg /usr/share/man/man1/ffmpeg.1.gz Позже я выяснил, что некоторые программы зависят от библиотек, которые не поставляются с самой установкой, поэтому я проверил с помощью команды ldd, чего не хватает: # …

2
Как сам динамический компоновщик / загрузчик может быть динамически связан как сообщено `file`?
Рассмотрим зависимости общего объекта /bin/bash, который включает в себя /lib64/ld-linux-x86-64.so.2(динамический компоновщик / загрузчик): ldd /bin/bash linux-vdso.so.1 (0x00007fffd0887000) libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007f57a04e3000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f57a04de000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f57a031d000) /lib64/ld-linux-x86-64.so.2 (0x00007f57a0652000) Проверка /lib64/ld-linux-x86-64.so.2показывает, что это символическая ссылка на /lib/x86_64-linux-gnu/ld-2.28.so: ls -la /lib64/ld-linux-x86-64.so.2 lrwxrwxrwx 1 root root 32 May 1 19:24 …

2
Как узнать номер версии установленной библиотеки?
Вопрос актуален для RedHat / CentOS. Я немного запутался между пакетом и библиотекой и тем, как прикрепить их к фиксированной версии. В последних версиях libxcb есть ошибка X11, которая влияет на мои программы на Си. В libxcb-1.5-1 такой ошибки нет. Так я и сделал: # yum remove libxcb-devel # rpm …

2
Почему я не могу установить несколько версий общей библиотеки?
Часто бывают случаи, когда определенная программа будет зависеть от версии библиотеки xy, а другая от xz, но, насколько мне известно, ни один менеджер пакетов не позволит мне установить xy и xz. Иногда они разрешают обе основные версии (такие как qt4 и qt5, которые могут быть установлены одновременно), но (по-видимому) никогда …

3
LD_LIBRARY_PATH всегда пусто после sudo
Я получаю ошибки общей библиотеки всякий раз, когда мне кажется, что я устанавливаю программное обеспечение вручную. После выполнения echo $LD_LIBRARY_PATHэто проявляется как ... ничего . Я попытался добавить /usr/local/libв .confфайл, /etc/ld.so.conf.dно кажется, что он никогда не выполняется. Это тоже не работает (цитаты или иначе): LD_LIBRARY_PATH="/usr/local/lib" export LD_LIBRARY_PATH sudo ldconfig -v …

1
Инструмент для отслеживания вызовов библиотеки в Linux / ARM
Я ищу инструмент, который позволяет отслеживать вызовы функций в общих библиотеках в Linux / ARM. По сути, я хочу иметь возможность указать командную строку и позволить этому инструменту создать запись вызванных библиотечных функций и переданных аргументов. Я полагаю, что для этого можно использовать некоторую форму перехвата функций. Я знаю ltrace, …

1
Отображения общих библиотек в / proc / pid / maps
Почему /proc/pid/mapsсодержит несколько записей для одной и той же библиотеки? Вот пример: 7fae7db9f000-7fae7dc8f000 r-xp 00000000 08:05 536861 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 7fae7dc8f000-7fae7de8f000 ---p 000f0000 08:05 536861 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 7fae7de8f000-7fae7de97000 r--p 000f0000 08:05 536861 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 7fae7de97000-7fae7de99000 rw-p 000f8000 08:05 536861 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 Что это значит ?
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.