jank-lang / jank

A Clojure dialect hosted on LLVM with native C++ interop
https://jank-lang.org
Mozilla Public License 2.0
1.6k stars 43 forks source link

The jank compiler is not easily compilable #7

Closed rosshadden closed 2 years ago

rosshadden commented 2 years ago

I'm having trouble building. When I run jank-configure I get an error that lib/magic_enum/include does not exist. Which is true, but I don't know how to make it exist. lib/magic_enum exists but is empty.

jeaye commented 2 years ago

That's a submodule you'd need to pull in with git submodule update --recursive --init. Though, note that building jank is going to be tough right now. I'm also using a custom fork of llvm/clang/cling for LLVM13 support, as described here: https://github.com/root-project/root/pull/10294

Once that gets merged into root, and then into cling, and then into nixpkgs, this will all be much easier. Until then, I'm looking at setting up some automated binary builds for folks to use. But that won't be done until jank is in a better state. Right now, it's in the middle of a rewrite that's been going on since March. Simple things like (if true 1 0) will not compile, let alone a useful program.

Anyway, all of that warning aside, if you want to build cling/clang/llvm, use Nix, and pull the submodules, you should be able to get it going.

jeaye commented 2 years ago

I've added a note to the readme about this. Hopefully saving others some time.

I really appreciate your interest in jank and I'm hoping to get it into a place where you can more easily play with it in the upcoming months. You're welcome to join the #jank channel on the Clojurians Slack here: https://clojurians.slack.com/archives/C03SRH97FDK

pyrmont commented 2 years ago

Is it possible to reopen this issue and then have it close when building is easier? I ask because if this issue is left open, interested users can subscribe to it and then receive a notification when it's closed.

jeaye commented 2 years ago

Sure! I'm afk this week, but I've been working on getting jank going with conan + optional nix, so I can follow up with that when it's ready! Feel free to reopen, or I can this weekend when I'm back home.

On September 5, 2022 9:23:25 PM EDT, Michael Camilleri @.***> wrote:

Is it possible to reopen this issue and then have it close when building is easier? I ask because if this issue is left open, interested users can subscribe to it and then receive a notification when it's closed.

-- Reply to this email directly or view it on GitHub: https://github.com/jank-lang/jank/issues/7#issuecomment-1237564053 You are receiving this because you modified the open/close state.

Message ID: @.***> -- Sent from my Android device with K-9 Mail. Please excuse my brevity.

pyrmont commented 2 years ago

@jeaye Thanks for the quick reply! I think only you can reopen but happy to wait. No urgency on my part. Safe trails!

jeaye commented 2 years ago

I'm very happy to announce that jank is quite easily buildable on Linux and macOS now. We have continuous builds for Ubuntu and macOS and I develop on Arch. The build system has been replaced with vcpkg + cmake and I've hooked in scripts to automatically compile Cling/Clang/LLVM as well. All of this is documented in the readme.

Note that this doesn't mean jank is usable yet. It's not. But at least we're on our way to having nightly binaries uploaded from CI for Ubuntu and macOS.