idn2.h:没有这样的文件或目录

时间:2017-09-27 13:45:14

标签: centos rpm yum idn

我在64位Centos 6.6上,想要安装libidn2-devel。我试过了yum install libidn2-devel,但是没有用。我尝试从Internet上的各种网站下载rpms(手动解决递归依赖!)

(不是这样)很快我就陷入了其中一个依赖

libidn2.so.0()(64bit) is needed by libidn2-devel-0.10-1.sdl7.x86_64

我在互联网上找不到任何地方(对于CentOS)。

最终,我下载了source并尝试构建它。

wget -c ftp://alpha.gnu.org/gnu/libidn/libidn2-0.10.tar.gz
tar -xvzf libidn2-0.10.tar.gz
./configure
make

成功!

然而,当我用它来运行模块时,它给了我

error: idn2.h: No such file or directory
<idn2_variable> was not declared in this scope

PS:RPM似乎很奇怪

$ rpm -q libidn2-devel
package libidn2-devel is not installed
$ rpm -q libidn2
libidn2-2.0.4-1.el6.x86_64

1 个答案:

答案 0 :(得分:1)

libidn2-devel通过EPEL Repo

提供
Name        : libidn2-devel
Arch        : x86_64
Version     : 2.0.4
Release     : 1.el6
Size        : 54 k
Repo        : epel
Summary     : Development files for libidn2
URL         : https://www.gnu.org/software/libidn/#libidn2
License     : (GPLv2+ or LGPLv3+) and GPLv3+
Description : The libidn2-devel package contains libraries and header files for
            : developing applications that use libidn2.

维基页面here会为您提供更多详细信息,如果您要安装EPEL以便与yum一起使用,那么您应该下载(并安装)this {{1}到您的系统,然后在rpm中检查它将离开的配置文件。在那里,您需要检查/etc/yum.repos.d/epel.repo部分是否有[EPEL]行(我认为默认情况下已停用)

您可能需要/需要清理您尝试手动安装的内容,以避免任何更新等问题。