Ensure jemalloc is always linked with ruby binary

Debian bullseye changed the linker defaults to use `--as-needed`, which
breaks when `--enable-shared` and `--with-jemalloc` are used.

In preparation for updating to bullseye, define `LDFLAGS` with
`--no-as-needed` so that jemalloc will be properly used.

This mirrors the CNG change in
https://gitlab.com/gitlab-org/build/CNG/-/merge_requests/884.

Relates to https://bugs.ruby-lang.org/issues/18409
This commit is contained in:
Stan Hu 2022-02-03 16:36:18 -08:00
parent 908944a211
commit 5aa555e5bf
No known key found for this signature in database
GPG key ID: 8D3931AD39CC7A20

View file

@ -55,6 +55,8 @@ if [[ -d "/patches/ruby/$RUBY_VERSION" ]]; then
fi
# Compile
# This is needed for Ruby < 3.1 on Debian bullseye: https://bugs.ruby-lang.org/issues/18409
export LDFLAGS="-Wl,--no-as-needed"
cflags="-fno-omit-frame-pointer" ./configure --enable-shared --with-jemalloc --disable-install-doc --disable-install-rdoc --disable-install-capi
make install -j $(nproc)