• Stars
    star
    277
  • Rank 148,875 (Top 3 %)
  • Language
    Shell
  • License
    Other
  • Created about 7 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Docker images for compiling static Rust binaries using musl-cross

rust-musl-cross

Docker Image Build Bors enabled

๐Ÿš€ Help me to become a full-time open-source developer by sponsoring me on GitHub

Docker images for compiling static Rust binaries using musl-cross-make, inspired by rust-musl-builder

Prebuilt images

Currently we have the following prebuilt Docker images on Docker Hub, supports x86_64(amd64) and aarch64(arm64) architectures.

Rust toolchain Cross Compile Target Docker Image Tag
stable aarch64-unknown-linux-musl aarch64-musl
stable arm-unknown-linux-musleabi arm-musleabi
stable arm-unknown-linux-musleabihf arm-musleabihf
stable armv5te-unknown-linux-musleabi armv5te-musleabi
stable armv7-unknown-linux-musleabi armv7-musleabi
stable armv7-unknown-linux-musleabihf armv7-musleabihf
stable i586-unknown-linux-musl i586-musl
stable i686-unknown-linux-musl i686-musl
stable mips-unknown-linux-musl mips-musl
stable mipsel-unknown-linux-musl mipsel-musl
stable mips64-unknown-linux-muslabi64 mips64-muslabi64
stable mips64el-unknown-linux-muslabi64 mips64el-muslabi64
nightly powerpc64le-unknown-linux-musl powerpc64le-musl
stable x86_64-unknown-linux-musl x86_64-musl

To use armv7-unknown-linux-musleabihf target for example, first pull the image:

docker pull messense/rust-musl-cross:armv7-musleabihf
# Also available on ghcr.io
# docker pull ghcr.io/rust-cross/rust-musl-cross:armv7-musleabihf

Then you can do:

alias rust-musl-builder='docker run --rm -it -v "$(pwd)":/home/rust/src messense/rust-musl-cross:armv7-musleabihf'
rust-musl-builder cargo build --release

This command assumes that $(pwd) is readable and writable. It will output binaries in armv7-unknown-linux-musleabihf. At the moment, it doesn't attempt to cache libraries between builds, so this is best reserved for making final release builds.

How it works

rust-musl-cross uses musl-libc, musl-gcc with the help of musl-cross-make to make it easy to compile, and the new rustup target support.

Use beta/nightly Rust

Currently we install stable Rust by default, if you want to switch to beta/nightly Rust, you can do it by extending from our Docker image, for example to use beta Rust for target x86_64-unknown-linux-musl:

FROM messense/rust-musl-cross:x86_64-musl
RUN rustup update beta && \
    rustup target add --toolchain beta x86_64-unknown-linux-musl

Strip binaries

You can use the musl-strip command inside the image to strip binaries, for example:

docker run --rm -it -v "$(pwd)":/home/rust/src messense/rust-musl-cross:armv7-musleabihf musl-strip /home/rust/src/target/release/example

License

Licensed under The MIT License

More Repositories

1

aliyundrive-webdav

้˜ฟ้‡Œไบ‘็›˜ WebDAV ๆœๅŠก
Rust
9,586
star
2

aliyundrive-fuse

้˜ฟ้‡Œไบ‘็›˜ FUSE ็ฃ็›˜ๆŒ‚่ฝฝ
Rust
969
star
3

homebrew-macos-cross-toolchains

macOS cross compiler toolchains
Ruby
857
star
4

jieba-rs

The Jieba Chinese Word Segmentation Implemented in Rust
Rust
723
star
5

cargo-zigbuild

Compile Cargo project with zig as linker
Rust
317
star
6

nh3

Python binding to Ammonia HTML sanitizer Rust crate
Rust
233
star
7

wechat-bot

A robot of wechat based on python (Not maintained)
Python
180
star
8

dav-server-rs

Rust WebDAV server library. A fork of the webdav-handler crate.
Rust
120
star
9

typst-py

Python binding to typst
Rust
102
star
10

mupdf-rs

Rust binding to mupdf
Rust
100
star
11

openwrt-netbird

OpenWrt package for netbird
Makefile
99
star
12

rocketmq-python

RocketMQ Python client
Python
94
star
13

cargo-xwin

Cross compile Cargo project to Windows MSVC target with ease
Rust
60
star
14

fasttext-serving

fastText model serving service
Rust
59
star
15

fasttext-rs

fastText Rust binding
Rust
53
star
16

multi-lsp-proxy

A LSP proxy to multiple language servers
Rust
48
star
17

otpauth-rs

Two-step verification of HOTP/TOTP for Rust.
Rust
32
star
18

crfs-rs

Pure Rust port of CRFsuite: a fast implementation of Conditional Random Fields (CRFs)
Rust
27
star
19

leptos_sse

Leptos server signals synced through Server-Sent-Events (SSE)
Rust
25
star
20

unidiff-rs

Unified diff parsing/metadata extraction library for Rust
Rust
24
star
21

crfsuite-rs

Rust binding to crfsuite
Rust
24
star
22

fat-macho-rs

Mach-O Fat Binary Reader and Writer
Rust
22
star
23

libtailscale-rs

Rust binding to libtailscale
Rust
22
star
24

fasttext-wheel

Build and upload fastText Python wheels to PyPI
Shell
21
star
25

rocketmq-rs

Rust client for Apache RocketMQ
Rust
21
star
26

lddtree-rs

Read the ELF dependency tree
Rust
21
star
27

rjieba-py

jieba-rs Python binding
Python
20
star
28

APUE-Learning

Learning Advanced Programming in the UNIX Environment
C
20
star
29

wechat-rs

WeChat SDK for Rust. [WIP]
Rust
18
star
30

robotparser-rs

robots.txt parser for Rust.
Rust
17
star
31

cjieba-py

Python cffi binding to CppJieba
Python
15
star
32

py-promql-parser

PromQL parser for Python
Rust
15
star
33

auditwheel-symbols

Find out which symbols are causing auditwheel too-recent versioned symbols error.
Rust
14
star
34

chinese-ner-rs

A CRF based Chinese Named-entity Recognition Library written in Rust
Rust
14
star
35

sanic-gunicorn

Gunicorn worker for Sanic
Python
12
star
36

bosonnlp-rs

BosonNLP SDK for Rust
Rust
11
star
37

rust-lunardate

A Chinese Calendar Library in Rust
Rust
10
star
38

manylinux-cross

manylinux2014 and manylinux_2_24 aarch64/armv7l/s390x/ppc64/ppc64le cross compilation docker image
Dockerfile
10
star
39

rjsonnet-py

Python bindings to Rust jrsonnet crate(a Rust implementation of Jsonnet language)
Rust
9
star
40

lingua-py

lingua-rs Python binding
Rust
9
star
41

llvm-bitcode-rs

LLVM Bitcode parser in Rust
Rust
8
star
42

mmseg-rs

Chinese word segmentation algorithm MMSEG in Rust
Rust
7
star
43

huaweicloud-github-runner

GitHub Action for automatic create and register Huawei Cloud ECS instance as a GitHub Actions self-hosted runner
JavaScript
7
star
44

rust-jieba

Rust binding to cppjieba
Rust
7
star
45

optionaldict

A dict-like object that ignore NoneType values for Python
Python
6
star
46

images2video

Python images to video library using OpenCV
Python
6
star
47

caiyun

ๅญ—ๅน•็ป„่ต„ๆบ็ฆป็บฟไธ‹่ฝฝ่‡ณ็™พๅบฆไบ‘็›˜ (Not Maintained)
Python
6
star
48

douban2kindle

่ฑ†็“ฃ้˜…่ฏปๅ›พไนฆๆŽจ้€ Kindle
Python
6
star
49

cargo-options

Reusable common Cargo command line options
Rust
5
star
50

vim-python-ide

Vim configuration files for developing Python projects
Vim Script
4
star
51

cfasttext

A fastText C wrapper
C++
4
star
52

rjmespath-py

jmespath.rs Python binding
Python
4
star
53

douappbook

Crawl book and rating infomations from Douban App
Python
4
star
54

everbean

Sync notes from book.douban.com to Evernote
Python
4
star
55

murmurhash2-py

murmurhash2 for Python
Rust
4
star
56

implib-rs

Generate Windows import library from module definition file in Rust
Rust
4
star
57

data-structure-learning

ๆ•ฐๆฎ็ป“ๆž„ๅญฆไน ๏ผŒไฝœไธšไปฃ็ 
C
4
star
58

rfiletype-py

Infer file and MIME type by checking the magic number signature, Python binding of https://github.com/bojand/infer
Rust
4
star
59

homebrew-tap

Personal Homebrew formulaes
Ruby
3
star
60

opencc-rs

OpenCC binding for Rust.
Rust
3
star
61

py-dissimilar

A diff library with semantic cleanup
Rust
3
star
62

is-minified-js

Detecting minified javascript files
Python
3
star
63

cython-abseil-sample

Using abseil-cpp with Cython project sample
Cython
3
star
64

rocket-lenient-json

A rocket_contrib::Json copy which removes the Content-Type check
Rust
2
star
65

jieba-rpc

Simple jieba RPC server based on msgpack-rpc-python
Python
2
star
66

crate-wheels

Build Python ๐Ÿ wheels ๐ŸŽก for some Rust crates ๐Ÿ“ฆย  on GitHub Actions.
Rust
2
star
67

rusted-rs

Simple tool to highlight rustc --explain output
Rust
2
star
68

python-sysconfig-collector

Collect Python sysconfig on GitHub Actions for maturin
Python
2
star
69

github-widget

A jQuery plugin to show your Github repositories.
CSS
2
star
70

cqdb-sys

Low level Rust binding to Constant Quark Database (CQDB)
C
2
star
71

django-mako

Django mako
Python
1
star
72

python3-config-rs

Read Python 3 sysconfigdata in Rust
Rust
1
star
73

Flask-DjangoQuery

DjangoQuery extension for Flask-SQLAlchemy
Python
1
star
74

liblbfgs-sys

Low level Rust binding to libLBFGS: a library of Limited-memory Broyden-Fletcher-Goldfarb-Shanno (L-BFGS)
Rust
1
star
75

nvim-config

My neovim configuration
Lua
1
star
76

cmake-toolchain-rs

Auto-generate CMake toolchain file
Rust
1
star
77

maturin-ci-playground

Playground for `maturin generate-ci`
Rust
1
star
78

serde-single-key-map

Unwrap a single key map with serde
Rust
1
star
79

messense

1
star
80

rpi

Raspberry Pi scripts
Python
1
star
81

rusted

Simple tool to highlight rustc --explain output
Python
1
star
82

cqdb-rs

Constant Quark Database in Rust
Rust
1
star
83

extender

A simple plug-in/extension system on Python
Python
1
star
84

pyo3-issue-71

Python
1
star
85

flake8-network-timeout

Python
1
star
86

cppjieba-cabi

Idiomatic C ABI for CppJieba
C++
1
star
87

catsup-theme-seven

A theme for Catsup
CSS
1
star
88

catsup-theme-lingonberry

A theme for Catsup. WIP
CSS
1
star
89

doubookcrawler

Douban book ratings infomation crawler.
Python
1
star
90

rocket-validator

Validator data guard for Rocket
Rust
1
star
91

tree-sitter-py

Experimental Python binding to tree-sitter. Don't use it.
Rust
1
star
92

stacktracer

Stack tracer for multi-threaded applications
Python
1
star
93

wiki

Personal wiki
CSS
1
star
94

sccache-wheel

Python wheels for sccache
1
star
95

CMCCLogin

A CMCC WLAN Client for OS X
Objective-C
1
star
96

jbig2dec-rs

Rust binding to jbig2dec
Rust
1
star
97

algorithm-learning

Codes I wrote when I was learning algorithm
C
1
star
98

sha512-crypt

Python binding to Rust sha-crypt password hashing crate
Python
1
star
99

dirty-json-rs

Fix up dirty JSON string
Rust
1
star