Building
Building monero_c comes down to these simple steps:
To get detailed information about building please select your host platform (the one that you will use to build the monero wallet)
Supported systems
Target | Builder | Notes |
---|---|---|
Windows | Linux, Docker, WSL2 | msys2 builds are not supported, there are hardcoded DLL paths in build_single.sh |
macOS | Native, Linux, Docker, WSL2 | Native builds are being widely used, but are not endorsed by me personally. |
iOS | macOS | |
Android | Linux, Docker, WSL2 | |
Linux | Native, Docker, WSL2 | |
Linux/SailfishOS | Native, Docker | Required meego toolchain. |
All supported systems are built on CI, so for the most up-to-date list of all supported systems, together with proper dependencies please take a look at full_check.yml file.
Linux
Linux builds should be built on as old of a distro as possible - targeting debian:oldoldstable
, main reason for that is GLIBC compatibility (or lack of it). For some reason software compiled with newer GLIBC won't work on devices with older GLIBC, so the solution is to simply build on the oldest possible os (or abandon GLIBC and use musl).
x86-64-linux-gnu
i686-linux-gnu - deprecated by monero
aarch64-linux-gnu
SailfishOS
Fully supported (except for armv7l devices).
i686-meego-linux-gnu
aarch64-meego-linux-gnu
More details: TBD
Alpine Linux
Requires dependency removed by upstream - it is preserved in external/alpine/libexecinfo
. It could easily be brought back - but since nobody uses it and nobody complained about it missing it kind of never landed in monero_c after rewrite fully. That being said it should mostly work.
x86_64-alpine-linux-musl
aarch64-alpine-linux-musl
More details: TBD
Android
Includes bumped NDK version
x86_64-linux-android
i686-linux-android - unsupported, fails to build
aarch64-linux-android
armv7a-linux-androideabi
Windows
Msys2 shell is not supported, docker or WSL2 is requried to build
i686-w64-mingw32 - deprecated by monero
x86_64-w64-mingw32
aarch64-w64-unknown - unsupported. Though - if somebody can grab and send me a decent CopilotPC I'll be happy to work on that. As for now using x86_64 build should be fine (but slower in runtime) solution.
macOS
x86_64-apple-darwin11
aarch64-apple-darwin11
host-apple-darwin
x86_64-host-apple-darwin - alias for host-apple-darwin
aarch64-host-apple-darwin alias for host-apple-darwin
iOS
host-apple-ios - probably will be renamed to
aarch64-apple-ios