It4innovations / hyperqueue

Scheduler for sub-node tasks for HPC systems with batch scheduling
https://it4innovations.github.io/hyperqueue
MIT License
277 stars 23 forks source link

Linux specific since version 13 #553

Closed Nithador closed 1 year ago

Nithador commented 1 year ago

Version 13 and up cannot be compiled on Macbook Pro with M1 processor macOS Ventura 13.1, but the problem seems to be linux specific call.

error[E0425]: cannot find function prctl in crate libc --> crates/tako/src/launcher.rs:160:29 | 160 | let ret = libc::prctl(libc::PR_SET_PDEATHSIG, libc::SIGTERM); | ^^^^^ not found in libc

error[E0425]: cannot find value PR_SET_PDEATHSIG in crate libc --> crates/tako/src/launcher.rs:160:41 | 160 | let ret = libc::prctl(libc::PR_SET_PDEATHSIG, libc::SIGTERM); | ^^^^^^^^^^^^^^^^ not found in libc

image

Is it possible to return to support for also non-linux systems?

Kobzol commented 1 year ago

Hi, HQ has been Linux-only from the beginning. It is actually one of its design principles, to reduce external dependencies, which makes it easier to install.

Recent versions made it impossible to compile on other OSes, but there is also runtime behaviour (e.g. autodetection of resources or task pinning) that is Linux specific.

We can resolve the compilation issue relatively easily, but it won't cause HQ to work perfectly on other operating systems.

Kobzol commented 3 months ago

Just a note that it should be possible to build HQ on macOS now (we added a check to CI to make sure that it stays that way), however we still do not guarantee any support for its functionality.