I tried adding linux_enable=“YES” to /etc/rc.conf, but it didn’t help. I have a feeling that would only help if I already had a linux binary (just guessing), but in my case, the c_helper.so module compilation just fails.
I dug out the compile command from klipper/klippy/chelper/init.py, and executed it, and got the same error.
[gal@klipper ~/klipper/klippy/chelper]$ gcc -mfpmath=sse -msse2 -Wall -g -O2 -shared -fPIC -flto -fwhole-program -fno-use-linker-plugin -o /home/gal/klipper/klippy/chelper/c_helper.so /home/gal/klipper/klippy/chelper/pyhelper.c /home/gal/klipper/klippy/chelper/serialqueue.c /home/gal/klipper/klippy/chelper/stepcompress.c /home/gal/klipper/klippy/chelper/itersolve.c /home/gal/klipper/klippy/chelper/trapq.c /home/gal/klipper/klippy/chelper/pollreactor.c /home/gal/klipper/klippy/chelper/msgblock.c /home/gal/klipper/klippy/chelper/trdispatch.c /home/gal/klipper/klippy/chelper/kin_cartesian.c /home/gal/klipper/klippy/chelper/kin_corexy.c /home/gal/klipper/klippy/chelper/kin_corexz.c /home/gal/klipper/klippy/chelper/kin_delta.c /home/gal/klipper/klippy/chelper/kin_deltesian.c /home/gal/klipper/klippy/chelper/kin_polar.c /home/gal/klipper/klippy/chelper/kin_rotary_delta.c /home/gal/klipper/klippy/chelper/kin_winch.c /home/gal/klipper/klippy/chelper/kin_extruder.c /home/gal/klipper/klippy/chelper/kin_shaper.c /home/gal/klipper/klippy/chelper/kin_idex.c /home/gal/klipper/klippy/chelper/kin_generic.c
/home/gal/klipper/klippy/chelper/pyhelper.c: In function 'get_monotonic':
/home/gal/klipper/klippy/chelper/pyhelper.c:21:29: error: 'CLOCK_MONOTONIC_RAW' undeclared (first use in this function); did you mean 'CLOCK_MONOTONIC_FAST'?
21 | int ret = clock_gettime(CLOCK_MONOTONIC_RAW, &ts);
| ^~~~~~~~~~~~~~~~~~~
| CLOCK_MONOTONIC_FAST
/home/gal/klipper/klippy/chelper/pyhelper.c:21:29: note: each undeclared identifier is reported only once for each function it appears in
/home/gal/klipper/klippy/chelper/serialqueue.c:15:10: fatal error: linux/can.h: No such file or directory
15 | #include <linux/can.h> // // struct can_frame
| ^~~~~~~~~~~~~
compilation terminated.
[gal@klipper ~/klipper/klippy/chelper]$
Could chelper be changed, so that it wouldn’t contain any linux system call?