Skip to content
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

v0.21.0 fails to build from source #808

Open
lahwaacz opened this issue Feb 1, 2025 · 11 comments
Open

v0.21.0 fails to build from source #808

lahwaacz opened this issue Feb 1, 2025 · 11 comments

Comments

@lahwaacz
Copy link
Contributor

lahwaacz commented Feb 1, 2025

I'm trying to make a package for Arch Linux but v0.21.0 fails to build from source. Based on the Arch package guidelines:

$ export RUSTUP_TOOLCHAIN=stable
$ export CARGO_TARGET_DIR=target
$ cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
$ cargo build --frozen --release --all-features
...
warning: unused import: `crate::Set`
 --> crates/tako/src/internal/worker/resources/pool.rs:9:5
  |
9 | use crate::Set;
  |     ^^^^^^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

warning: method `strip_zeros` is never used
   --> crates/tako/src/internal/worker/resources/concise.rs:138:19
    |
15  | impl ConciseResourceState {
    | ------------------------- method in this implementation
...
138 |     pub(crate) fn strip_zeros(&self) -> ConciseResourceState {
    |                   ^^^^^^^^^^^
    |
    = note: `#[warn(dead_code)]` on by default

warning: method `all_states` is never used
   --> crates/tako/src/internal/worker/resources/concise.rs:184:12
    |
155 | impl ConciseFreeResources {
    | ------------------------- method in this implementation
...
184 |     pub fn all_states(&self) -> &[ConciseResourceState] {
    |            ^^^^^^^^^^

   Compiling hyperqueue v0.21.0 (/build/hyperqueue/src/hyperqueue-0.21.0/crates/hyperqueue)
warning: unused import: `command_from_definitions`
  --> crates/hyperqueue/src/worker/start/program.rs:19:5
   |
19 |     command_from_definitions, StopReason, TaskBuildContext, TaskLaunchData, TaskResult,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: `#[warn(unused_imports)]` on by default

warning: `tako` (lib) generated 3 warnings (run `cargo fix --lib -p tako` to apply 1 suggestion)
error[E0061]: this function takes 7 arguments but 8 arguments were supplied
   --> crates/hyperqueue/src/worker/start/program.rs:191:23
    |
191 |     let task_future = create_task_future(
    |                       ^^^^^^^^^^^^^^^^^^
...
199 |         stream_path,
    |         ----------- unexpected argument #8 of type `std::option::Option<PathBuf>`
    |
note: function defined here
   --> crates/hyperqueue/src/worker/start/program.rs:399:10
    |
399 | async fn create_task_future(
    |          ^^^^^^^^^^^^^^^^^^
400 |     _streamer_ref: StreamerRef,
    |     --------------------------
401 |     _program: ProgramDefinition,
    |     ---------------------------
402 |     _job_id: JobId,
    |     --------------
403 |     _job_task_id: JobTaskId,
    |     -----------------------
404 |     _instance_id: InstanceId,
    |     ------------------------
405 |     _end_receiver: tokio::sync::oneshot::Receiver<StopReason>,
    |     ---------------------------------------------------------
406 |     _task_dir: Option<TempDir>,
    |     --------------------------
help: remove the extra argument
    |
198 -         task_dir,
199 -         stream_path,
198 +         task_dir,
    |

warning: unused import: `futures::TryFutureExt`
  --> crates/hyperqueue/src/worker/start/program.rs:10:5
   |
10 | use futures::TryFutureExt;
   |     ^^^^^^^^^^^^^^^^^^^^^

For more information about this error, try `rustc --explain E0061`.
warning: `hyperqueue` (lib) generated 2 warnings
error: could not compile `hyperqueue` (lib) due to 1 previous error; 2 warnings emitted

I don't know rust, so am I doing something wrong?

@spirali
Copy link
Collaborator

spirali commented Feb 1, 2025

Do not use --all-features. It enables zero worker that is used only for our internal testing and it is broken now. I will create an issue for that.

@lahwaacz
Copy link
Contributor Author

lahwaacz commented Feb 1, 2025

Thanks, that helped. Now I'm getting linker errors:

error: linking with `cc` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/usr/lib64/rustlib/x86_64-unknown-linux-gnu/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl" VSLANG="1033" "cc" "-m64" "/tmp/rustcvJPJyo/symbols.o" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/hq-b414bcad53c80f18.hq.65d7379411b311e6-cgu.00.rcgu.o" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/hq-b414bcad53c80f18.hq.65d7379411b311e6-cgu.01.rcgu.o" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/hq-b414bcad53c80f18.hq.65d7379411b311e6-cgu.02.rcgu.o" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/hq-b414bcad53c80f18.hq.65d7379411b311e6-cgu.03.rcgu.o" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/hq-b414bcad53c80f18.hq.65d7379411b311e6-cgu.04.rcgu.o" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/hq-b414bcad53c80f18.hq.65d7379411b311e6-cgu.05.rcgu.o" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/hq-b414bcad53c80f18.hq.65d7379411b311e6-cgu.06.rcgu.o" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/hq-b414bcad53c80f18.hq.65d7379411b311e6-cgu.07.rcgu.o" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/hq-b414bcad53c80f18.hq.65d7379411b311e6-cgu.08.rcgu.o" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/hq-b414bcad53c80f18.hq.65d7379411b311e6-cgu.09.rcgu.o" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/hq-b414bcad53c80f18.hq.65d7379411b311e6-cgu.10.rcgu.o" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/hq-b414bcad53c80f18.hq.65d7379411b311e6-cgu.11.rcgu.o" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/hq-b414bcad53c80f18.hq.65d7379411b311e6-cgu.12.rcgu.o" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/hq-b414bcad53c80f18.hq.65d7379411b311e6-cgu.13.rcgu.o" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/hq-b414bcad53c80f18.hq.65d7379411b311e6-cgu.14.rcgu.o" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/hq-b414bcad53c80f18.hq.65d7379411b311e6-cgu.15.rcgu.o" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/hq-b414bcad53c80f18.dy04tsklpdks3pl37deys7sn0.rcgu.o" "-Wl,--as-needed" "-Wl,-Bstatic" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libatty-a3c1264d7463b4fc.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libjemallocator-57f77ce3454879f5.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libjemalloc_sys-9312b4ee3a3721ea.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libhyperqueue-8fbbb0d66c6e2fba.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libcore_affinity-e16c0b29b96eaf23.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libhex-5a6c8034f443add5.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libgethostname-b34b36a2e8f65b98.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libdirs-9eb402d0ecfd3b61.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libdirs_sys-2a10f4df94dcbebe.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/liboption_ext-4fd146ffc1d4a8a5.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libtextwrap-9f1a3f0da4e75df3.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libunicode_linebreak-3396cd9e2247f67d.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libsmawk-dfac5fc1fede2109.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libtoml-bf590013353b45c1.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libtoml_edit-8be1a0c2a9b4158b.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libserde_spanned-7f290855b7f76e0d.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libwinnow-c51e0927332634a3.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libtoml_datetime-629c3dcd59e2903b.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libconst_format-456b880ff7d1a291.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libratatui-9f649ffe5a2f1746.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libunicode_truncate-d74eb598bdde7ee4.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/liblru-5c0c31d336eec2ee.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libcassowary-8f26b0138e27eb8e.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libitertools-45c02baa284c387e.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libeither-6e52cdfe90cf5655.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libcompact_str-19e62f7debfdeabd.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libstatic_assertions-146caad5062df083.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libcastaway-412baeb68f102c8c.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libunicode_segmentation-d745c6729e5e2773.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libstrum-61df089360b86061.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libcrossterm-8faf62d264b79f57.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libsignal_hook_mio-8d46433bd2c44c57.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libsignal_hook-e30e3cd13d5cd94a.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libenv_logger-e334e9b5200e85b0.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libenv_filter-294fc990db52b06d.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libregex-a0d07bd3e70e8ffa.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libnom_supreme-0a68160fff610947.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libbrownstone-af6c0598ef08f644.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libarrayvec-af4d423506d3732d.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libjoinery-44f83bd9ed2a5df5.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libindent_write-2fb5412251c7957c.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libtempfile-daee41516631f668.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libfastrand-723bd73b11d42a80.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/librustix-26a1d724937e057a.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/liblinux_raw_sys-f8e1cc99e223e647.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libchrono-fde991f5ea94b67e.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libnum_traits-2fa822623f11a1f0.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libiana_time_zone-fd4fa6daa85249a4.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libnom-9b0d79e96cc80174.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libchumsky-b9fd2a1578c49189.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libstacker-1b7be0410801d905.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libpsm-6caae31966fa224d.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libhashbrown-a15a711ff8bf739e.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libahash-6747f9eb68db4340.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/liballocator_api2-5fda7b99bce9c630.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libanyhow-56ddb5b3932c577a.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libtako-e472f54879298c1e.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libserde_bytes-9fcc63307d2506f2.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libtracing-e0d812f1fa18001c.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libtracing_core-519e568e0b6ae1de.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libnix-ebca632474a128bd.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libbitflags-19047d0bf30b3ddb.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libbstr-7bd5d29355414792.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libregex_automata-db33a32f4ceb01fb.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libaho_corasick-62fb473e9c183cf3.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libregex_syntax-04a6f3969fc175b3.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/librand-bcc73fe9bdaa4f61.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/librand_chacha-5202649ace6b286f.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libppv_lite86-6e2af5d1ab9298c7.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libzerocopy-50d1f6bc1996788a.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/librand_core-1bd5e4be1ce54da0.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libpsutil-1c7961f4f8eb5205.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libnum_cpus-51d21103e4caf401.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libonce_cell-b9181a9eb84a8349.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libunescape-edf6b599822d60a4.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libnix-1b32052d47dc3af9.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libbitflags-2271abf1b6c0c452.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libplatforms-9b5aa3b9b24d7ca4.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libglob-234f588c07ec1bf9.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libbincode-7848a0ff189eaca5.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libthin_vec-9e1b8cd5d33f8ad1.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libtokio_util-1c0fde7834a76b1a.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libfutures-0d1469e8739cff2b.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libfutures_executor-ada6f50a50de846f.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libfutures_util-a860ba5ed8898920.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libfutures_io-96bf368bd7c5efba.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libslab-3ddab8566cf2a77e.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libfutures_channel-89947f4ea74613bb.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libfutures_sink-9fafada8e67fae6b.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libfutures_task-92973ce45a2b9cee.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libpin_utils-4278a66e88ecbb9c.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libfutures_core-bb1b865c76e235f0.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/liborion-c78fbfb254dec88a.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libgetrandom-a9f1541962595ccc.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libct_codecs-6563e7f037710a13.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libfiat_crypto-26e8d918dd1f9fdc.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libzeroize-2538c953065987c4.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libsubtle-fb738cc3df024520.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libpriority_queue-21da3557614732ae.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libindexmap-eb4d915f6399553d.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libequivalent-cf60af373ba48054.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libhashbrown-b42f55b8e7b7e7f3.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libtokio-7abef3c300fde30f.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libsignal_hook_registry-5cbc31abef279e9a.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libsocket2-6e5281826dcf0bd4.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libbytes-6ba948f1b68757b1.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libmio-d154fe3cd0d04bed.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/liblog-9b5e98073f71d259.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libparking_lot-31d4a2774e5b478f.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libparking_lot_core-82e6428b0db5abe0.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/liblibc-c4f57a1616fa3e17.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libcfg_if-ab6e57770022b9ba.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/liblock_api-18cc31d0acadaa00.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libscopeguard-9eacfe958544e4fe.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libpin_project_lite-8c0c29116114ca8d.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libderive_more-73036f129164a55b.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libsmallvec-041d89975c56a403.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libthiserror-bdda542dc7fae358.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libfxhash-76e8e4d71a8b2f75.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libbyteorder-c097a00171a7be40.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libserde_json-7e81104e2cb81d0d.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libmemchr-fb5dcab50d8276c5.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libitoa-ae467ff3f8bb9f32.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libryu-13fe3a34db53313c.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libserde-2d62d5a1f1da0ce6.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libhumantime-6d761092ea854e9a.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libcolored-1aba32aa787f0d88.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/liblazy_static-f582dca7578506b7.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libcli_table-37d65dfa5afe166c.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libunicode_width-6849669f20e84324.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libtermcolor-4772b2396c488f0a.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libclap_complete-b6c962944480794a.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libclap-d73364dab999f780.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libclap_builder-e729f1a868d1b537.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libstrsim-4e202d815354b1d6.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libanstream-06534597d1f5b267.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libanstyle_query-bea45dc44db82632.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libis_terminal_polyfill-bf8a417c12a96170.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libcolorchoice-6031cefd2162232c.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libanstyle_parse-77fe7466056cc317.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libutf8parse-4b019bc9b2d4594e.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libclap_lex-d9cca3b2988f9053.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/libanstyle-5d2091a16abb17b7.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libstd-f0f8392ad284a6c7.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_abort-8d763cf864ce7bab.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libobject-29570fd1ca8e752c.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-7c6e77de316aa1f2.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-57a2e37f8dda770b.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-89f293e6e3609dbf.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-dcb5285a32c8db54.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-5279e545107529c5.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-f66756c06be8c08a.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-712cb86ccf3c69be.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-31434d5ecfa1d88c.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libadler-ab8a23663137c875.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-5d085013eeb58cba.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-7091bdb25149f5a3.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-596cbc30a1aea76c.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-ffbe87917f1ffeb7.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-9305647cbfd16454.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libcore-02b95802a697f279.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-8c202ccc40c7571c.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/build/psm-a48eba41dbe2cf8b/out" "-L" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/build/jemalloc-sys-256320be716583e9/out/build/lib" "-L" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/hq-b414bcad53c80f18" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-Wl,--strip-debug" "-nodefaultlibs"
  = note: /usr/bin/ld: /build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/hq-b414bcad53c80f18.hq.65d7379411b311e6-cgu.00.rcgu.o: in function `<jemallocator::Jemalloc as core::alloc::global::GlobalAlloc>::dealloc':
          /build/.cargo/registry/src/index.crates.io-6f17d22bba15001f/jemallocator-0.5.4/src/lib.rs:129:(.text._ZN10hyperqueue6client3job14get_worker_map28_$u7b$$u7b$closure$u7d$$u7d$17h2ea94affff3543deE+0x286): undefined reference to `_rjem_sdallocx'
          /usr/bin/ld: /build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/hq-b414bcad53c80f18.hq.65d7379411b311e6-cgu.00.rcgu.o: in function `<jemallocator::Jemalloc as core::alloc::global::GlobalAlloc>::alloc':
          /build/.cargo/registry/src/index.crates.io-6f17d22bba15001f/jemallocator-0.5.4/src/lib.rs:107:(.text._ZN10hyperqueue6client8commands4wait13wait_for_jobs28_$u7b$$u7b$closure$u7d$$u7d$17h47e72a6ccf07ddeaE+0x1b6): undefined reference to `_rjem_mallocx'
          /usr/bin/ld: /build/.cargo/registry/src/index.crates.io-6f17d22bba15001f/jemallocator-0.5.4/src/lib.rs:105:(.text._ZN10hyperqueue6client8commands4wait13wait_for_jobs28_$u7b$$u7b$closure$u7d$$u7d$17h47e72a6ccf07ddeaE+0x1cc): undefined reference to `_rjem_malloc'
          /usr/bin/ld: /build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/hq-b414bcad53c80f18.hq.65d7379411b311e6-cgu.00.rcgu.o: in function `<jemallocator::Jemalloc as core::alloc::global::GlobalAlloc>::dealloc':
          /build/.cargo/registry/src/index.crates.io-6f17d22bba15001f/jemallocator-0.5.4/src/lib.rs:129:(.text._ZN10hyperqueue6client8commands4wait13wait_for_jobs28_$u7b$$u7b$closure$u7d$$u7d$17h47e72a6ccf07ddeaE+0x458): undefined reference to `_rjem_sdallocx'
          /usr/bin/ld: /build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/hq-b414bcad53c80f18.hq.65d7379411b311e6-cgu.00.rcgu.o: in function `<jemallocator::Jemalloc as core::alloc::global::GlobalAlloc>::alloc':
          /build/.cargo/registry/src/index.crates.io-6f17d22bba15001f/jemallocator-0.5.4/src/lib.rs:107:(.text._ZN10hyperqueue6client8commands4wait13wait_for_jobs28_$u7b$$u7b$closure$u7d$$u7d$17h47e72a6ccf07ddeaE+0x63e): undefined reference to `_rjem_mallocx'
          /usr/bin/ld: /build/.cargo/registry/src/index.crates.io-6f17d22bba15001f/jemallocator-0.5.4/src/lib.rs:105:(.text._ZN10hyperqueue6client8commands4wait13wait_for_jobs28_$u7b$$u7b$closure$u7d$$u7d$17h47e72a6ccf07ddeaE+0x77c): undefined reference to `_rjem_malloc'
          /usr/bin/ld: /build/hyperqueue/src/hyperqueue-0.21.0/target/release/deps/hq-b414bcad53c80f18.hq.65d7379411b311e6-cgu.00.rcgu.o: in function `<jemallocator::Jemalloc as core::alloc::global::GlobalAlloc>::dealloc':
          /build/.cargo/registry/src/index.crates.io-6f17d22bba15001f/jemallocator-0.5.4/src/lib.rs:129:(.text._ZN10hyperqueue6client8commands4wait13wait_for_jobs28_$u7b$$u7b$closure$u7d$$u7d$17h47e72a6ccf07ddeaE+0x911): undefined reference to `_rjem_sdallocx'
          /usr/bin/ld: /build/.cargo/registry/src/index.crates.io-6f17d22bba15001f/jemallocator-0.5.4/src/lib.rs:129:(.text._ZN10hyperqueue6client8commands4wait13wait_for_jobs28_$u7b$$u7b$closure$u7d$$u7d$17h47e72a6ccf07ddeaE+0x955): undefined reference to `_rjem_sdallocx'
...

This might be related to Arch's default build flags, any ideas?

@spirali
Copy link
Collaborator

spirali commented Feb 1, 2025

It seems that it is a problem with jemalloc, that is enabled by default.

You can disable it:

--no-default-features --feature dashboard

or install jemalloc.

HyperQueue is slightly faster with jemalloc but you lose no functionality if you disable it.

@lahwaacz
Copy link
Contributor Author

lahwaacz commented Feb 1, 2025

Hmm installing jemalloc did not help, I still get the same error. Moreover, it seems to still build jemallocator even when I disable the jemalloc feature:

error: linking with `cc` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/usr/lib64/rustlib/x86_64-unknown-linux-gnu/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl" VSLANG="1033" "cc" "-m64" "/tmp/rustcQ46zOg/symbols.o" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/hq-525160c5c0e2b702.1i9fqznraz4ndtjrdx6dcswzl.rcgu.o" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/hq-525160c5c0e2b702.6n7l1skgjhnrxfjjq6x6em6i8.rcgu.o" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/hq-525160c5c0e2b702.6w8qo8ciodwq8egnuirtdrkmk.rcgu.o" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/hq-525160c5c0e2b702.8mog7kv841z9eve21xszgvunr.rcgu.o" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/hq-525160c5c0e2b702.9o689nm4h18d41tr3fpy65ia9.rcgu.o" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/hq-525160c5c0e2b702.cz1z9i0drzcgej6mfebi7j2p3.rcgu.o" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/hq-525160c5c0e2b702.eisyg4w0pfps3dw1r8vtcq9i2.rcgu.o" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/hq-525160c5c0e2b702.erqvvxunxo6gebq9yxysd0mox.rcgu.o" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/hq-525160c5c0e2b702.a8hrxfkvgzzck28bov4kh28kl.rcgu.o" "-Wl,--as-needed" "-Wl,-Bstatic" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libatty-5d53eacd1fd53fe7.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libjemallocator-4a025b934c81ef8e.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libjemalloc_sys-3f13f62c34c8bf8a.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libtest-257ee81a35efd577.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libgetopts-9447b7f567990307.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libunicode_width-26b60e1287798012.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_std-cf3b701fe537ce60.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libhyperqueue-f8bbc8ed59d0d0f0.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libcore_affinity-d304b6eb32d414c2.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libhex-14248cc79bf11e13.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libgethostname-5980ca94891eab90.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libdirs-257437bb0de3435e.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libdirs_sys-82030dff959938fc.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/liboption_ext-8a8f79e4051c590e.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libtextwrap-927f463c18c59a04.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libunicode_linebreak-7ddce40019f72a02.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libsmawk-02b593bfd8f80b35.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libtoml-c4c9ab1f831624ea.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libtoml_edit-cb429a08ee6821c6.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libserde_spanned-786005553f304cd3.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libwinnow-d78b472330f7b533.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libtoml_datetime-62a65cf7da52f057.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libconst_format-24249d49f346af9b.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libratatui-f91d2edd2d0d94e0.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libunicode_truncate-77bd91061416e652.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/liblru-e70cd950031ec3d9.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libcassowary-34af0b5e98b5b358.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libitertools-a69f9ff7fb092b71.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libeither-06312ff03155d40f.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libcompact_str-dc5bf4390b8b993a.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libstatic_assertions-6f7f051fbc8fd7a0.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libcastaway-3c8d0046fdb14bba.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libunicode_segmentation-c7020b5b7ee97891.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libstrum-f36b0fabe979f35c.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libcrossterm-2072ddab9cde333a.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libsignal_hook_mio-f3fedafee7cecc31.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libsignal_hook-45740fe307ee4834.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libenv_logger-7b4efbc63de55a93.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libenv_filter-b4dc6f3e084c7df1.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libregex-673bf2beb1d82167.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libnom_supreme-821854ca5eceb586.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libbrownstone-6b234dd0ee1e8c16.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libarrayvec-bc1b7a17ead2738b.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libjoinery-b38155bc5eed1c16.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libindent_write-8d8983e55f7a5314.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libtempfile-442962f4cfd2b7a6.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libfastrand-4f68969e9bbad1aa.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/librustix-f7dbf9013f387045.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/liblinux_raw_sys-abe23fd302d8d014.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libchrono-1be683caa38a0f77.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libnum_traits-7918ffbac5435b46.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libiana_time_zone-bead5b46647fc057.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libnom-be6bc53fbac9f3be.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libchumsky-436114c35cc85722.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libstacker-fa86a2f4b6c24636.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libpsm-c2f451561959c478.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libhashbrown-6cc9e3a6b875496f.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libahash-0062f82ed26da685.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/liballocator_api2-e6e1c113359e1625.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libanyhow-ef090b86515d9696.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libtako-65c669583c4ee4df.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libserde_bytes-e574b0aa7d00cede.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libtracing-d7a363cc57c05cf9.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libtracing_core-411ee467ca4a2008.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libnix-febd990743508e8c.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libbitflags-e03b1461fa0e2735.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libbstr-5345e55d3bdf4fc6.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libregex_automata-7c512c6302a08659.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libaho_corasick-aa011d25d061d926.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libregex_syntax-8ab3ad0d6dc542ee.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/librand-b059242993ebba91.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/librand_chacha-379afe6c867e8a90.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libppv_lite86-caa0aad43470bbbe.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libzerocopy-f64d9f49ee8ec260.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/librand_core-e17b7fd5c5321829.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libpsutil-cdb01c66f4fbeb1f.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libnum_cpus-64566f5a4c6ee242.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libonce_cell-6fc59af270682377.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libunescape-43173c2a14ef656c.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libnix-df21be36d964d822.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libbitflags-6d7bd77bf3ddcaab.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libplatforms-f389a576f3f349c8.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libglob-d364afd0aa2b59aa.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libbincode-93c4ec3d20fb9aa3.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libthin_vec-8da29d2f7de071e9.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libtokio_util-d8afc647e3c1b44c.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libfutures-99362237d9be8568.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libfutures_executor-2e7d1dfcafb73bb9.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libfutures_util-c8b56baddc71c642.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libfutures_io-93cb853e9fb51864.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libslab-28a1c6326d2fee1b.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libfutures_channel-ca6b7b9ad85284a7.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libfutures_sink-98bc1abd1436d795.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libfutures_task-4a8f3bde4841b6e2.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libpin_utils-465c079c5fb2568c.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libfutures_core-a7901bb2beb18069.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/liborion-d80730b4007888ce.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libgetrandom-dd8f9e5d9e44528f.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libct_codecs-c3e3457bb17d7420.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libfiat_crypto-d447d46c34e4cb36.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libzeroize-358aeca60c18a93f.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libsubtle-fa4a66385803e072.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libpriority_queue-24764f15669d366d.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libindexmap-a537e3851c312488.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libequivalent-df0fa27a291ddb90.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libhashbrown-0e3a854970715f51.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libtokio-75df31042c934be3.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libsignal_hook_registry-514adc939c12acae.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libsocket2-f52eb016eebe736e.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libbytes-dbca73699f222138.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libmio-5f8e22c31df9337a.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/liblog-0eb7285dc668fc33.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libparking_lot-27c58271dce5fb06.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libparking_lot_core-7450ff3068263be8.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/liblibc-e87ffff17ac9e7d5.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libcfg_if-be3932b7ef0317c0.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/liblock_api-7394c86f05328a49.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libscopeguard-1ddc7c5508949512.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libpin_project_lite-3e6270ec4df2397f.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libderive_more-ddc9553d4568e813.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libsmallvec-63209863154d07a5.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libthiserror-30519897bf92ccd9.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libfxhash-f887778b2b685b10.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libbyteorder-ba369d762e558bd8.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libserde_json-66c4eede19405119.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libmemchr-981c892172d9b873.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libitoa-d6f61e02541e8986.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libryu-18a748479f711f68.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libserde-77d7b7f6d0e09e03.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libhumantime-9d6b9c1e98cbd5dd.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libcolored-6551606e70ae8f2b.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/liblazy_static-dbfcd76edc80f200.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libcli_table-aaf092206b3f8e0e.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libunicode_width-79d0b562ffdd093c.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libtermcolor-178c2c506dd7a37c.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libclap_complete-2d30074c49df6b2f.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libclap-8cc9793d9202124a.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libclap_builder-46916caff68bc809.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libstrsim-ef8da6d09e728f13.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libanstream-619dc454aa87e106.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libanstyle_query-e6cc3788de2deb3b.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libis_terminal_polyfill-a1eddd8062539d02.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libcolorchoice-58f6cb7572736752.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libanstyle_parse-34196723b15c2156.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libutf8parse-fb1f497339fb3c2e.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libclap_lex-17882d2bb6810473.rlib" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/libanstyle-ef29d4edd55fdb68.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libstd-f0f8392ad284a6c7.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-a5f8a951b48b2f3e.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libobject-29570fd1ca8e752c.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-7c6e77de316aa1f2.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-57a2e37f8dda770b.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-89f293e6e3609dbf.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-dcb5285a32c8db54.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-5279e545107529c5.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-f66756c06be8c08a.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-712cb86ccf3c69be.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-31434d5ecfa1d88c.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libadler-ab8a23663137c875.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-5d085013eeb58cba.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-7091bdb25149f5a3.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-596cbc30a1aea76c.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-ffbe87917f1ffeb7.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-9305647cbfd16454.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libcore-02b95802a697f279.rlib" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-8c202ccc40c7571c.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/build/psm-b42b51e491316240/out" "-L" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/build/jemalloc-sys-99120e027a3a23e4/out/build/lib" "-L" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/hq-525160c5c0e2b702" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
  = note: /usr/bin/ld: /build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/hq-525160c5c0e2b702.9o689nm4h18d41tr3fpy65ia9.rcgu.o: in function `<jemallocator::Jemalloc as core::alloc::global::GlobalAlloc>::alloc_zeroed':
          /build/.cargo/registry/src/index.crates.io-6f17d22bba15001f/jemallocator-0.5.4/src/lib.rs:117:(.text._ZN75_$LT$jemallocator..Jemalloc$u20$as$u20$core..alloc..global..GlobalAlloc$GT$12alloc_zeroed17hc4b40f70becf4ba7E+0x94): undefined reference to `_rjem_calloc'
          /usr/bin/ld: /build/.cargo/registry/src/index.crates.io-6f17d22bba15001f/jemallocator-0.5.4/src/lib.rs:119:(.text._ZN75_$LT$jemallocator..Jemalloc$u20$as$u20$core..alloc..global..GlobalAlloc$GT$12alloc_zeroed17hc4b40f70becf4ba7E+0xb2): undefined reference to `_rjem_mallocx'
          /usr/bin/ld: /build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/hq-525160c5c0e2b702.9o689nm4h18d41tr3fpy65ia9.rcgu.o: in function `<jemallocator::Jemalloc as core::alloc::global::GlobalAlloc>::alloc':
          /build/.cargo/registry/src/index.crates.io-6f17d22bba15001f/jemallocator-0.5.4/src/lib.rs:105:(.text._ZN75_$LT$jemallocator..Jemalloc$u20$as$u20$core..alloc..global..GlobalAlloc$GT$5alloc17hfb68dc64c713fe58E+0x8f): undefined reference to `_rjem_malloc'
          /usr/bin/ld: /build/.cargo/registry/src/index.crates.io-6f17d22bba15001f/jemallocator-0.5.4/src/lib.rs:107:(.text._ZN75_$LT$jemallocator..Jemalloc$u20$as$u20$core..alloc..global..GlobalAlloc$GT$5alloc17hfb68dc64c713fe58E+0xaa): undefined reference to `_rjem_mallocx'
          /usr/bin/ld: /build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/hq-525160c5c0e2b702.9o689nm4h18d41tr3fpy65ia9.rcgu.o: in function `<jemallocator::Jemalloc as core::alloc::global::GlobalAlloc>::dealloc':
          /build/.cargo/registry/src/index.crates.io-6f17d22bba15001f/jemallocator-0.5.4/src/lib.rs:129:(.text._ZN75_$LT$jemallocator..Jemalloc$u20$as$u20$core..alloc..global..GlobalAlloc$GT$7dealloc17hd757dd66b03b055fE+0xe1): undefined reference to `_rjem_sdallocx'
          /usr/bin/ld: /build/hyperqueue/src/hyperqueue-0.21.0/target/debug/deps/hq-525160c5c0e2b702.9o689nm4h18d41tr3fpy65ia9.rcgu.o: in function `<jemallocator::Jemalloc as core::alloc::global::GlobalAlloc>::realloc':
          /build/.cargo/registry/src/index.crates.io-6f17d22bba15001f/jemallocator-0.5.4/src/lib.rs:138:(.text._ZN75_$LT$jemallocator..Jemalloc$u20$as$u20$core..alloc..global..GlobalAlloc$GT$7realloc17h449acb1f434cc61dE+0xc3): undefined reference to `_rjem_realloc'
          /usr/bin/ld: /build/.cargo/registry/src/index.crates.io-6f17d22bba15001f/jemallocator-0.5.4/src/lib.rs:140:(.text._ZN75_$LT$jemallocator..Jemalloc$u20$as$u20$core..alloc..global..GlobalAlloc$GT$7realloc17h449acb1f434cc61dE+0xda): undefined reference to `_rjem_rallocx'
          collect2: error: ld returned 1 exit status

  = note: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
  = note: use the `-l` flag to specify native libraries to link
  = note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#rustc-link-lib)

error: could not compile `hyperqueue` (bin "hq" test) due to 1 previous error
warning: build failed, waiting for other jobs to finish...
warning: `hyperqueue` (lib test) generated 1 warning

@spirali
Copy link
Collaborator

spirali commented Feb 1, 2025

I am out of ideas, let us wait for @Kobzol response who is more experienced in this area.

@lahwaacz
Copy link
Contributor Author

lahwaacz commented Feb 1, 2025

Actually libjemalloc.a seems to be part of the build, so it is not a problem with a system package:

$ find /build/hyperqueue/src/hyperqueue-0.21.0/target/debug/build/jemalloc-sys-99120e027a3a23e4/out/build/lib
/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/build/jemalloc-sys-99120e027a3a23e4/out/build/lib
/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/build/jemalloc-sys-99120e027a3a23e4/out/build/lib/libjemalloc.a
/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/build/jemalloc-sys-99120e027a3a23e4/out/build/lib/libjemalloc_pic.a

But the lib seems to be missing in the cc command for linking, there is only the directory ("-L" "/build/hyperqueue/src/hyperqueue-0.21.0/target/debug/build/jemalloc-sys-99120e027a3a23e4/out/build/lib")

Anyway, thanks for the help @spirali

@Kobzol
Copy link
Collaborator

Kobzol commented Feb 1, 2025

I tried it locally and cargo build --release --no-default-features --feature dashboard does not build or link to jemalloc. Could you delete the target directory and try again,?

@lahwaacz
Copy link
Contributor Author

lahwaacz commented Feb 1, 2025

Ah, you're right - the build worked and the last error was coming from cargo test where I forgot to add the --no-default-features --feature dashboard flags.

So now the build works for me, but cargo test --frozen --no-default-features --features dashboard reports some failures:

failures:

---- internal::tests::integration::test_basic::test_submit_simple_task_ok stdout ----
Received out-of-band message NewWorker(NewWorkerMessage { worker_id: WorkerId(2), configuration: WorkerConfiguration { resources: ResourceDescriptor { resources: [ResourceDescriptorItem { name: "cpus", kind: Range { start: ResourceIndex(0), end: ResourceIndex(0) } }] }, listen_address: ":46431", hostname: "", group: "", work_dir: "/tmp/takoX6ub7h/work", heartbeat_interval: 250ms, overview_configuration: Some(OverviewConfiguration { send_interval: 250ms, gpu_families: Set({}) }), idle_timeout: None, time_limit: None, on_server_lost: Stop, extra: Map({}) } })
thread 'internal::tests::integration::test_basic::test_submit_simple_task_ok' panicked at crates/tako/src/internal/tests/integration/utils/api.rs:134:17:
Task 1 has not finished: TaskWaitResult { events: [Update(Running { instance_id: InstanceId(0), worker_ids: [WorkerId(2)], context: [] }), Fail { info: TaskFailInfo { message: "IO error: No such file or directory (os error 2)", data_type: "", error_data: [] } }] }

---- internal::tests::integration::test_resources::test_force_compact stdout ----
Received out-of-band message NewWorker(NewWorkerMessage { worker_id: WorkerId(2), configuration: WorkerConfiguration { resources: ResourceDescriptor { resources: [ResourceDescriptorItem { name: "cpus", kind: Groups { groups: [["0", "1"], ["2", "3"]] } }] }, listen_address: ":35919", hostname: "", group: "", work_dir: "/tmp/takoJ2uiEU/work", heartbeat_interval: 250ms, overview_configuration: Some(OverviewConfiguration { send_interval: 250ms, gpu_families: Set({}) }), idle_timeout: None, time_limit: None, on_server_lost: Stop, extra: Map({}) } })
Received out-of-band message NewWorker(NewWorkerMessage { worker_id: WorkerId(3), configuration: WorkerConfiguration { resources: ResourceDescriptor { resources: [ResourceDescriptorItem { name: "cpus", kind: Groups { groups: [["0", "1"], ["2", "3"]] } }] }, listen_address: ":36505", hostname: "", group: "", work_dir: "/tmp/takoO1SB7w/work", heartbeat_interval: 250ms, overview_configuration: Some(OverviewConfiguration { send_interval: 250ms, gpu_families: Set({}) }), idle_timeout: None, time_limit: None, on_server_lost: Stop, extra: Map({}) } })
thread 'internal::tests::integration::test_resources::test_force_compact' panicked at crates/tako/src/internal/tests/integration/utils/api.rs:134:17:
Task 1 has not finished: TaskWaitResult { events: [Update(Running { instance_id: InstanceId(0), worker_ids: [WorkerId(3)], context: [] }), Fail { info: TaskFailInfo { message: "IO error: No such file or directory (os error 2)", data_type: "", error_data: [] } }] }

---- internal::tests::integration::test_basic::test_submit_simple_task_fail stdout ----
Received out-of-band message NewWorker(NewWorkerMessage { worker_id: WorkerId(2), configuration: WorkerConfiguration { resources: ResourceDescriptor { resources: [ResourceDescriptorItem { name: "cpus", kind: Range { start: ResourceIndex(0), end: ResourceIndex(0) } }] }, listen_address: ":33493", hostname: "", group: "", work_dir: "/tmp/takogzMr1I/work", heartbeat_interval: 250ms, overview_configuration: Some(OverviewConfiguration { send_interval: 250ms, gpu_families: Set({}) }), idle_timeout: None, time_limit: None, on_server_lost: Stop, extra: Map({}) } })
thread 'internal::tests::integration::test_basic::test_submit_simple_task_fail' panicked at crates/tako/src/internal/tests/integration/utils/api.rs:134:17:
Task 3 has not finished: TaskWaitResult { events: [Update(Running { instance_id: InstanceId(0), worker_ids: [WorkerId(2)], context: [] }), Fail { info: TaskFailInfo { message: "IO error: No such file or directory (os error 2)", data_type: "", error_data: [] } }] }


failures:
    internal::tests::integration::test_basic::test_submit_simple_task_fail
    internal::tests::integration::test_basic::test_submit_simple_task_ok
    internal::tests::integration::test_resources::test_force_compact

test result: FAILED. 168 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.17s

error: test failed, to rerun pass `-p tako --lib`

I'm also not able to build the Python bindings, running maturin build --locked --release --target "$(rustc -vV | sed -n 's/host: //p')" --strip leads to these errors:

error[E0425]: cannot find function, tuple struct or tuple variant `PyEval_ThreadsInitialized` in module `ffi`
  --> /build/.cargo/registry/src/index.crates.io-6f17d22bba15001f/pyo3-0.15.2/src/gil.rs:81:25
   |
81 |                 if ffi::PyEval_ThreadsInitialized() == 0 {
   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `ffi`

error[E0425]: cannot find function, tuple struct or tuple variant `PyEval_InitThreads` in module `ffi`
  --> /build/.cargo/registry/src/index.crates.io-6f17d22bba15001f/pyo3-0.15.2/src/gil.rs:88:26
   |
88 |                     ffi::PyEval_InitThreads();
   |                          ^^^^^^^^^^^^^^^^^^ help: a function with a similar name exists: `PyEval_SaveThread`
   |
  ::: /build/.cargo/registry/src/index.crates.io-6f17d22bba15001f/pyo3-0.15.2/src/ffi/ceval.rs:66:5
   |
66 |     pub fn PyEval_SaveThread() -> *mut PyThreadState;
   |     ------------------------------------------------- similarly named function `PyEval_SaveThread` defined here

error[E0425]: cannot find function, tuple struct or tuple variant `PyEval_InitThreads` in module `ffi`
  --> /build/.cargo/registry/src/index.crates.io-6f17d22bba15001f/pyo3-0.15.2/src/gil.rs:92:22
   |
92 |                 ffi::PyEval_InitThreads();
   |                      ^^^^^^^^^^^^^^^^^^ help: a function with a similar name exists: `PyEval_SaveThread`
   |
  ::: /build/.cargo/registry/src/index.crates.io-6f17d22bba15001f/pyo3-0.15.2/src/ffi/ceval.rs:66:5
   |
66 |     pub fn PyEval_SaveThread() -> *mut PyThreadState;
   |     ------------------------------------------------- similarly named function `PyEval_SaveThread` defined here

error[E0425]: cannot find function, tuple struct or tuple variant `PyEval_ThreadsInitialized` in module `ffi`
   --> /build/.cargo/registry/src/index.crates.io-6f17d22bba15001f/pyo3-0.15.2/src/gil.rs:153:17
    |
153 |         if ffi::PyEval_ThreadsInitialized() == 0 {
    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `ffi`

error[E0425]: cannot find function, tuple struct or tuple variant `PyEval_InitThreads` in module `ffi`
   --> /build/.cargo/registry/src/index.crates.io-6f17d22bba15001f/pyo3-0.15.2/src/gil.rs:154:18
    |
154 |             ffi::PyEval_InitThreads();
    |                  ^^^^^^^^^^^^^^^^^^ help: a function with a similar name exists: `PyEval_SaveThread`
    |
   ::: /build/.cargo/registry/src/index.crates.io-6f17d22bba15001f/pyo3-0.15.2/src/ffi/ceval.rs:66:5
    |
66  |     pub fn PyEval_SaveThread() -> *mut PyThreadState;
    |     ------------------------------------------------- similarly named function `PyEval_SaveThread` defined here

error[E0425]: cannot find function, tuple struct or tuple variant `PyEval_ThreadsInitialized` in module `ffi`
   --> /build/.cargo/registry/src/index.crates.io-6f17d22bba15001f/pyo3-0.15.2/src/gil.rs:234:30
    |
234 |                         ffi::PyEval_ThreadsInitialized(),
    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `ffi`

   Compiling tracing-subscriber v0.3.18
   Compiling ratatui v0.28.1
   Compiling toml_edit v0.22.22
   Compiling priority-queue v2.1.1
For more information about this error, try `rustc --explain E0425`.
error: could not compile `pyo3` (lib) due to 6 previous errors
warning: build failed, waiting for other jobs to finish...
💥 maturin failed
  Caused by: Failed to build a native library through cargo
  Caused by: Cargo build finished with "exit status: 101": `env -u CARGO PYO3_CONFIG_FILE="/build/hyperqueue/src/hyperqueue-0.21.0/target/maturin/pyo3-config-x86_64-unknown-linux-gnu-3.6.txt" PYO3_NO_PYTHON="1" "cargo" "rustc" "--features" "pyo3/extension-module" "--target" "x86_64-unknown-linux-gnu" "--message-format" "json-render-diagnostics" "--locked" "--manifest-path" "/build/hyperqueue/src/hyperqueue-0.21.0/crates/pyhq/Cargo.toml" "--release" "--lib" "--" "-C" "strip=symbols"`

Arch Linux has Python 3.13, is it tested with this version?

@Kobzol
Copy link
Collaborator

Kobzol commented Feb 1, 2025

We don't test with Python 3.13, HQ should work with Python 3.8-3.9. The Python API is quite experimental.

I wouldn't worry about the task failures. The tests try to execute /bin/hostname, it's probably just not available on your system at that location.

@lahwaacz
Copy link
Contributor Author

lahwaacz commented Feb 1, 2025

That's a bummer 😞 Python 3.8 is already end-of-life and 3.9 is the oldest still supported version (until this October).

As for hostname, I can install the inetutils package which provides this binary. But Arch Linux is trying to get rid of this, it would be nice if you could prefer running uname -n instead 😉

@spirali
Copy link
Collaborator

spirali commented Feb 1, 2025

I regularly test it with Python 3.12 and it works. However we are using quite old PyO3 so we should update anyway.

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

3 participants