mac下编译go-ethereum

lansheng228 · · 852 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

macos: 10.14.4

下载go-ethereum源码,按照文档执行命令编译:

$ make all

报错:
fatal error: 'stdlib.h' file not found

/usr/include

查看xcode是否安装:

$ xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates

$ xcode-select -p
/Applications/Xcode.app/Contents/Developer

$ brew config

Clang: 10.0 build 1001
Git: 2.20.1 => /usr/local/bin/git
macOS: 10.14.4-x86_64
CLT: 10.2.0.0.1.1552586384
Xcode: 10.2
CLT headers: 10.2.0.0.1.1552586384

发现xcode已经安装。

使用命令查看 clang++的 include 搜索路径(#include <...> search starts here: 后面)。

$ clang++ -E -x c++ - -v < /dev/null

ignoring nonexistent directory "/usr/include/c++/v1"
ignoring nonexistent directory "/usr/include"

发现忽略了不存在的/usr/include。 说明macOS SDK 的头文件不存在。

安装llvm:

$ brew install llvm

问题仍然存在。

安装头文件:

$ cd /Library/Developer/CommandLineTools/Packages/
$ open macOS_SDK_headers_for_macOS_10.14.pkg

再次编译go-ethereum, 通过。 问题解决。

参考资料:
1、https://stackoverflow.com/que...
2、https://www.cnblogs.com/flipp...
3、https://apple.stackexchange.c...


有疑问加站长微信联系(非本文作者)

本文来自:Segmentfault

感谢作者:lansheng228

查看原文:mac下编译go-ethereum

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

852 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传