Open caleb opened 4 years ago
Okay, I've tested this on a fresh install of Catalina and I get the same error.
I installed boot-clj
and oracle-jdk
from home-brew and home-brew cask respectively.
I believe this is caused by a missing property "boot.app.path" as per the stack trace.
I can also confirm the above script works on 10.14.6
That’s what I figured too, and I’ve done some more experiments by installing Mojave, and High Sierra and I am getting the same issue.
I don’t know what changed. I’ve been using these scripts for years on different machines without ever seeing this.
Maybe the boot wrapper program has changed? Or the brew version of boot has a bug? I can try to install boot by hand and see what’s up.
From a clean VM I’m doing:
$ xcode-select —install
$ <install home brew>
$ brew cask install oracle-jdk
$ brew install boot-clj
$ ./hello.clj
It seems like the boot wrapper is supposed to set boot.app.path
but it isn’t getting set like you said.
I’ll do some more tests later.
On Dec 2, 2019, at 1:21 PM, Matthew Ratzke notifications@github.com wrote:
I believe this is caused by a missing property "boot.app.path" as per the stack trace.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.
Okay, I've tracked this down to being an issue with the homebrew installation of boot. When installed manually boot works.
Now to track down what changed in the homebrew formula
EDIT:
Here's the commit that broke it:
https://github.com/Homebrew/homebrew-core/pull/46494/files
Looks like they switched from the shellscript provided by boot-clj (from the boot-bin
repo) to using a homebrew generated wrapper script that calls the boot-clj jar file directly, but doesn't provide the necessary definitions.
I will submit a patch to homebrew to revert to the old installation method.
On two different machines running macOS Catalina 10.15.1 I get a NullPointerException when trying to run boot "shebang" scripts.
I've tried Oracle JDK 11, 12, and 13, and OpenJDK 13.
Inside a docker container the scripts run as expected. These scripts also used to run on macOS a couple months ago. I will try a fresh Catalina install in a VM to make sure it is not a result of having upgraded from Mojave (10.14) on both of my Macs. I will post an update once I'm able to do that.
Here is a script that throws an NPE:
Here is the error I get:
To Reproduce Steps to reproduce the behavior:
./hello.clj
Expected behavior It should print "Hello world"
Versions:
http://boot-clj.com
Sun Dec 01 23:17:27 EST 2019
BOOT_VERSION=2.8.3 BOOT_CLOJURE_VERSION=1.10.1 BOOT_CLOJURE_NAME=org.clojure/clojure