我尝试在 Ubuntu 14.04.1 64 位 LTS 上运行程序布局编辑器(可在此站点上获得)我在终端中得到以下输出:
$ layout
layout: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by layout)
Run Code Online (Sandbox Code Playgroud)
我试着命令strings的/usr/lib/x86_64-linux-gnu/libstdc++.so.6如下,这里是输入和输出:
$ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
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_DEBUG_MESSAGE_LENGTH
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题我以某种方式猜测它与相关GCC但无法弄清楚如何解决这个问题。此外,我已经按照如何在 Ubuntu 上使用最新的 GCC?并且在GLIBCXX_3.4.15 not found 上有一个针对旧版本 Ubuntu 的类似问题。然而,当我跑了sudo update,我得到很多的警告,我和字符串命令获得的名单安装后没有新的项目gcc 4.9,所以我清除了PPA(工具链测试构建)与ppa-purge。非常感谢任何帮助,关于如何进行的建议。
尝试在 Ubuntu 64 上运行Game Dev Tycoon。它要求上述对象。
我跑了sudo apt-get install libudev1:i386它回来已经安装了。
我有/lib/i386-linux-gnu/libudev.so.1但没有libudev.so.0任何地方。
libgtest-dev 包似乎只安装头文件到系统,而不是应该安装在 /usr/lib 下的静态和动态库。
这是一个错误吗?
我安装了 Eclipse、openjdk6 并下载并解压了 sdk 管理器文件。
现在,当我创建一个 Android 项目时,出现以下错误:
2012-06-06 18:44:40 - contactManager] /home/catia/android-sdks/platform-tools/aapt:
error while loading shared libraries: libz.so.1: cannot open shared object file:
No such file or directory
Run Code Online (Sandbox Code Playgroud)
当我尝试创建一个 AVD 管理器时,这个:
[2012-06-06 19:00:18 - SDK Manager] /home/catia/android-sdks/tools/mksdcard: error
while loading shared libraries: libstdc++.so.6: cannot open shared object file: No
such file or directory
[2012-06-06 19:00:18 - SDK Manager] Failed to create the SD card.
[2012-06-06 19:00:18 - SDK Manager] Failed to create sdcard in the AVD folder.
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 twoBitToFa,这是加州大学圣克鲁斯分校发布的一个小程序,可以解压缩大型基因组文件,但出现此错误:
error while loading shared libraries: libssl.so.10: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我尝试搜索提供它的软件包。我从 Fedora 切换yum provides过来,但在寻找 Ubuntu 等效版本时,我遇到了apt-file search但是当我尝试时,我收到了一个未找到命令的错误。
我怎样才能得到这个 libssl 文件,更一般地说,我怎样才能搜索哪个包提供了一个文件,这样我以后就可以自己做这个了?
我正在尝试在 Ubuntu 12.10 上使用 64 位 AMD 处理器运行 Chamsys MagicQ。
这是当我尝试运行程序时它告诉我的。
./magicq:加载共享库时出错:libGLU.so.1:无法打开共享对象>文件:没有这样的文件或目录
以下是 MagicQ 的库依赖项列表:
austin@ubuntu:~/magicq$ ldd ./magicq
linux-gate.so.1 => (0xf7799000)
libGLU.so.1 => 未找到
libusb-0.1.so.4 => 未找到
libQt5PrintSupport.so.5 = > 未找到
libQt5OpenGL.so.5 => 未找到
libQt5Widgets.so.5 => 未找到
libQt5Network.so.5 => 未找到
libQt5Gui.so.5 => 未找到
libQt5Core.so.5 => 未找到
libGL。 so.1 => /usr/lib32/fglrx/libGL.so.1 (0xf7694000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7679000)
libstdc++.so.6 = > 未找到
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf764d000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf762e000 )
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7483000)
libXext.so.6 => 未找到
libatiuki.so.1 => /usr/lib32/fglrx/libatiuki.so .1 (0xf746c000) …
当我运行一个在运行时链接到共享库的进程(在进程启动时链接,稍后不与 链接dlload())时,.so除了LD_LIBRARY_PATH?
背景:
我编写了一些使用特定第三方库的 C++ 代码。我已经在两个不同的平台上安装了这个库并编译了我的代码,都是 Ubuntu 但不同的版本,以及不同版本的 gcc。该库是从源代码编译和安装的,位于/usr/local/lib两个平台上。当我编译我的代码时,我链接了pkg-config --libs第三方库的参数,并且我已经验证pkg-config --libs在两个平台上返回完全相同的内容。
我的代码在两个平台上都成功编译,并且在两个平台上都LD_LIBRARY_PATH没有定义(或定义为空"":)。但是,当我在一个平台上运行它时它工作正常,而在另一个平台上我收到此错误:
error while loading shared libraries: libthrift-0.9.0.so: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)
有趣的是,那那些没有工作,是新的Ubuntu和gcc版本。:/
所以我试图弄清楚工作人员如何能够找到图书馆,以便我可以让坏的人以同样的方式找到图书馆。(即,没有设置LD_LIBRARY_PATH)
更新:
这是我的输出 cat /etc/ld.so.conf.d/*
...在工作(旧)系统上:
/usr/lib/mesa
/usr/lib32/mesa
/usr/lib/alsa-lib
# libc default configuration
/usr/local/lib
# Multiarch support
/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu
Run Code Online (Sandbox Code Playgroud)
...在损坏的(较新的)系统上:
# libc default configuration
/usr/local/lib
# Multiarch support
/lib/x86_64-linux-gnu …Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的 ubuntu 服务器上安装 ioquake。
当我尝试运行它时,我收到以下消息:
# ./ioquake3
./ioquake3.x86_64: error while loading shared libraries: libSDL-1.2.so.0: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我以为我一切正常,这是 libSDL 所在的位置:
# cd /usr/lib64
# /usr/lib64# ls -l
total 2308
lrwxrwxrwx 1 root root 15 Oct 15 00:25 libSDL-1.1.so.0 -> libSDL-1.2.so.0
lrwxrwxrwx 1 root root 20 Oct 15 00:25 libSDL-1.2.so.0 -> libSDL-1.2.so.0.11.4
-rwxr-xr-x 1 root root 2358903 Jan 19 2012 libSDL-1.2.so.0.11.4
Run Code Online (Sandbox Code Playgroud)
而我的路径:
# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/lib64
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我正在尝试安装 utorrent 程序,当我执行该程序时,我得到
./utserver: error while loading shared libraries: libssl.so.0.9.8: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我从昨天开始浏览不同的论坛,直到现在我都没有找到任何有用的东西,所以请告诉我有什么问题??
让我用一个例子来解释这个问题。我在日常工作中使用一些旧程序,例如xfig和pdfedit。
现在,这些程序已经很老了,更新也不是很频繁;我担心有一天,由于缺少某些库或某些不兼容的更新,它们将不再工作。
如果程序很容易编译现在,正在运行的系统上,解决的办法是得心应手:尝试破解了一下源和编译静态---生成的可执行文件将是很大的,不那么有效,但是它会为工作可预见的未来(1)。这似乎是这种情况xfig,我会尽快尝试。
但是,例如,pdfedit依赖于Qt3,此时设置一个系统来编译它是相当复杂的。幸运的是,它现在可以运行,这要归功于它所需的库与任何东西都不冲突。但这在未来可能会改变,所以我想解决这个问题:
如果我在 Ubuntu 上有一个动态的和所有的库,但没有源代码,我怎么能制作一个静态的二进制文件(或类似的东西)?
我四处寻找。一种可能性是statifier (2),但它在地址随机化方面有很多问题,所以这是一个禁忌。非免费版本Ermine似乎有效,但我真的更喜欢开源选项。
另一种可能性是使用 docker 或类似的打包系统。但是我找到的所有教程都非常面向 RedHat;而且,老实说,遵循起来非常复杂。
脚注:
(1) 没那么疯狂。例如,我使用静态 ffmpeg,工作正常,没有任何兼容性问题......
(2)编译statifier,见/sf/ask/1644876621/