我刚刚在Ubuntu上安装了SPIKEfile(fuzzer),它说:
现在您需要设置您的LD_LIBRARY_PATH以包含libdisasm.so的path和libdlrpc.so的path
“printenv”显示没有这样的variables存在。
有人能请初学者向我解释这实际上是什么意思,以及如何解决这个问题。 我是一个相当缺乏经验的Linux用户。 提前致谢。
为2.4.0内核,i586架构构build二进制(telnet)
为linux构build可执行文件
从未初始化的内存读取返回不同的答案每次
在Linuxterminal上出现颜色特定的字
在linux中符号^ 是什么意思?
PS我发现网上的大部分东西是无益的,我宁愿不复制粘贴不知道我在做什么。
为什么包含带有外部variables和funcs的h文件会导致未定义的引用
`os.symlink` vs`ln -s`
rsyslog EscapeControlCharactersOnReceive无法在omfwd模块中工作?
使用xargs启动并行networking任务,同时最小化上下文切换开销
Linux有共享库的概念,即没有被烧入可执行文件的代码库,而是在程序执行时被动态链接。 可执行文件只包含对所需库名称的引用。
LD_LIBRARY_PATH是一个环境变量,它列出了Linux加载时链接程序在查找这些库时应使用的额外路径。 这只是一个以冒号分隔的表格
/path/to/somewhere:/path/to/somewhere_else:/path/to/narnia
假设你正在使用Bash,你可以执行以下操作来在列表中添加额外的路径(即使$LD_LIBRARY_PATH初始化为空或者未设置,这也可以工作):
export LD_LIBRARY_PATH=/path/to/dir/containing/libdisasm.so:$LD_LIBRARY_PATH
(和libdlrpc.so类似)。
我在Solaris下使用LD_LIBRARY_PATH,因为有时踢脚本似乎有些库缺少。 在脚本开始时设置这个变量只是解决这个问题的一个更安全的方法。
值得一提的东西(可能是你在找什么):
ldd /path/to/narnia export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/dir/containing/lib
(这样做不会丢失以前设置的目录)
再次使用命令时应该如何工作:
ldd /path/to/narnia librt.so.1 => /lib/librt.so.1 (0x00002b4eca08e000) libc.so.6 => /lib/libc.so.6 (0x00002b4eca49f000) libpthread.so.0 => /lib/libpthread.so.0 (0x00002b4eca7df000) /lib64/ld-linux-x86-64.so.2 (0x00002b4ec9e72000) libmylib.so.1 => ~/myprogdir/lib/libmylib.so.1 (0x00002b4eca9fa000)
# vi .bash_profile
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。