在sudo中加载共享库时出错

条码

我阅读了https://github.com/openyou/libomron/blob/master/README.asciidoc上的文档

执行:

cd /
sudo find . | grep libomron.so.0.9.0

结果:

./home/splincode/Develop/omron/c++_modules/libomron/omron-build/lib/

Okey,我在全局路径中添加库

LD_LIBRARY_PATH=/usr/local/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/splincode/Develop/omron/c++_modules/libomron/omron-build/lib/
export LD_LIBRARY_PATH

然后就可以了:

 cd ~/Develop/omron/usr/local/bin/
 ./omron_790IT_test

但是,无法访问硬件,结果

 Found 1 omron 790ITs
 Cannot open omron 790IT!

结果,我开始以管理员身份运行,但是他没有看到库,该怎么办?

sudo ./omron_790IT_test

结果:

 ./omron_790IT_test: error while loading shared libraries: libomron.so.0.9.0: cannot open shared object file: No such file or directory
受雇于俄罗斯

./omron_790IT_test: error while loading shared libraries

这是因为默认情况下发生的事情sudo没有传播环境变量; 这样做会带来安全风险。

您可以通过以下三种方式之一来处理:

  1. 在一个单向链接你的程序并不需要LD_LIBRARY_PATH进行设置(这是最好的方法)。

    在您的情况下,链接命令应如下所示:

    gcc -o omron_790IT_test ... \ -Wl,-rpath=/home/splincode/Develop/omron/c++_modules/libomron/omron-build/lib

  2. 在sudo进程中明确设置所需的环境变量:

    sudo env LD_LIBRARY_PATH=... ./omron_790IT_test

  3. 要求sudo将所有环境变量传播到根进程中:

    sudo -E ./omron_790IT_test

    sudo --preserve-env ./omron_790IT_test

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

加载共享库时出错

来自分类Dev

在 Docker 容器中加载共享库 libsqlite3.so.0 时出错

来自分类Dev

Cygwin Gcc加载共享库时出错?

来自分类Dev

libfastcgipp <加载共享库时出错

来自分类Dev

加载共享库时出错(glew)

来自分类Dev

使用dlopen()加载共享库时出错

来自分类Dev

GDB:远程加载共享库时出错

来自分类Dev

加载共享库时出错-libwebsock

来自分类Dev

加载共享库时出错,文件太短

来自分类Dev

加载共享库时出错;文件太短

来自分类Dev

加载 SMFL 共享库时出错

来自分类Dev

mysql:加载共享库时出错

来自分类Dev

在CodeIgniter中加载外部库Gantii时出错

来自分类Dev

尝试在mysql数据库中加载数据时出错

来自分类Dev

gcc:加载共享库时出错->查找错误的库版本

来自分类Dev

加载共享库时出错:libjvm.so:

来自分类Dev

加载共享库libpng16时出错

来自分类Dev

加载共享库时出错:libsfml-graphics.so.2.2.0

来自分类Dev

加载共享库时出错:liblua.so

来自分类Dev

加载共享库时出错:libpng12.so.0

来自分类Dev

openvpn:加载共享库时出错:libssl.so.1.0.0

来自分类Dev

加载共享库时出错:libssl.so.1.0.0

来自分类Dev

加载共享库时出错:libpng12.so.0

来自分类Dev

Java:加载共享库时出错:libjli.so

来自分类Dev

加载共享库libSDL-1.2时出错

来自分类Dev

加载共享库时出错:libcrypto.so.1

来自分类Dev

加载共享库时出错:libtcmalloc_minimal.so.4?

来自分类Dev

加载共享库时出错:libffi.so.5:

来自分类Dev

加载共享库libSDL-1.2.so.0时出错