mac下编译go-ethereum

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...


辛巴
it男
256 声望
4 粉丝
0 条评论
推荐阅读
golang学习之旅——解开心中的go mod疑惑
在go1.16版本发布后,go module由原来的默认值 auto 变为 on 了,这意味着后续开发中,go更推荐用go module 模式开发,而不是gopath模式开发了。

Keson11阅读 14.8k

「刷起来」Go必看的进阶面试题详解
逃逸分析是Go语言中的一项重要优化技术,可以帮助程序减少内存分配和垃圾回收的开销,从而提高程序的性能。下面是一道涉及逃逸分析的面试题及其详解。

王中阳Go4阅读 1.9k评论 1

封面图
web3从入门到实战-理论篇
中心化网络已经帮助数十亿人融入了互联网,并在其上创建了稳定、可靠的基础设施。 与此同时,少数中心化巨头几乎垄断了互联网,甚至可以为所欲为。Web3 是摆脱这一困境的方案。 不同于科技巨头垄断的传统互联网,...

MangoGoing4阅读 5.2k评论 3

封面图
初学后端,如何做好表结构设计?
这篇文章介绍了设计数据库表结构应该考虑的4个方面,还有优雅设计的6个原则,举了一个例子分享了我的设计思路,为了提高性能我们也要从多方面考虑缓存问题。

王中阳Go4阅读 1.7k评论 2

封面图
滚蛋吧,正则表达式!
你是不是也有这样的操作,比如你需要使用「电子邮箱正则表达式」,首先想到的就是直接百度上搜索一个,然后采用 CV 大法神奇地接入到你的代码中?

良许4阅读 2.3k

又一款眼前一亮的Linux终端工具!
今天给大家介绍一款最近发现的功能十分强大,颜值非常高的一款终端工具。这个神器我是在其他公众号文章上看到的,但他们都没把它的强大之处介绍明白,所以我自己体验一波后,再向大家分享自己的体验。

良许5阅读 1.8k

一分钟搞明白!快速掌握 Go WebAssembly
最近因为各种奇怪的原因,更多的接触到了 WebAssembly。虽然之前很多博客也翻过写过各种文章,但总感觉欠些味道。于是今天梳理了一版,和大家一起展开学习。

煎鱼4阅读 2.1k

256 声望
4 粉丝
宣传栏