gpt4 book ai didi

linux - 链接到 linux 共享库

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:23:52 26 4
gpt4 key购买 nike

我正在尝试在 amazon linux ec2 实例上安装 opendkim。从源代码编译时,我得到:配置:错误:找不到 strlcpy/strlcat所以我从源代码安装了 libbsd。安装后,我可以转到 strlcat 和 strlcpy 的手册页,但我无法访问这些功能。我验证了共享库已安装。 libbsd 安装的输出声明使用 4 个选项之一:

If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the `-LLIBDIR' flag during linking and do at least one of the following:

- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'

我跑了

export LD_RUN_PATH=/usr/local/lib
export LD_LIBRARY_PATH=/usr/local/lib/

另外我的/etc/ld.so.conf 包含

 include ld.so.conf.d/*.conf

我的/etc/ld.so.conf.d/libbsd.conf 包含

/usr/local/lib/libbsd

最后检查我的 libbsd 库 nm -D/usr/local/lib/libbsd.so 包含:

000000000000de30 T strlcat
000000000000ded0 T strlcpy

所以我的问题是我如何将 strlcat 和 strlcpy 暴露给命令行?或者如何执行“使用 `-Wl,-rpath -Wl,LIBDIR' 链接器标志”选项,或者通常我在链接到共享库时做错了什么?任何帮助表示赞赏。谢谢!

最佳答案

所以我无法链接到库,但我能够解决依赖关系。 centos 的二进制 rpm 安装完美:

sudo wget http://dl.fedoraproject.org/pub/epel/7/x86_64/l/libbsd-0.6.0-3.el7.x86_64.rpm
sudo yum localinstall ./libbsd-0.6.0-3.el7.x86_64.rpm

sudo wget http://dl.fedoraproject.org/pub/epel/7/x86_64/l/libbsd-devel-0.6.0-3.el7.x86_64.rpm
sudo yum localinstall ./libbsd-devel-0.6.0-3.el7.x86_64.rpm

关于linux - 链接到 linux 共享库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38622355/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com