gpt4 book ai didi

gem - `gem install zookeeper -v ' 1.4.4 '` on osx 10.8.4 失败(与 C99 模式相关的错误)

转载 作者:行者123 更新时间:2023-12-04 02:46:19 24 4
gpt4 key购买 nike

我的系统是 osx 10.8.4,执行 gem install zookeeper -v '1.4.4' 总是得到以下错误:


src/hashtable/hashtable_itr.c:42:1: 错误:C99 模式不支持重新定义 'extern inline' 函数 'hashtable_iterator_key'
hashtable_iterator_key(struct hashtable_itr *i)
^
src/hashtable/hashtable_itr.h:36:1: 注意:之前的定义在这里
hashtable_iterator_key(struct hashtable_itr *i)
^
src/hashtable/hashtable_itr.c:46:1: 错误:C99 模式不支持重新定义“extern inline”函数“hashtable_iterator_value”
hashtable_iterator_value(struct hashtable_itr *i)
^
src/hashtable/hashtable_itr.h:45:1: 注意:之前的定义在这里
hashtable_iterator_value(struct hashtable_itr *i)
^

有没有人碰巧知道原因?谢谢!

附言执行 gem install zookeeper 可以毫无问题地安装 zookeeper 1.4.6。

更新:执行 CC=gcc-4.6 gem install zookeeper -v '1.4.4' 解决了我的问题

最佳答案

为了使这个问题成为一个已回答的问题,我想提供一个“正确”的答案。

zookeeper 似乎是建立在 gcc 之上的。

OS X 或更好的 Xcode(自版本 4.x 起)停止使用 gcc 作为默认设置,直到他们最终完全放弃对 gcc 的支持。

他们转而使用 LLVM 并结合 clang 前端。

在不修改源代码的情况下解决该问题的唯一方法是通过诸如自制软件之类的工具安装 gcc;

brew 安装 gcc47

完成后,您可以通过提供匹配的 CC(和/或 CXX)环境变量来指示您的构建/安装过程使用该 gcc;

CC=gcc-4.7 CXX=g++-4.7

您的问题的更新有效,因为您之前安装了 gcc4.6。对于最近安装的 OS X/Xcode,情况可能并非如此,因此我的回答很冗长。

这些步骤应该是相当通用的,只要“标准”包没有在 OS X/Xcode 上正确构建或安装,就可以使用这些步骤;只需在您的安装/配置指令前加上给定的环境变量。

以您的示例为例:

CC=gcc-4.7 CXX=g++-4.7 gem install zookeeper -v '1.4.4'

注意;很可能有侵入性较小的方法来完成工作,但无需进一步尝试和错误,上面提到的通常可以解决与 clang/gcc 不兼容相关的各种奇怪结果。

关于gem - `gem install zookeeper -v ' 1.4.4 '` on osx 10.8.4 失败(与 C99 模式相关的错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18775968/

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