编译 monero For macOS ARM
source link: https://lanyundev.com/posts/b18e51ae
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
编译 monero For macOS ARM
水💦篇文章.
monero-gui 官方没给 ARM 版。要下个版本应该会给?急急急,转译的应用很不爽。直接上编译.
这个项目里面整的很清楚了,但我还是要水💦.
前提:你已安装了 brew
如果不是非要 ARM 版本 (注:本文发布时是没有 arm 版的,以后可能直接就是 arm 版,不用编译), 可以直接用 brew
安装.CLI 版:brew install monero
GUI 版:brew install monero-wallet
后续更新方便.
1
2
3
brew remove qt # 起手卸载,防止和qt@5冲突
brew install cmake pkg-config openssl boost unbound hidapi zmq libpgm libsodium miniupnpc expat libunwind-headers protobuf libgcrypt qt@5
brew reinstall qt@5 # 可选
找个地方放编译文件夹,建议编译完不用删,方便以后编译,如果硬要删又要编译。我建议看我后面关于签名部分.
1
2
3
git clone --recursive https://github.com/monero-project/monero-gui.git
cd monero-gui
make -j$(nproc) || make -j1
编译没问题往后看,有问题自己解决吧 (我不会).
如果编译文件夹不删除。那么请看本部分
1
cp -rf ./build/release/bin/monero-wallet-gui.app /Applications/monero-wallet-gui.app
构建应用程序包
用于要删文件夹情况.
1
2
3
4
5
mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=Release -D ARCH=default ..
make -j$(nproc) || make -j1
make deploy
cd ./build/bin
新建文件 entitlements.plist
1
2
3
4
5
6
7
8
9
10
cat << EOF > entitlements.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.cs.disable-executable-page-protection</key>
<true/>
</dict>
</plist>
EOF
然后运行下面命令,如果你有苹果开发者证书应该知道 XXXXXXXXXX
填什么。如果没有,别运行下面命令。看后面.
1
2
sudo codesign --deep --force --verify --verbose --options runtime --timestamp --entitlements entitlements.plist --sign 'XXXXXXXXXX' monero-wallet-gui.app
cp -rf ./monero-wallet-gui.app /Applications/monero-wallet-gui.app
没有苹果开发者证书
将上面 <true/>
改为 <false/>
打开钥匙串访问.app
, 然后在 登录 我的证书 这个界面下。然后看图
名称可以自己改。然后运行下面命令.
1
2
3
sudo codesign --deep --force --verify --verbose --options runtime --timestamp --entitlements entitlements.plist --sign 'lanyun' monero-wallet-gui.app
spctl -a -t exec -vv monero-wallet-gui.app # 看一下,是不是accepted,如果是,则继续
cp -rf ./monero-wallet-gui.app /Applications/monero-wallet-gui.app
如果有问题,请自行参考 https://github.com/monero-project/monero-gui/blob/master/DEPLOY.md
如果你遇到 libboost_atomic-mt.dylib (no such file) 这个错误.
显然,出现了问题。有种错误修复方式,因为会导致显示异常.
cp -rf /opt/homebrew/lib/libboost_atomic-mt.dylib ./monero-wallet-gui.app/Contents/Frameworks
本人不会修,可能是 macOS 版本太高了吧,无所谓,我不用构建应用程序包.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK