该程序是Xenomai测试套件的一部分,从Linux PC交叉编译到Linux+Xenomai ARM工具链中.

# echo $LD_LIBRARY_PATH                                                                                                                                          
/lib                                                                                                                                                             
# ls /lib                                                                                                                                                        
ld-2.3.3.so         libdl-2.3.3.so      libpthread-0.10.so                                                                                                       
ld-linux.so.2       libdl.so.2          libpthread.so.0                                                                                                          
libc-2.3.3.so       libgcc_s.so         libpthread_rt.so                                                                                                         
libc.so.6           libgcc_s.so.1       libstdc++.so.6                                                                                                           
libcrypt-2.3.3.so   libm-2.3.3.so       libstdc++.so.6.0.9                                                                                                       
libcrypt.so.1       libm.so.6                                                                                                                                    
# ./clocktest                                                                                                                                                    
./clocktest: error while loading shared libraries: libpthread_rt.so.1: cannot open shared object file: No such file or directory                                 

Edit:好的,我没有注意到文件末尾的.1是文件名的一部分.这到底是什么意思?

推荐答案

Update
While what I write below is true as a general answer about shared libraries, I think the most frequent cause of these sorts of message is because you've installed a package, but not installed the -dev version of that package.


好吧,这不是撒谎——名单上没有libpthread_rt.so.1个.您可能需要重新配置和重新构建它,以便它取决于您拥有的库,或者安装任何提供libpthread_rt.so.1的程序.

一般来说,后面的数字.版本号也是如此,你经常会发现它们是彼此的符号链接,所以如果你有libfoo的1.1版.所以,你会有一个真正的文件libfoo.所以1.0和符号链接.还有福.所以1.指向libfoo.所以1.0. 如果你安装了1.1版而没有删除另一个,你就会有一个libfoo.所以1.1和libfoo.所以1和libfoo.现在我们将指向新版本,但任何需要该确切版本的代码都可以使用libfoo.所以1.0文件.只依赖版本1 API,但不关心它是1.0还是1.1的代码将指定libfoo.所以1.正如orip在 comments 中指出的,这一点在at here中得到了很好的解释.

在你的情况下,你可以把libpthread_rt.so.1libpthread_rt.so符号化.不过,不能保证它不会 destruct 你的密码,吃你的电视晚餐.

Linux相关问答推荐

Linux打开/dev/tran/n是否与复制相同?

Linux内核中维护进程无关寄存器失败

在Bluez/Linux中,周期性与连续蓝牙设备发现的已知缺陷是什么?

奇怪的 Bash 脚本行为

JSON 转义 CURL/JQ 输出

为什么 perf stat 不计算 cycles:u 在 BIOS 中禁用超线程的 Broadwell CPU 上?

如何摆脱管道分隔字段中不需要的管道符号 - Linux

RabbitMQ 安装后没有自动启动

最小的 x86_64 Hello World ELF 二进制文件是什么?

每次来宾重新启动后 Vagrant 执行脚本或命令(vagrant up)

如何将执行的shell命令的结果存储在python的变量中?

判断条件是否为假

使用 rc.local 运行脚本:脚本有效,但在启动时无效

Linux批量转换:使用转换更改jpg的质量但保留其名称

将原始数据发送到 TCP 服务器的 Linux 工具

cmake : 从脚本设置环境变量

Linux下的签名可执行文件

如何运行我所有的 PHPUnit 测试?

CentOS:在 PHP 安装中启用 GD 支持

如何限制堆大小?