Skip to content

Autodetection of lzma library fails when building on Alpine Linux #1495

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
Kelketek opened this issue Apr 17, 2025 · 1 comment
Open

Autodetection of lzma library fails when building on Alpine Linux #1495

Kelketek opened this issue Apr 17, 2025 · 1 comment

Comments

@Kelketek
Copy link

🐛 Bug description

Autodetection of lzma library fails when building on Alpine Linux with cargo install wasm-pack. Despite installation of the xz-dev and xz-libs apk packages, the build fails.

🤔 Expected Behavior

Building from source works.

👟 Steps to reproduce

Here's a docker file I know fails:

FROM alpine

RUN apk add build-base curl elfutils-dev gettext git libc-dev linux-headers musl-dev ncurses-dev xz-dev xz-libs

ENV PATH="$HOME/.cargo/bin:$PATH"
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup
RUN chmod 755 rustup
RUN ./rustup -y
RUN cargo install wasm-pack

The build eventually fails with this mouthful:

error: linking with `cc` failed: exit status: 1
  |
  = note:  "cc" "-m64" "<sysroot>/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/rcrt1.o" "<sysroot>/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crti.o" "<sysroot>/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtbeginS.o" "/tmp/rustcNlLeal/symbols.o" "<17 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/tmp/cargo-install32sxz6/release/deps/{libwasm_pack-927f4bd8a9b658bc.rlib,libpath_clean-4df52440adb1ddef.rlib,libwalkdir-7a48f9b1f193b53a.rlib,libsame_file-4b8efe2be7a77610.rlib,libtoml-c1f0a39ed7443c0d.rlib,libtoml_edit-649e5868f7363fb1.rlib,libwinnow-6dc6e23954f7f870.rlib,libserde_ignored-b0cdf4cfcc611d33.rlib,libdialoguer-9330c96745c9014b.rlib,libshell_words-a49ce787f8de200c.rlib,libtempfile-22242e14fbbd022c.rlib,libfastrand-bfb4de621304649c.rlib,libchrono-908db3ffd65389bf.rlib,libnum_traits-3dba80d3bebcc841.rlib,libiana_time_zone-d9dc70159f6b7f07.rlib,libbinary_install-1c5344f0081d5cb9.rlib,libhex-41997b853d4e5847.rlib,libureq-b064555409806801.rlib,libwebpki_roots-0a5738d523bf956d.rlib,libsocks-5f6fae26bef34dc8.rlib,libbase64-ec7da384d5d35d14.rlib,liburl-080219d35bcf6c5f.rlib,libidna-fdb0d6460c8856f2.rlib,libidna_adapter-24d08cfd014e3a76.rlib,libicu_normalizer-92a79e3bae1d7b15.rlib,libicu_normalizer_data-36d2015c440b8e63.rlib,libwrite16-dab54ccaa98b8896.rlib,libutf8_iter-2613fbb22b3dc70a.rlib,libutf16_iter-dda05c06d520f5a7.rlib,libicu_properties-0c754b06b8bc9add.rlib,libicu_properties_data-10cb83f0bb4fb1cc.rlib,libicu_locid_transform-daa09265bd1d5951.rlib,libicu_locid_transform_data-429cfc46e5e4f488.rlib,libicu_collections-14e71c5b06323878.rlib,libicu_provider-1b274c70cf9ee47f.rlib,libicu_locid-141e9fc90e11be57.rlib,liblitemap-294e896ad7890bc7.rlib,libtinystr-feef654f3e1d0a85.rlib,libzerovec-ab62c2f64536ab8a.rlib,libwriteable-986223f947cab762.rlib,libyoke-776aaccf5a1a0358.rlib,libzerofrom-dfd19982ba9b4a94.rlib,libstable_deref_trait-53678eac69b278a5.rlib,libform_urlencoded-9cd493aeb78de7c8.rlib,libpercent_encoding-fe239403c2fbdf3a.rlib,librustls-e505caabd17e1e9d.rlib,libwebpki-0d3da2cc5804e2a8.rlib,libring-6f6e0cbb44135b90.rlib,libgetrandom-fff7c0d8090a4244.rlib,libuntrusted-642e39812989c51b.rlib,librustls_pki_types-a284c82139557dcf.rlib,libzip-f7c94cb3f3f5fe72.rlib,libxz2-b9d5c7d0c992701d.rlib,liblzma_sys-9dbbfe9950ecb0e6.rlib}.rlib" "-llzma" "/tmp/cargo-install32sxz6/release/deps/{libdeflate64-13c018db6c40fd01.rlib,libpbkdf2-b40a711a9aacffbf.rlib,libzstd-06194ae357d69ac3.rlib,libzstd_safe-0c3afdd48f5cdc69.rlib,libzstd_sys-5cdb5093c409526b.rlib,libzopfli-4af6d37db3565a8a.rlib,libsimd_adler32-cbc565a52daa3dd5.rlib,libbumpalo-6ede34c21b9b9bec.rlib,liblockfree_object_pool-062ab10c683f208b.rlib,libbzip2-2556aa5345cfafae.rlib,libbzip2_sys-f56bba564ae00feb.rlib,libtime-90fcf4087bebad16.rlib,libtime_core-bbf9ca6fff251a63.rlib,libnum_conv-69c5dbeb55c2aeb2.rlib,libderanged-25b9519cafc0d955.rlib,libpowerfmt-ec23ac0a20ba486b.rlib,liblzma_rs-d58fa457f478341d.rlib,libcrc-e407dd16f768110e.rlib,libcrc_catalog-4bdd97dace060ddd.rlib,libbyteorder-23f1070d1a43cb73.rlib,libaes-e108785b69d1df0e.rlib,libcipher-012e4110a0bac629.rlib,libinout-31f72c223791a266.rlib,libzeroize-6b119d6e69e8119f.rlib,libsha1-1ee3d851b4d30f2a.rlib,libcpufeatures-30b0d1524b0ddb1f.rlib,libhmac-4cd1ee60096051aa.rlib,libdigest-705d54c5d9782041.rlib,libsubtle-0164b3f0c14fe853.rlib,libblock_buffer-cc39fb5d358df61f.rlib,libcrypto_common-1692e20eb4289c75.rlib,libgeneric_array-43181b0302f35e97.rlib,libtypenum-5452443c6840923f.rlib,libconstant_time_eq-84c9aac891db7f1e.rlib,libflate2-ef336c19ab834a23.rlib,libcrc32fast-4ea5ac87eb2b6dbf.rlib,libtar-ac496e319966c9c4.rlib,libxattr-6e47e2a6637d9eee.rlib,librustix-e5025b3cde9c346f.rlib,liblinux_raw_sys-e345dc2f6efc37c3.rlib,libfiletime-4b62de835260e3ec.rlib,libdirs_next-1a9af3f22b4c8122.rlib,libdirs_sys_next-1f9b5c64851bebcd.rlib,libis_executable-3bb098bd0b4c3c46.rlib,libsiphasher-3f632f1a17baf6b8.rlib,libfs4-cb6acdf9cc3e24bc.rlib,libwhich-46b6fad5c727d3e3.rlib,libhome-fc8c3ab55913c50e.rlib,libeither-1bd1e1c0ce43c540.rlib,librustix-8582f37ef44fb3fb.rlib,libbitflags-75c0262764173cd4.rlib,liblinux_raw_sys-df377f2e4b90fe7b.rlib,libstrsim-2c9a220134130df1.rlib,libparking_lot-608b8522b1c3c6b5.rlib,libparking_lot_core-c7f67a6245f78f3f.rlib,libsmallvec-f300e9a856348691.rlib,liblock_api-9298200dd8eea459.rlib,libscopeguard-8fbb9ebbb6960bb7.rlib,libglob-e13fc9fc9a0154be.rlib,libconsole-eea66fd19bfabf55.rlib,libunicode_width-d399559b7f21de00.rlib,libonce_cell-d06bead48ec3a817.rlib,libcargo_metadata-11f34a2bd4b08ab0.rlib,libserde_json-29472880c429c947.rlib,libitoa-71c39b7442e6651a.rlib,libryu-b5f71f5973fa31e7.rlib,libthiserror-95992d151793a213.rlib,libcargo_platform-e37dd1f2bbe7b20b.rlib,libsemver-e3ae64a9ffc69b26.rlib,libcamino-4ed961d4acd22f61.rlib,libhuman_panic-e2db2eca72caa7fc.rlib,libtoml-37fafca9968ea48f.rlib,libtoml_edit-b7ba5f016e874547.rlib,libserde_spanned-0b6821ae6d0bff6e.rlib,libindexmap-8daa2c8952e178fa.rlib,libequivalent-5e4f1a44a6e70bbb.rlib,libhashbrown-445d941a5aacda1f.rlib,libtoml_datetime-b1aef73e8d173a85.rlib,libos_info-100d6c846e39aafb.rlib,libserde-9dd5f94e5a57407b.rlib,libuuid-8c25bbfd450992d3.rlib,libgetrandom-6c0ca02eed5a39e2.rlib,libbacktrace-4b75a28e07c9dfd2.rlib,libminiz_oxide-125e853ccc229057.rlib,libadler2-1c1a56f59da3ee61.rlib,libobject-087ad663179f7ad1.rlib,libmemchr-92fdff9899f60e43.rlib,liblibc-ad55a1a2b934c7af.rlib,libaddr2line-2433633e21fbe1a0.rlib,libgimli-8acaf9aacbb2dc13.rlib,libcfg_if-10127dd832294252.rlib,librustc_demangle-0fbfb1c92697e255.rlib,libenv_logger-407e4a6952ac40b0.rlib,liblog-c88ebbb76d450121.rlib,libclap-bbd9214ee54a7462.rlib,libclap_builder-a5503c8b3e98a9ba.rlib,libstrsim-387fc14b06faac30.rlib,libanstream-57a33f4b139c03dc.rlib,libanstyle_query-de024fea45970acc.rlib,libis_terminal_polyfill-9be87a672e6e3dd8.rlib,libcolorchoice-4bf2f36aa2a15055.rlib,libanstyle_parse-fa77a026a79551b9.rlib,libutf8parse-b74daa6c8d161e95.rlib,libclap_lex-0f81257fc8657deb.rlib,libanstyle-6eb7a06b4baec444.rlib,libanyhow-2a400023b6e2a05e.rlib}.rlib" "<sysroot>/lib/rustlib/x86_64-unknown-linux-musl/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*}.rlib" "-lunwind" "<sysroot>/lib/rustlib/x86_64-unknown-linux-musl/lib/{libcfg_if-*,liblibc-*}.rlib" "-lc" "<sysroot>/lib/rustlib/x86_64-unknown-linux-musl/lib/{liballoc-*,librustc_std_workspace_core-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-nostartfiles" "-L" "/tmp/cargo-install32sxz6/release/build/ring-07b3a08d4041f31c/out" "-L" "/tmp/cargo-install32sxz6/release/build/bzip2-sys-ea357daae8e4d1c8/out/lib" "-L" "/usr/lib" "-L" "/tmp/cargo-install32sxz6/release/build/zstd-sys-93b9f5ef08226750/out" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-musl/lib" "-o" "/tmp/cargo-install32sxz6/release/deps/wasm_pack-9ad37712b0537138" "-Wl,--gc-sections" "-static-pie" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-Wl,--strip-debug" "-nodefaultlibs" "<sysroot>/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtendS.o" "<sysroot>/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtn.o"
  = note: some arguments are omitted. use `--verbose` to show all linker arguments
  = note: /usr/lib/gcc/x86_64-alpine-linux-musl/14.2.0/../../../../x86_64-alpine-linux-musl/bin/ld: cannot find -llzma: No such file or directory
          collect2: error: ld returned 1 exit status

🌍 Your environment

Alpine Linux
wasm-pack version: latest, but it seems to happen for older versions as well.
rustc version: latest

@Kelketek
Copy link
Author

Update: Cloning the repository and manually building the binary works.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant