История изменений
Исправление fsb4000, (текущая версия) :
Обычно статически компилируется, как и в Go, т.е. переносимость отличная - на любом дистрибутиве с linux 2.6+ работает.
Враньё. По умолчанию компилируется динамически. Только 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
Исходная версия fsb4000, :
Обычно статически компилируется, как и в Go, т.е. переносимость отличная - на любом дистрибутиве с linux 2.6+ работает.
Враньё. По умолчанию компилируется динамически. Только 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