mytonctrl
mytonctrl copied to clipboard
Upgrade the build tool to Ninja, fix some bugs
Switching to the ninja compiler can reduce compilation time by up to 40%.
related issue : https://github.com/ton-blockchain/mytonctrl/issues/99 @neodiX42 Please help me test if you have time
Global:
- Replace all
makecompilation methods withninja - remove all
makemethods - Install
ninjamethod - Fix the original precompile method, add the
-GNinjaflag - Corrected the detection method of the system, and listed the Red Hat system as unsupported
yum
- In the centos system,
cmakeis updated to the latest version or 2.x, and ton cannot be compiled cmakeversion lower than 3.9 cannot compilerocksdb- Download, compile, install version
cmake3.24.2 - Add install
switchmethod - need to recognize environment variables - Fix the method of not recognizing yum system
- Remove invalid command
dnf config-manager --set-enabled PowerTools - Install
devtoolset-10and activate it. Make the system support the newmakeandgccmethods.
pacman
- Add
--noconfirmmethod during installation, automatic installation
Test run toninstaller.sh
- Except macos is a physical machine test, others are docker images.
- I built the test script here and it has been tested https://github.com/TonX-Studio/test-mytonctrl-tools-docker
| system environment | Test Results |
|---|---|
| ubuntu:18.04 | Test passed ✅ |
| ubuntu:20.04 | Test passed ✅ |
| ubuntu:22.04 | Test passed ✅ |
| debian:10 | Test passed ✅ |
| debian:11 | Test passed ✅ |
| archlinux:base | Test passed ✅ |
| centos: centos7.9.2009 | Test passed ✅ |
| mac os 13.0 Beta Apple M1 Max | Test passed ✅ |
debian:8 / debian:9 / ubuntu:16.04
- It looks like the system version is too old. I feel no need to maintain all three versions.
- To solve this problem we need to recompile the new version of cmake.
Add rocksdb
CMake Error at third-party/rocksdb/CMakeLists.txt:35 (cmake_minimum_required):
CMake 3.10 or higher is required. You are running version 3.7.2