Cross compile - eredmény túl nagy

Fórumok

Alap platform: Ubuntu Bionic

Arm64-re fordítom a spotifyd-t, ami RUST-ban íródott. Némi nehézségek árán sikerült is, de az eredmény nagyobb, mint 12 mega! A release oldalról letölthető linux bináris csak 7 mega körül van. Mi lehet a különbség oka? Vagy ez normális?

fordítás előkészületek:

dpkg --add-architecture arm64
sed 's/deb http/deb \[arch=amd64,i386\] http/' -i /etc/apt/sources.list
<insert into sources.list>
deb [arch=arm64] http://ports.ubuntu.com/ bionic main universe restricted multiverse
deb [arch=arm64] http://ports.ubuntu.com/ bionic-updates main universe restricted multiverse
deb [arch=arm64] http://ports.ubuntu.com/ bionic-security main universe restricted multiverse

apt update

apt install libssl-dev:arm64 libasound2-dev:arm64 portaudio19-dev:arm64

apt install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu

cat <<EOF >>~/.cargo/config
[target.aarch64-unknown-linux-gnu]
linker = "/usr/bin/aarch64-linux-gnu-gcc"
EOF

curl https://sh.rustup.rs -sSf | sh
rustup target add aarch64-unknown-linux-gnu
export AARCH64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR=/usr/lib/aarch64-linux-gnu/
export AARCH64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR=/usr/include/openssl/


PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig
PKG_CONFIG_ALLOW_CROSS=1


cargo build --target=aarch64-unknown-linux-gnu --release

Hozzászólások

strip?

Az elmélet az, amikor mindent ismerünk, de semmi nem működik. A gyakorlat az, amikor minden működik, de senki nem tudja, miért.