Description
I spent a little time trying to get click
running on MacOS, and ran into a few issues.
Vanilla MacOS
First, I tried running the script from my local shell, and ran into some errors, mostly to do with incompatible versions of system tools. Here they are, in the order I hit them.
click
:mktemp: illegal option
macos'mktemp
doesn't support the--tempdir
option.
workaround: remove the option, seems to proceed fine.click-format
:line 103: syntax error near unexpected token ;&
macos' defaultbash
is quite old (3.2
) and doesn't support this syntax
workaround: duplicate the last case so fallthrough isn't needednc: invalid option -- W
surprise: macos' version of netcat is quite old and doesn't support this option
workaround: none; with a cursory search i was unable to find a compatible version of netcat to use
Local Ubuntu VM
Next, I tried 59B5 running both my ship and the script via on a local Ubuntu (22.10 kinetic) VM, powered by Orbstack. The script ran, but the command failed inside Urbit with this output:
./urbit-tools/pkg/click/click -k ./ships/zod $'=/ m (strand ,vase) ;< ~ bind:m (poke [~zod %hood] %helm-hi !>(\\\'\\\')) (pure:m !>(\\\'success\\\'))'
loom: mapped 2048MB
lite: arvo formula 2a2274c9
lite: core 4bb376f0
lite: final state 4bb376f0
eval (cue, newt):
[0 %bail 0xffffffff %newt-decode]
On debugging, I found that even though the input was formatted correctly on the command line, the value inside the script was malformed -- all double spaces had been replaced with single, causing the bail. My hunch is that this was caused by some issue in Orbstack's terminal integration, but am reporting here for posterity.
Workaround
I ended up running this on a vps running ubuntu 22.10, where it worked with no issue.