I am working on getting the Ganymede kernel installed in my Jupyter environment. Followed the instructions from the docs. Mine is an M1 Macbook pro.
when I execute the following command:
$ java -jar ganymede-2.1.2.20230910.jar -i
I get:
ERROR [ main] Install : Cannot run program "/usr/bin/env bash": error=2, No such file or directory
java.io.IOException: Cannot run program "/usr/bin/env bash": error=2, No such file or directory
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1143)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1073)
at ganymede.install.Install.getOutputAsString(Install.java:288)
at ganymede.install.Install.run(Install.java:177)
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:759)
at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:749)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:314)
at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:164)
at ganymede.Launcher.run(Launcher.java:92)
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:759)
at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:749)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:314)
at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:164)
at ganymede.Launcher.main(Launcher.java:60)
Caused by: java.io.IOException: error=2, No such file or directory
at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
at java.base/java.lang.ProcessImpl.<init>(ProcessImpl.java:314)
at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:244)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1110)
... 13 common frames omitted
Any workaround to get this working?
/usr/bin/envis the program name;bashis an argument to it, not part of its name. Find whatever is trying to runenv bashas a single word and fix that thing./usr/bin/envandbash, so as long as you have a normal PATH, the code works just fine when it's correctly interpreted as two separate arguments; the issue is whatever's misusing ProcessBuilder, treating both words as if they were part of the executable name, whereas only the first one is in fact such a name.whichfunction defined. You don't need/usr/bin/envwhen you havewhich, as you can just do a PATH lookup directly yourself.python3, not running/usr/bin/env bashat all -- but this is something that a debugger is probably the best way to investigate)