libstdc++.so.3 => 在 CloudLinux 上找不到,没有超级用户权限,似乎在 chroot 中。

libstdc++.so.3 => 在 CloudLinux 上找不到,没有超级用户权限,似乎在 chroot 中。

我正在尝试在具有 x86_64 架构的 CloudLinux 计算机上安装 Linux x64 BOINC 命令行界面客户端。当我尝试运行可执行文件时,出现错误:

./boinc:加载共享库时出错:libstdc++.so.3:无法打开共享对象文件:没有这样的文件或目录

当我对 boinc 可执行文件执行 ldd 时,我发现:

    libstdc++.so.3 => not found

当我执行 yum install compat-libstdc++-33 时,我得到

严重:yum.cli:配置错误:访问配置文件时出错:///etc/yum.conf

我无权访问任何形式的超级用户权限,我的帐户很可能位于 chroot 中。

我怎样才能让我的客户端运行?

답변1

libstdc++ 3不再是默认值libstdc++。您仍然可以安装它,但最好使用发行版软件包 util 来安装。我假设您的 BOINC 客户端适用于您的架构 x86_64,而不是针对 x86 编译的。在解决依赖性问题方面差异很大。

考虑到您使用的是普通用户帐户,理论上您应该能够在本地执行此操作。我不确定 CloudLinux 是哪个版本,但现在我假设它是 6。

## Set up Lib Path Environment
cd ~
mkdir lib
echo "export LD_LIBRARY_PATH=~/lib" >> .profile 

## Make tmp folder, download package in it
mkdir tmp 
cd tmp
wget http://64.131.90.31/PSA_10.4.4/thirdparty-rpm-CloudLinux-6-x86_64/compat-libstdc++-296-2.96-144.el6.i686.rpm

## Extract package files, get the parts we want
rpm2cpio compat-libstdc++-296-2.96-144.el6.i686.rpm | cpio -idmv
cp usr/lib/libstdc++-* ../lib

## Go in our lib folder, and create symlinks to the lib ldd told you was missing
cd ../lib
ln -s libstdc++-3-libc6.2-2-2.10.0.so libstdc++.so.3

## Go back to home, and source our profile changes.
cd ~
. .profile

完成所有这些后,请尝试再次运行您的客户端。您可能需要注销并重新登录,请告诉我之后发生了什么!

관련 정보