C 为Ruby 1.9.1构建dnssd gem时缺少HTON

C 为Ruby 1.9.1构建dnssd gem时缺少HTON,c,ruby,rubygems,C,Ruby,Rubygems,我一直试图让最新版本的DNSSD插件与Ruby 1.9.1配合使用,但遇到了一些问题。我已经概述了到目前为止我所采取的步骤,也许这里有人能够找出其他的错误 尝试安装当前版本,使用:sudo gem19 install dnssdGem install失败,原因是找不到可用的密码 正在检查htons()。。。不 需求函数 检查了htons()的手册页(据我所知,如果需要,htons会将字符串转换为网络字节顺序[big-endian]) 根据Mac OSX 10.5手册页添加了HTON()的相关包含

我一直试图让最新版本的DNSSD插件与Ruby 1.9.1配合使用,但遇到了一些问题。我已经概述了到目前为止我所采取的步骤,也许这里有人能够找出其他的错误

  • 尝试安装当前版本,使用:
    sudo gem19 install dnssd
    Gem install失败,原因是找不到可用的密码 正在检查htons()。。。不 需求函数

  • 检查了htons()的手册页(据我所知,如果需要,htons会将字符串转换为网络字节顺序[big-endian])

  • 根据Mac OSX 10.5手册页添加了HTON()的相关包含

  • 运行ruby19 extconf.rb,未找到htons(),ruby(1.8)成功


  • DNSSD v0.7.0 github mirror

    htons不转换字符串,它将短(16位)从主机字节顺序转换为网络字节顺序

    它可以(可能)作为宏实现。在我的系统(Debian Etch)上,它位于文件/usr/include/netinet/in.h中。它属于libc6-dev包,它是标准C库的开发部分


    不确定这在OSX上是如何组织的,但您应该验证是否安装了C开发库。

    谢谢,我确信这是Ruby 1.9.1特有的,因为Ruby 1.8 htons在我的系统上可以找到,而不是库是否存在。