标签: shared-library

如何查看已安装库的文档?

我安装doxygendoxygen-doc。doxygen 的手册页告诉我获取 doxygen-doc 以获取更多信息。我doxygen-doc在我的 中找到了usr/share/doc,但它是一个压缩档案。那么如何方便的访问呢?

shared-library documentation

7
推荐指数
1
解决办法
2267
查看次数

Bash 脚本不是从 nautilus 运行,而是从终端运行

在我为我的问题添加更多细节之前,我必须说一些非常重要的事情:

是的,我的脚本打开了“允许作为程序执行文件”。

问题本身:

出于编程原因(共享库),我不能仅从可执行文件中执行我的程序,因为我需要LD_LIBRARY_PATH在执行程序之前进行访问。我创建了这个脚本来做到这一点(请记住,这是我第一次编写脚本):

#!/bin/bash
#Get the current directory and append the SO's location
currentDir=$(pwd)'/libs/'

#Change the library path
export LD_LIBRARY_PATH=$currentDir

#Run the program
./program
Run Code Online (Sandbox Code Playgroud)

从终端运行后,我认为它已经工作了,没有错误,程序也没有抱怨共享库。但不幸的是,如果我尝试.sh从 Nautilus双击该文件,则没有任何反应。最糟糕的是,因为我是从 GUI 运行它的,所以我不知道它得到了什么错误。我正在运行 Ubuntu 14.04,可执行文件是使用 SFML 库的 C++ 程序(是的,我可以只拥有依赖项,但 SFML 通常不安装在 Linux 计算机上,这不是重点)。

bash nautilus scripts shared-library

7
推荐指数
1
解决办法
3913
查看次数

移动共享库,现在我无法运行任何命令

我跑了sudo mv /lib/x86_64-linux-gnu/libpthread.so.0 ~,回想起来,这并不是世界上最伟大的想法。

现在,我什么也做不了。我运行的任何命令都失败了 error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory

我不能跑apt,我什至不能做一个ls。我无法将文件移回[sudo] mv ~/libpthread.so.0 /lib/x86_64-linux-gnu/. 我不能运行ldconfig。关于如何消除这种损害的任何想法?

一个可能的相关事实是/lib/x86_64-linux-gnu/还包含文件libpthread-2.27.so,它可能以libpthread.so.0某种方式符号链接?

我认为这并不重要,但这是在 WSL 上运行的 Ubuntu 18.04。

shared-library 18.04

7
推荐指数
1
解决办法
587
查看次数

如何在Ubuntu 20.04上安装GLIBCXX_3.4.29?

我下载了 DOOM BFA 版本 1.2.8,但运行后我收到消息:

./DoomBFA:/usr/lib/x86_64-linux-gnu/libstdc++.so.6:找不到版本“GLIBCXX_3.4.29”(./DoomBFA 需要)

有没有办法在 ubuntu 20.04 中更新这些库?

lts dependencies shared-library games 20.04

7
推荐指数
1
解决办法
4万
查看次数

什么包为 g++ 提供了 -llua?

我已经安装了 Synaptic 的所有 lua5.1 开发包,但 g++ 链接器找不到-llua. 我读过其他一些问题,可能-llua有其他名称,我应该修复它。但问题是我似乎无法找到lua.o它的名字。

package-management shared-library gcc g++

6
推荐指数
1
解决办法
6507
查看次数

加载共享库时出错;无法打开共享对象文件:没有这样的文件或目录

程序evince抱怨找不到 libfreetype.so.6;但是我清楚地将文件及其包含在我的 LD_LIBRARY_PATH 中;此外,我还有另一个使用 libfreetype6 的程序并且能够运行得很好。这里发生了什么?

jbud@jb-pc ~> evince
evince: error while loading shared libraries: libfreetype.so.6: cannot open shared object file: No such file or directory

jbud@jb-pc ~> ldd /usr/bin/evince | grep freetype
libfreetype.so.6 => /usr/local/lib/libfreetype.so.6 (0x00007f912179d000)

jbud@jb-pc ~> file /usr/local/lib/libfreetype.so.6
/usr/local/lib/libfreetype.so.6: symbolic link to `libfreetype.so.6.11.1'

jbud@jb-pc ~> file /usr/local/lib/libfreetype.so.6.11.1
/usr/local/lib/libfreetype.so.6.11.1: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0x21a4b8005e0c9a42af001b35fb984f4e25efc71c, not stripped

jbud@jb-pc ~> echo $LD_LIBRARY_PATH
/usr/lib/:/usr/lib64/:/usr/lib/x86_64-linux-gnu/:/usr/local/lib/

jbud@jb-pc ~> ldd jdrive/jstuff/work/personal/noengine/client | grep freetype
libfreetype.so.6 …
Run Code Online (Sandbox Code Playgroud)

shared-library

6
推荐指数
2
解决办法
8万
查看次数

为什么我在运行 Mercury 时会收到“加载共享库时出错:libGL.so.1:错误的 ELF 类:ELFCLASS64”?

使用原生 OpenGL

/home/software/Mercury_3.3/c_linux/bin/mercury.x: error while loading shared libraries: libGL.so.1: wrong ELF class: ELFCLASS64
Run Code Online (Sandbox Code Playgroud)

shared-library debian

6
推荐指数
1
解决办法
4万
查看次数

为什么无法识别 libtiff.so.4?

我最近从 ubuntu 13.10 更新到 14.04 LTS。我正在使用Smoldyn,一个基于粒子的模拟包,但自从更新后它不再工作了。打字后

smoldyn
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

smoldyn: error while loading shared libraries: libtiff.so.4: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

显然,他找不到 libtiff.so.4。另一方面,命令

locate libtiff.so.4
Run Code Online (Sandbox Code Playgroud)

给我:

/usr/lib/x86_64-linux-gnu/libtiff.so.4
/usr/lib/x86_64-linux-gnu/libtiff.so.4.3.6
Run Code Online (Sandbox Code Playgroud)

所以看起来 libtiff 安装正确。你知道这里有什么问题吗?为什么 smoldyn 没有运行?提前谢谢了!


我的系统:

  • Ubuntu 14.04 LTS
  • 处理器:Intel® Core™ i7-2600 CPU @ 3.40GHz × 8
  • 图形: AMD CEDAR 上的镓 0.4
  • 操作系统类型:64位

shared-library libraries libtiff 14.04

6
推荐指数
1
解决办法
1万
查看次数

升级到 Ubuntu 14.04 后,Vim 拒绝启动“加载共享库时出错:libperl.so.5.14”

我升级到 Ubuntu 14.04 后,vim 拒绝启动,显示以下错误:

vim: error while loading shared libraries: libperl.so.5.14: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

现在,我重新安装了perl,我检查/usr/liblibperl.so.5.14文件,有三个: libperl.so.5.14libperl.so.5.14.2libperl.so。但我仍然收到此错误。为什么它看不到 perl?

vim shared-library perl

6
推荐指数
2
解决办法
2万
查看次数

即使 libstdc++.so.6 足够新,也未找到版本“GLIBCXX_3.4.26”

我意识到有很多这样的问题,但与其他问题的不同之处在于我的 libstdc++.so.6 实际上似乎是最新的(有关它导出的字符串,请参见下文)。这是在尝试加载我自己编译的动态库时出现的错误。apt-get upgrade 之类的告诉我 libstdc++.so.6 已经是最新的(版本libstdc++6 is already the newest version (9.1.0-2ubuntu2~18.04))。

加载此库时出现完整错误(在 MATLAB R2019a 中):

'/home/dee/git_repos/Titta/TobiiMex/TobiiMex_matlab/64/TobiiMex_matlab.mexa64':
/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by
/home/dee/git_repos/Titta/TobiiMex/TobiiMex_matlab/64/TobiiMex_matlab.mexa64)
Run Code Online (Sandbox Code Playgroud)

的输出strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBC

GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_3.4.26
GLIBC_2.2.5
GLIBC_2.3
GLIBC_2.14
GLIBC_2.6
GLIBC_2.4
GLIBC_2.18
GLIBC_2.16
GLIBC_2.3.4
GLIBC_2.17
GLIBC_2.3.2
GLIBCXX_DEBUG_MESSAGE_LENGTH
Run Code Online (Sandbox Code Playgroud)

我可以尝试解决什么问题?

shared-library glibc

6
推荐指数
2
解决办法
2万
查看次数