Запитання з тегом «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. There …

6
Яку версію бібліотеки С використовує моя система?
Як я можу точно сказати, яку бібліотеку користувача C використовує моя система? Можливі причини необхідності цієї інформації включають: Є гігантський пакет джерел, який я розглядаю як завантажити, який, напевно, проведу належну перевірку і перелічує мінімальну версію бібліотеки, але я б краще врятувати себе потенційним клопотом, перевіривши спочатку, чи він спрацює. …


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, чого не вистачає: # ldd /usr/bin/ffmpeg …

2
Як може динамічний зв’язок / завантажувач сам динамічно пов'язаний, як повідомляється у файлі?
Розглянемо спільні об'єктні залежності /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 /lib64/ld-linux-x86-64.so.2 -> …

2
Як дізнатись номер версії встановленої бібліотеки?
Питання, що стосується RedHat / CentOS. Я трохи заплутався між пакунком і бібліотекою та способом прив’язати їх до фіксованої версії. У останніх версіях libxcb, що впливає на мої програми C, є помилка перекидання X11. у libxcb-1.5-1 немає цієї помилки. Так я і зробив: # yum remove libxcb-devel # rpm -Uvh …

2
Чому я не можу встановити кілька версій спільної бібліотеки?
Часто трапляються випадки, коли певна програма буде залежати від версії бібліотеки xy, а інша - від xz, але, наскільки мені відомо, жоден менеджер пакунків не дозволить мені встановити і xy, і xz. Іноді вони дозволять обидві основні версії (наприклад, qt4 і qt5, які можна встановити одночасно), але (здавалося б) ніколи …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.