无法安装opendkim因为找不到bsd / string.h

时间:2014-06-30 06:22:35

标签: linux email install dkim

我尝试在AWS上安装OpenDKIM 2.9.2以生成DKIM public&私钥。当我在opendkim源代码文件夹下运行sudo ./configure --with-openssl=/usr/include/openssl时,它给了我以下错误消息。

checking bsd/string.h usability... no
checking bsd/string.h presence... no
checking for bsd/string.h... no
checking for strlcat... no
checking for library containing strlcat... no
checking for library containing strlcpy... no
checking for strlcpy... no
checking for library containing strlcat... (cached) no
checking for library containing strlcpy... (cached) no
configure: error: no strlcpy/strlcat found

我搜索了系统,发现string.h文件位于以下文件夹

/usr/include/bits/string.h
/usr/include/string.h
/usr/include/linux/string.h

我在bsd/usr/include)下创建了一个名为/usr/include/bsd的文件夹,并创建了一个指向/usr/include/string.h的软链接。然后,安装过程可以找到string.h文件,但仍无法在该文件中找到strlcatstrlcpy函数。所以我想我需要安装libbsd。然后我跑了" whereis libbsd"我得到了#34; /usr/lib64/libbsd.a"。所以我想已经安装了lib。

所以现在我不知道如何解决问题并从源代码安装OpenDKIM。

请帮我解决这个问题。提前谢谢。

3 个答案:

答案 0 :(得分:15)

您需要安装 libbsd-dev

如果您使用的是ubuntu

sudo apt-get install  libbsd-dev

如果您使用的是centOS

sudo yum install  libbsd-devel

希望这有助于你

答案 1 :(得分:2)

我意识到已经选择了一个答案。但这对我来说在DigitalOcean的新CentOS 6.x安装上很有用。

  1. 安装RHEL EPEL Repos

    wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm sudo rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm

  2. 对于libbsd-devel的百胜

    yum install libbsd-devel

  3. 参考: Installing RHEL EPEL Repo on Centos 5.x or 6.xpkgs.org

答案 2 :(得分:0)

即使已经关闭,也要注意 - 亚马逊EC2 Linux也需要EPEL回购......

yum-config-manager --enable epel > /dev/null
yum update
yum install libbsd-devel