构建最新的Ruby on OSX失败:
../.././ext/psych/yaml/api.c:11:12: error: use of undeclared identifier 'YAML_VERSION_STRING'
return YAML_VERSION_STRING;
^
../.././ext/psych/yaml/api.c:21:14: error: use of undeclared identifier 'YAML_VERSION_MAJOR'
*major = YAML_VERSION_MAJOR;
^
../.././ext/psych/yaml/api.c:22:14: error: use of undeclared identifier 'YAML_VERSION_MINOR'
*minor = YAML_VERSION_MINOR;
^
../.././ext/psych/yaml/api.c:23:14: error: use of undeclared identifier 'YAML_VERSION_PATCH'
*patch = YAML_VERSION_PATCH;
为什么会这样?是不是来源测试了?
答案 0 :(得分:1)
通过将#include "config.h"
添加到...yaml/api.c
来解决此问题。
但后来出现了其他不同的错误。
我无法理解为什么ruby开发人员发布了错误的源代码。
使用更多信息进行修改:
似乎缺少某些定义(配置失败?)。通过添加
修复了其他错误#define HAVE_IFADDRS_H 1
#define HAVE_NET_IF_H 1
到ext/socket/rubysocket.h
。完成这些修复后,编译运行正常。