【技术教程】用Mac装eosio可能会遇到的两个问题

Mac上执行./eosio_build.sh,由于网络或Mac本身系统的问题,经常会出现两个问题
问题1: LLVM NOTFOUND
CMake Error at libraries/wasm-jit/Source/Runtime/CMakeLists.txt:26 (find_package):
Could not find a package configuration file provided by "LLVM" (requested
version 4.0) with any of the following names:

LLVMConfig.cmake llvm-config.cmake

Add the installation prefix of "LLVM" to CMAKE_PREFIX_PATH or set
"LLVM_DIR" to a directory containing one of the above files. If "LLVM"
provides a separate development package or SDK, be sure it has been
installed.
这是
解决方法:查找路径,移除,重装
find /usr -name LLVMConfig.cmake -print 2>/dev/null

【技术教程】用Mac装eosio可能会遇到的两个问题
文章图片
mac装eosio-1.jpeg 然后
brew remove --force llvm rm -rf build/ git submodule update --init --recursive export LLVM_DIR=/usr/local/Cellar/llvm\@4/4.0.1/lib/cmake ./eosio_build.sh

/dev/null : 在类Unix系统中,/dev/null,是一个特殊的设备文件,它丢弃一切写入其中的数据(但报告写入操作成功),读取它则会立即得到一个End Of File。
  • 开发过程中,经常会有把一部分个公共库分离出来,是整个项目具有复用性和模块化,这就是git submodule的由来
git submodule update --init --recursive的动作是确保submodule被更新下载,并把路径注册在本地(register path)出来
在eos中submodule有以下一些
位于contracts下:
contracts/libc++/upstream
contracts/musl/upstream
位于externals下:
externals/binaryen
externals/magic_get
位于libaries下:
libraries/appbase
libraries/chainbase
libraries/fc
libraries/softfloat
EOShenzhen在未来的文章会讲解这些库的原理
问题 2: Boost_INCLUDE_DIR not found
Make Error: The following variables are used in this project, but they are set to NOTFOUND. Please set them or make sure they are set and tested correctly in the CMake files: /Users/mac/Desktop/mainnet/eos/libraries/appbase/Boost_INCLUDE_DIR used as include directory in directory /Users/mac/Desktop/mainnet/eos/libraries/appbase /Users/mac/Desktop/mainnet/eos/libraries/chainbase/Boost_INCLUDE_DIR used as include directory in directory /Users/mac/Desktop/mainnet/eos/libraries/chainbase /Users/mac/Desktop/mainnet/eos/libraries/fc/Boost_INCLUDE_DIR used as include directory in directory /Users/mac/Desktop/mainnet/eos/libraries/fc /Users/mac/Desktop/mainnet/eos/tools/Boost_INCLUDE_DIR used as include directory in directory /Users/mac/Desktop/mainnet/eos/tools Boost_INCLUDE_DIR (ADVANCED) used as include directory in directory /Users/mac/Desktop/mainnet/eos/contracts/proxy

解决方法
解决思路和LLVM类似,即寻找到boost存储的路径,移除,并重装
find / -name boost

【技术教程】用Mac装eosio可能会遇到的两个问题
文章图片
mac装eosio-2.jpeg 如果./eosio_build.sh在一次安装过程中由于网络或者系统的问题出现问题,可能会导致一系列的问题
history | grep boost

可以执行
brew remove --force boost rm -rf /usr/local/Cellar/boost rm -rf /usr/local/include/boost

将保存在Cellar和 include中的boost文件夹删除掉
【【技术教程】用Mac装eosio可能会遇到的两个问题】成功信号

【技术教程】用Mac装eosio可能会遇到的两个问题
文章图片
mac装eosio-3.jpeg
参考链接:
https://github.com/EOSIO/eos/issues/3786
相关文章:
We are EOShenzhen
不同入口如何投票:
imToken
火币
portal
关于我们更多联系:
Website:https://eoshenzhen.io
Steem:https://steemit.com/@eoshenzhen
Busy:https://busy.org/@eoshenzhen
Telegram:https://t.me/eoshenzhen
Twitter:https://twitter.com/eostechlover
:EOS技术爱好者
新浪微博:EOSTechLover
EOShenzhen的投票账号:eoshenzhenio

【技术教程】用Mac装eosio可能会遇到的两个问题
文章图片
EOShenzhen

    推荐阅读