Unix.EOPNOTSUPP on arm64
Hi on my Mac OS M2 pro (Silicon) :
slipshow -o file.html file.md --watch
compile: internal error, uncaught exception:
Unix.Unix_error(Unix.EOPNOTSUPP, "inotify_init", "")
Here's some more info :
file $(which slipshow)
/Users/mguiraud/.local/bin/slipshow: Mach-O 64-bit executable arm64
And my mac :
Seems some issue on the arm64 version of slipshow :
slipshow --version
%%VERSION%%
I used slipshow-macos-arm64.tar
decompile it and copied slipshow in the /usr/bin.
What am I missing ?
Thanks for trying slipshow and sorry for the issue! My lack of knowledge of MacOS is guilty here...
Apparently, inotify (the utility that I use to watch changes on the source file) is a Linux only utility. Which is why it does not work on Mac... I should have used the fswatch library, which is cross platform.
One workaround (until I fix this) is to use fswatch (the binary). From what I understand, the syntax would be in your case:
$ fswatch --event Updated file.md | xargs -n 1 slipshow
(the --event is here to prevent some infinite loop where the call of slipshow file.md is caught by fswatch to trigger a new slipshow file.md...)
However, that is a workaround for the --watch argument, not the --serve. So you will have to reload file in the browser to see the changes, or find a workaround for --serve as well... Maybe the live-reload js library?
thanks for the workaround. i found i had to tweak it slightly to make it more robust. i use this bash function now
slipwatch() {
# a workaround for the missing watch functionality
fswatch --print0 --event Updated "$1" | xargs -0 -n 1 slipshow
}
This should be fixed by #65 which has been included in the latest release :tada:.
I'll close, feel free to report if this still does not work!