1

编译 monero For macOS ARM

 8 months ago
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.

LanYun の Blog

编译 monero For macOS ARM

发表于 2023-08-27|更新于 2023-08-28|杂项
字数总计:688|阅读时长:2 分钟 | 阅读量:15

水💦篇文章.

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, 然后在 登录 我的证书 这个界面下。然后看图

image-20230827225123369

image-20230827225144374

名称可以自己改。然后运行下面命令.

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 版本太高了吧,无所谓,我不用构建应用程序包.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK