Questions tagged «libraries»

库是程序可以使用的功能的集合。它们可以由程序动态加载,也可以编译到程序中。

2
如何跟踪库加载?
我有依赖于链接到libboost 1.67(已安装在系统中)的库的程序。启动它时,出现了一个libboost_system.so.1.58不存在的错误。LD_PRELOAD并LD_LIBRARY_PATH没有设置。 lddtree执行不会将此库显示为依赖项,但是ldd会显示。 如何从需要该库的位置进行跟踪?
16 libraries 

1
如何说服dpkg libssl1.0.2> = libssl1.0.0?
我试图安装以前在Debian 8上安装的3rd party .deb软件包,但是由于出现以下错误,所以无法在全新的Debian 9安装程序上安装: dpkg: dependency problems prevent configuration of parity: parity depends on libssl1.0.0 (>= 1.0.0); however: Package libssl1.0.0 is not installed. 我确实安装了libssl1.0.2。但是它没有被识别为“> = libssl1.0.0”,所以我想知道如何解决此问题。 我是否手动安装libssl1.0.0?如果是这样,怎么办? 我是否链接某些东西?如果是这样,该怎么办? 还有吗

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 linux-vdso.so.1 => (0x00007fff71fe9000) libavfilter.so.0 => not found libpostproc.so.51 => not found libswscale.so.0 => not found libavdevice.so.52 => not found libavformat.so.52 => not found libavcodec.so.52 => not found libavutil.so.49 => not found libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f5f20bdf000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 …

2
跟踪库调用
我知道strace,它非常方便观看系统调用。是否存在可以跟踪对外部库的调用的等效项? 例如,我正在尝试使用第三方二进制文件调试某些SSLeay异常行为,而我无法访问该代码(谁的开发人员没有响应)。我相信我已经解决了这个问题,但是如果没有确切地查看经过签名检查的数据如何格式化以发送到SSLeay,就无法进行测试。

7
用于Linux的立体声“音调发生器”?
是否有用于Linux的立体声(左右声道分离)音源?您可以在其中设置每个通道的音量和音调/音高,并且最好还设置波形(正弦波,方波,锯齿波,...)并反转一个通道(相对于另一个通道)。 如果没有,有什么好的地方开始构想吗?我想最简单的办法就是改编现有的程序,例如合成器……但是,如果工作不佳,是否有任何库(例如SDL?)可以用作此类程序的基础?
14 audio  libraries 

1
有没有简单的方法来安装glibc的二进制版本?
我一次又一次地看到这样的问题: Centos 6上的GLIBCXX 3.4.15 CentOS 4.8和glibc 2.5 这些是我们通常要推动的解决方案类型: 如何在不更新GLIBC的情况下运行新软件? 在debian / ubuntu中同时安装两个glibc Centos 6上的GLIBCXX 3.4.15 这真的是我们能做到的最好的吗?难道没有GLIBC的二进制版本,我们可以简单地将其解压缩到诸如之类的目录中/opt/myglibc,并设置$LD_LIBRARY_PATH或(任意)内容并运行我们想要的任何应用程序,而不会出现问题? 似乎需要GLIBC 2.14的应用程序,例如较新版本的Chrome(28+)? 注意:该线程标题为:Google Chrome 29已发布–在tecmint.com 上的RHEL / CentOS 6和Fedora 19/15上安装是最终使我想到这一点的原因。 参考文献 GNU C库(glibc)
13 libraries  glibc 

1
GCC如何知道Boost安装在哪里
我sudo apt-get install在Ubuntu上安装了boost使用。后来,我不必给gcc I标志以及使用boost的boost库路径。我也没有做任何事情pkg-config --cflags --libs。这里的奥秘是什么?gcc如何知道boost在哪里以​​及如何自动链接到它?
13 gcc  libraries  boost 

2
从Scipy使用Atlas
我安装了Ubuntu 12.04 64位。我需要使用python和scipy,我安装了它们并在运行测试时: python -c "import scipy; scipy.test()" 我收到消息: ImportError:libatlas.so.3gf:无法打开共享对象文件:没有此类文件或目录 但是,我在目录下安装了libatlas库/usr/lib/atlas-base。我知道我可以直接在下面复制文件/usr/lib,但是我不知道如何设置scipy以使用来自的库usr/lib/atlas-base?



1
可执行文件到另一台Linux机器的可移植性
我已经在一台Linux计算机(M1)上安装了Motion程序,并希望在另一台Linux(M2)上使用相同的程序。 该程序的构建方式多种多样,我已经忘记使用了哪个版本,因此我可以直接复制M1中的user / bin / motion文件并将其放在M2的user / bin / motion中吗? 我知道配置文件在哪里,所以我将其遍历,但是我不确定Motion的工作版本在M2上使用的视频驱动程序是什么。有什么办法找出来吗? 有没有一种方法可以找出其依赖性?

3
有没有一种方法可以确定应该加载哪些软件包或库来支持可执行文件?
我有一个可执行文件,我想在无法编译的计算机上安装该可执行文件,该可执行文件不是作为程序包构建的,我想下载运行它们所需的库。 以下是ldd在其上运行的输出的一部分 libpango-1.0.so.0 => /usr/lib/i386-linux-gnu/libpango-1.0.so.0 (0xb702f000) libcairo.so.2 => /usr/lib/i386-linux-gnu/libcairo.so.2 (0xb6f64000) libatk-1.0.so.0 => /usr/lib/i386-linux-gnu/libatk-1.0.so.0 (0xb6f43000) libsqlite3.so.0 => /usr/lib/i386-linux-gnu/libsqlite3.so.0 (0xb6e9e000) libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb6cf4000) /lib/ld-linux.so.2 (0xb786e000) libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xb6cd3000) libgio-2.0.so.0 => /usr/lib/i386-linux-gnu/libgio-2.0.so.0 (0xb6b7c000) libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb6b4f000) 是否有一个工具可以使用此信息来选择应该下载哪些软件包,或者最好仅提取列出的库及其依赖项,以最大程度地减少磁盘使用量?系统正在无头虚拟机上运行,​​程序将通过VNC显示。 尽管我怀疑功能齐全的图形桌面将提供所需的大多数库,但我只想下载所需的库,它们的依赖项以及足够的X Windows软件包来支持它。


2
ELF共享库-PLT的动机
可以使用自修改代码来加速动态链接库中的函数调用吗? 据我了解,ELF共享库使用一种间接跳转表(过程链接表或PLT)来实现库函数的延迟绑定。目的似乎是为了避免必须修改代码段中的表,同时仍允许在第一次调用时对函数位置进行延迟解析。 在加载时甚至可能在第一个函数调用时为该表动态创建代码会更快吗? 是否能够在进程之间尽可能多地共享代码段(动态表对于进程是私有的)?是出于安全原因(可写代码不应执行 -但是JIT始终这样做,并且加载程序可以在实际启动程序之前由加载程序添加和删​​除写许可权)? 还是这两者的结合,而每次函数调用获得的小性能提升是不值得的?

4
在本地安装开发文件以在没有root用户访问权限的系统上进行构建?
我正在使用一台服务器,运行的是旧版Linux。我没有对该系统的root访问权限,因此我想构建一个我经常使用的工具(Vim 7.3)的更新版本。我以为我会构建它并将其安装在〜/ bin中。但是,它需要未在系统范围内安装的ncurses开发文件。我找到了ncurses-devel rpm,并提取了“ lib”和“ include”文件夹,我将它们放在哪里,以及如何告诉./configure脚本找到它们,以便可以在本地正确配置和构建软件包? 编辑:最后,我通过在Virtualbox中安装相同的OS,然后在其中构建软件包并复制二进制文件来解决此问题。
11 libraries  centos 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.