LINUX.ORG.RU

История изменений

Исправление fsb4000, (текущая версия) :

Обычно статически компилируется, как и в Go, т.е. переносимость отличная - на любом дистрибутиве с linux 2.6+ работает.

@crypt

Враньё. По умолчанию компилируется динамически. Только rustlib линкуется статически, libc, pthread - динамически.

Для статического бинарника нужно менять стандартную библиотеку на musl, но это нужно устанавливать rust с сайта, а не из дистрибутива(так как при установке из дистрибутива нет rustup, и cargo не понимает --target x86_64-unknown-linux-musl). Как-то так

rustup target add x86_64-unknown-linux-musl
cargo build --target x86_64-unknown-linux-musl

Минимальные требования:

linux-gnu targets now require minimum kernel 2.6.32 and glibc 2.11.

Простой пример, любой может проверить:

cargo new hello_world
cd hello_world
cargo run
ldd target/debug/hello_world

https://imgur.com/a/GlAtaqp

Исходная версия fsb4000, :

Обычно статически компилируется, как и в Go, т.е. переносимость отличная - на любом дистрибутиве с linux 2.6+ работает.

@crypt

Враньё. По умолчанию компилируется динамически. Только rustlib линкуется статически, libc, pthread - динамически.

Для статического бинарника нужно менять стандартную библиотеку на musl, но это нужно устанавливать rust с сайта, а не из дистрибутива. Как-то так

rustup target add x86_64-unknown-linux-musl
cargo build --target x86_64-unknown-linux-musl

Минимальные требования:

linux-gnu targets now require minimum kernel 2.6.32 and glibc 2.11.

Простой пример, любой может проверить:

cargo new hello_world
cd hello_world
cargo run
ldd target/debug/hello_world

https://imgur.com/a/GlAtaqp