我正在尝试在 Fedora 上编译ttyd
需要的内容。libwebsockets
我的系统有一个过时的版本,ttyd
我需要一个更新的版本来运行vhs tool。
这两个项目都使用 CMake,我能够编译和安装两者。
当我ttyd
从构建目录运行时,它工作正常。但是当我从其他地方运行时,我遇到了这个错误:
ttyd: error while loading shared libraries: libwebsockets.so.19: cannot open shared object file: No such file or directory
当我将构建目录添加到我的PATH
变量中时,我可以使用ttyd
,vhs
但我希望正确安装ttyd
它。我做错了什么?
请注意,我已经安装ttyd
然后libwebsockets
删除它们。
我可能会关心共享库的符号链接,但这并不是问题的实际解决方案。如果我从源代码安装两者,为什么缺少共享库?
编辑:
我以相同的方式安装了这两个软件包:
mkdir build
cd build
cmake ..
make
sudo make install
共享库安装在/usr/local/lib/
这里的问题是它
/usr/local/lib
不包含在默认的共享库搜索路径中。有三种方法可以解决这个问题:LD_LIBRARY_PATH
运行前设置ttyd
:更新默认库搜索路径:
构建时将库路径编译到二进制文件中:
以上三个选项中的任何一个都将允许
ttyd
找到libwebsockets
共享库。