• Stars
    star
    277
  • Rank 143,391 (Top 3 %)
  • Language
    Shell
  • License
    Other
  • Created over 6 years ago
  • Updated almost 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,317
star
2

aliyundrive-fuse

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

homebrew-macos-cross-toolchains

macOS cross compiler toolchains
Ruby
710
star
4

jieba-rs

The Jieba Chinese Word Segmentation Implemented in Rust
Rust
665
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
187
star
7

wechat-bot

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

rocketmq-python

RocketMQ Python client
Python
93
star
9

dav-server-rs

Rust WebDAV server library. A fork of the webdav-handler crate.
Rust
87
star
10

mupdf-rs

Rust binding to mupdf
Rust
81
star
11

openwrt-netbird

OpenWrt package for netbird
Makefile
80
star
12

cargo-xwin

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

fasttext-serving

fastText model serving service
Rust
58
star
14

typst-py

Python binding to typst
Rust
55
star
15

fasttext-rs

fastText Rust binding
Rust
49
star
16

multi-lsp-proxy

A LSP proxy to multiple language servers
Rust
46
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
26
star
19

crfsuite-rs

Rust binding to crfsuite
Rust
23
star
20

unidiff-rs

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

libtailscale-rs

Rust binding to libtailscale
Rust
22
star
22

rocketmq-rs

Rust client for Apache RocketMQ
Rust
21
star
23

fat-macho-rs

Mach-O Fat Binary Reader and Writer
Rust
20
star
24

APUE-Learning

Learning Advanced Programming in the UNIX Environment
C
20
star
25

leptos_sse

Leptos server signals synced through Server-Sent-Events (SSE)
Rust
19
star
26

wechat-rs

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

rjieba-py

jieba-rs Python binding
Python
17
star
28

robotparser-rs

robots.txt parser for Rust.
Rust
17
star
29

fasttext-wheel

Build and upload fastText Python wheels to PyPI
Shell
16
star
30

cjieba-py

Python cffi binding to CppJieba
Python
15
star
31

auditwheel-symbols

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

chinese-ner-rs

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

sanic-gunicorn

Gunicorn worker for Sanic
Python
12
star
34

bosonnlp-rs

BosonNLP SDK for Rust
Rust
11
star
35

py-promql-parser

PromQL parser for Python
Rust
11
star
36

manylinux-cross

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

lddtree-rs

Read the ELF dependency tree
Rust
10
star
38

llvm-bitcode-rs

LLVM Bitcode parser in Rust
Rust
9
star
39

lingua-py

lingua-rs Python binding
Rust
9
star
40

rust-lunardate

A Chinese Calendar Library in Rust
Rust
8
star
41

huaweicloud-github-runner

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

mmseg-rs

Chinese word segmentation algorithm MMSEG in Rust
Rust
7
star
43

rust-jieba

Rust binding to cppjieba
Rust
7
star
44

optionaldict

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

rjsonnet-py

Python bindings to Rust jrsonnet crate(a Rust implementation of Jsonnet language)
Rust
6
star
46

caiyun

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

douban2kindle

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

images2video

Python images to video library using OpenCV
Python
5
star
49

vim-python-ide

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

cfasttext

A fastText C wrapper
C++
4
star
51

rjmespath-py

jmespath.rs Python binding
Python
4
star
52

douappbook

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

everbean

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

data-structure-learning

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

cargo-options

Reusable common Cargo command line options
Rust
4
star
56

implib-rs

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

rfiletype-py

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

opencc-rs

OpenCC binding for Rust.
Rust
3
star
59

py-dissimilar

A diff library with semantic cleanup
Rust
3
star
60

murmurhash2-py

murmurhash2 for Python
Rust
3
star
61

is-minified-js

Detecting minified javascript files
Python
3
star
62

cython-abseil-sample

Using abseil-cpp with Cython project sample
Python
3
star
63

rocket-lenient-json

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

homebrew-tap

Personal Homebrew formulaes
Ruby
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

messense

1
star
77

cmake-toolchain-rs

Auto-generate CMake toolchain file
Rust
1
star
78

maturin-ci-playground

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

serde-single-key-map

Unwrap a single key map with serde
Rust
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

catsup-theme-seven

A theme for Catsup
CSS
1
star
86

flake8-network-timeout

Python
1
star
87

cppjieba-cabi

Idiomatic C ABI for CppJieba
C++
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