Skip to content

x8 binary not working under Alpine #65

@ocervell

Description

@ocervell

Hi,

Thanks for the awesome tool.

I'm trying to use the latest binary release on Alpine, but I'm getting the following error:

$ x8
/root/.local/bin/x8: line 1: syntax error: unexpected ")"

Libs I installed (Alpine 3.22):

apk add curl build-base pkgconf libssl3 libcrypto3 openssl-dev

BTW, I tried running the docker build and it doesn't work either, it fails with the same issue as below.

Alternative

Not that big of an issue, because I can still compile it with cargo like:

RUSTFLAGS="-Ctarget-feature=-crt-static" cargo install x8@[version].

Not that without RUSTFLAGS it won't work because some libraries are dynamic and it tries to compile statically. You might want to add those steps to the documentation if you want to support Alpine, I found the resolution for this in rust-lang/rust#115430)

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/rustcJSJluG/symbols.o" "<17 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/tmp/cargo-installhVXSzo/release/deps/{libstrip_ansi_escapes-fafac492a6329133,libvte-18d7250f853cf292,libutf8parse-463bf1a645eb2e41,libarrayvec-048f8b59a3db9f14,libenv_logger-a4d3a4a8efeddafd,libtermcolor-3364ecb9e63e9699,libhumantime-6606b5ce9772cbf3,libquick_error-976167ff8171d5d6,libx8-81e470a03813b7ae,libdiffs-be6036fbe8740f84,librand-a8a46647d77a4d0c,librand_core-9dd1089f8ba9cb93,librand_core-b0a0d7e5c69d194b,libparking_lot-291e047b039b0edd,libparking_lot_core-f7f4813a87ede632,libinstant-82b9ecd5e556295d,libfutures-3ded309f993a9c96,libfutures_executor-0f02ea2ad56f4361,libindicatif-761ac69af41d5111,libportable_atomic-7c23d53419d292c6,libnumber_prefix-d1e9ba8b6d4791d1,libconsole-7bfafddcb33ec2ad,libunicode_width-9ba49200e7291287,libreqwest-aebe48c744089a3e,librustls_pemfile-b169ab2f8e6e0c4a,libhyper_rustls-207b14299a90436c,libhyper_tls-b57c373f12ea111d,libserde_urlencoded-ee755646d34a132c,libwebpki_roots-e86b40cce473bd38,libcookie_store-3e587bce08b78855,libpublicsuffix-8ff9f5633ee7f848,libpsl_types-cf84e7c4e5609d39,libcookie-e9ee0af9790539da,libtime-42f4eaee1c498b7f,libtime_core-686c5d7d64df09e7,libnum_conv-3b114c471e31adf6,libderanged-0f8ba3f7bb6f72ea,libpowerfmt-740ca29a7c9bcbd2,libidna-c71e93cf05cbb2c7,libunicode_normalization-8417dcad1ee4c902,libunicode_bidi-b33c03ff5a50983a,libbase64-7ad8a9c21f170e99,libhickory_resolver-9f959e6520038431,libresolv_conf-506050e2755eb36a,liblru_cache-41dcc2b427f4dc1d,liblinked_hash_map-d2a8f1e2da344c0e,libhickory_proto-0fd6cf38c48c8ed9,librand-ee307d4ab427a73e,librand_chacha-2c716c06432eb812,libppv_lite86-6d9bf54d057eaac5,libzerocopy-6731bdd7e68d13e7,librand_core-9202b2d1d5de6fce,libdata_encoding-f40f2e97803e1da1,libipnet-f79ed693dbf22806,libtinyvec-eeb3e4af1b0d7d81,libtinyvec_macros-abc6f60a87faf163,libtokio_socks-af4476f9e7e64d98,libthiserror-fa82fa09bf33c30a,libtokio_native_tls-d100d488a5b6724c,libtokio_rustls-eb37ef72a2604f20,libmime-7fbd2b93f10ad93e,libencoding_rs-5e471279012d5f37,libserde_json-99fc8bfd004ec8a6,libryu-4565fd2a66a9e5c6,libasync_compression-d626b3084437aefc,libcompression_codecs-78688e75a1b90be6,libflate2-cba09887d76addc9,libminiz_oxide-cd88b3c9fcd6d698,libsimd_adler32-ce8b41764d10ec0c,libcrc32fast-90a0419c193fd457,libcompression_core-556a0c117a0f350b,librustls-f22967dc838e19c7,libsct-2e4c7aba67cdcdbb,libwebpki-8b24a4acacc3b88c,libring-6f3938352f9b0212,libgetrandom-b158d9a185969589,libuntrusted-7f4d176a34937935,libnative_tls-adeb0c4f13f050a7,libopenssl_probe-be6ad3c05e7cdd76,libopenssl-e2f9cb4f54d401f6,libbitflags-852b98c8f63b8e11,libforeign_types-0148fcac80e987e4,libforeign_types_shared-cd4d915d75d0100a,libopenssl_sys-deaf95e990e1c147}.rlib" "-lssl" "-lcrypto" "/tmp/cargo-installhVXSzo/release/deps/{libhyper-6021e26718e60c9f,libwant-235fd1dee94264b8,libtry_lock-341db3a39bd2efa2,libsocket2-bf3fa08e3105f6d6,libhttparse-ba8c9a230e332f84,libh2-bbe2673f82f3a0df,libindexmap-f90158c4b7788848,libequivalent-eb3b173cc8b964b4,libhashbrown-9b6d32e3ed2e7495,libtokio_util-051f4e804c1fd1b7,libtower_service-bbabaa37f71fcb32,libtracing-76b229324cbbb16f,libtracing_core-92869dc2cd905830,libonce_cell-ded4102a2dceb186,libfutures_util-0ceb7e105c62eb3d,libfutures_io-396f13475854f545,libslab-0f257c6c5ea5d431,libfutures_channel-78f65162f37123c5,libfutures_sink-e6265432bb452f95,libfutures_task-1643121470a16c3b,libpin_utils-44df727700552bb5,libsync_wrapper-5f20c87408217fe3,libhttp_body-0ae6d9e3be979ab9,liblog-3a5a8f22e39cf14c,libfutures_core-c7c85fcf839abfb4,libhttp-6cae9e7ab7a7b5ac,libitoa-f811dd59fa9295f9,libfnv-172282d64bed3521,libregex-1915d0146318305c,libregex_automata-29f7063ea8bb8f8a,libaho_corasick-fa9b5cb2ea51a4bc,libmemchr-ae12a6083d14836d,libregex_syntax-d2ad6e4e8b69669f,libitertools-c61d968e9a32b486,libeither-51329f5103f699f8,libcolored-55d60ca71f6e7193,liblazy_static-9d2fb3f0c1ac4cad,liburl-f975b99463e9ddb2,libidna-89be63b7dbe8900c,libutf8_iter-e47f4cf2dd831be8,libidna_adapter-031f8c63f0de75aa,libicu_properties-b9da1310860b6ffb,libicu_properties_data-cdd5caf3b878bd0c,libicu_normalizer-8b92e82c6cf8e23c,libicu_normalizer_data-956ffb23f04cb440,libicu_collections-e1cb441f859e707d,libpotential_utf-899e736a798ec11f,libicu_provider-c2f04335224f74b8,libicu_locale_core-fbb7f99fb27229b1,libtinystr-6ab1b5ec63b6070d,liblitemap-c911c7dd5a66d7bf,libwriteable-d0111f63d6001d1f,libzerovec-b4f9310f202df66e,libzerotrie-fe8bb6f6fc0adcc8,libyoke-917f20fb6bdb211d,libstable_deref_trait-67036cf64426ed87,libzerofrom-b64876b6e441b787,libform_urlencoded-c48b2e8eb3e8b175,libpercent_encoding-a08325d225d05aa0,libserde-0a6802baa7031204,libserde_core-0875a27b4952ede8,libtokio-a3073a3332ca33e0,libsignal_hook_registry-60e30ee0cba05d1d,libsocket2-15c44f6652b0b631,libbytes-db2dc89eb3e298cd,libmio-4d6d0656cd2fb2b7,libparking_lot-a99e9c717db6b846,libparking_lot_core-9df100b9150eb841,libcfg_if-1322cf9a73aedb36,libsmallvec-962790c51b99ddde,liblock_api-aabd1f5e7db9c829,libscopeguard-60913d6e1ba5368d,libpin_project_lite-a69c482116fa2e0f,libclap-869c9d51f50b4353,libvec_map-760d543c1b83dbdb,libtextwrap-e48dad36ffe8f40c,libunicode_width-3522840aab19ed82,libstrsim-f8fb0010d489bead,libbitflags-eafd7f5a4f052d5b,libatty-02c6ca3fa4f49961,liblibc-cb9f83a4064322a8,libansi_term-65f5d2519e29d4e1}.rlib" "<sysroot>/lib/rustlib/x86_64-unknown-linux-musl/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*}.rlib" "-lunwind" "<sysroot>/lib/rustlib/x86_64-unknown-linux-musl/lib/liblibc-*.rlib" "-lc" "<sysroot>/lib/rustlib/x86_64-unknown-linux-musl/lib/{librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-L" "/tmp/rustcJSJluG/raw-dylibs" "-Wl,-Bdynamic" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-nostartfiles" "-L" "/tmp/cargo-installhVXSzo/release/build/ring-3636c5898b5621ab/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-installhVXSzo/release/deps/x8-3eb67828902ccf51" "-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 -lssl: No such file or directory
          /usr/lib/gcc/x86_64-alpine-linux-musl/14.2.0/../../../../x86_64-alpine-linux-musl/bin/ld: have you installed the static version of the ssl library ?
          /usr/lib/gcc/x86_64-alpine-linux-musl/14.2.0/../../../../x86_64-alpine-linux-musl/bin/ld: cannot find -lcrypto: No such file or directory
          /usr/lib/gcc/x86_64-alpine-linux-musl/14.2.0/../../../../x86_64-alpine-linux-musl/bin/ld: have you installed the static version of the crypto library ?
          collect2: error: ld returned 1 exit status
          

error: could not compile `x8` (bin "x8") due to 1 previous error
error: failed to compile `x8 v4.3.0`, intermediate artifacts can be found at `/tmp/cargo-installhVXSzo`.
To reuse those artifacts with a future compilation, set the environment variable `CARGO_TARGET_DIR` to that path.

It would still be nice to compile a release binary that works with Alpine though.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions