Plumeをmuslでビルド
openssl版が必要。
Rocketの最新はnightlyがいらないようなので早くリリースさせてほしい、追従はハードワークだけど。
以下、コンテナの中での作業。
rust-toolchainファイルを消す。
これがあるとmuslでなくgnuを持ってきてしまうようだ。詳細は調べてない。 ホスト側に反映されたくないので、コンテナの中でgit cloneして、そこで消した。
ビルド時にgettextのコマンドラインツールが必要なのでインストールする。 の前にパッケージリストを更新する必要がある。めんどい。待つのが。
code:shell
% sudo apt update
% sudo apt install gettext
※ rust-musl-builderを実行するとrustユーザーで実行されるけど、パスワードなしでsudoできる。
Dockerfile書くならrootユーザーを指定すればいいか
ビルドする
code:shell
% cargo build --release --no-default-features --features=postgres --target=x86_64-unknown-linux-musl
% ldd ./target/x86_64-unknown-linux-musl/release/plume
not a dynamic executable
出来てる。