alda 2016-09-06

Evening all, I just tried to dev alda, and as a newcomer to clojure, I've tripped at the first hurdle: https://github.com/alda-lang/alda/issues/262

if anyone can shed light on this, I'd be most grateful

good evening!

are you sure you're on the latest commit? should be ac069b

i am able to run boot dev -a server --port 27713 --alda-fingerprint

commit ac069b795b6a6df988537802aeec493d6448b086
Author: Dave Yarwood <dave.yarwood@gmail.com>
Date:   Mon Sep 5 17:11:33 2016 -0400

    add some quantization for character

latest after a pull for me

yeah, that's the one -- interesting, it must have a different commit sha on your fork

that IS interesting

looking at the stacktrace, i'm guessing this is something boot-related

I bet that's an edge case that catches people out

yeah, it's odd

I'll reinstall boot

i was going to say, can you post the output of boot -V ?

#
#Tue Sep 06 19:47:27 BST 2016
BOOT_CLOJURE_NAME=org.clojure/clojure
BOOT_CLOJURE_VERSION=1.8.0
BOOT_VERSION=2.5.5

looks just like what i have

there is a boot.properties file in the alda repo which ought to keep everyone in sync

so, this could be something weird with your boot setup

i would recommend deleting your boot directory (i think it is ~/.boot by default, but better check to make sure before deleting it!)

it will re-generate when you run boot again

there may something weird cached there

yeah, just did that

right after bootstrapping boot, it seems:

what is your java -version ?

boot dev -a server --port 27713 --alda-fingerprint
Downloading ...
Compiling 12 Java source files...
             clojure.lang.ExceptionInfo: java.lang.NullPointerException
    data: {:file "/tmp/boot.user7170302423713877086.clj", :line 31}
java.util.concurrent.ExecutionException: java.lang.NullPointerException
         java.lang.NullPointerException: 
com.sun.tools.javac.api.JavacTool.getTask  JavacTool.java:  125
com.sun.tools.javac.api.JavacTool.getTask  JavacTool.java:  107
com.sun.tools.javac.api.JavacTool.getTask  JavacTool.java:   64
                                      ...                      
           boot.task.built-in/fn/fn/fn/fn    built_in.clj:  591
                      boot.core/run-tasks        core.clj:  794
                        boot.core/boot/fn        core.clj:  804
      clojure.core/binding-conveyor-fn/fn        core.clj: 1938
                                      ...     

java -version
openjdk version "1.8.0_102"
OpenJDK Runtime Environment (build 1.8.0_102-b14)
OpenJDK 64-Bit Server VM (build 25.102-b14, mixed mode)

and I'm on arch linux, if that affects anything

ok, so if boot repl works for you, and the stacktrace contains javac stuff, i'm betting it's something to do with the javac task

which compiles the java code

it's not strictly necessary if you're not messing with the client code though

like if you're only working with the clojure code

openjdk alright to use?

yeah, it should be

i'm guessing this is an edge case with your particular flavor of JDK and boot's javac task

aha, that seems to work!

spawning workers

awesome! have fun 🙂

brilliant, so I'll be ok now?

think so -- feel free to ping me if you have any more questions. i'm at work now though, so i may not be super available until 2-3 hours from now

ah, apologies

I'll make that PR asap, but it'll be a WIP one, I'll continue the conversation there, if I may?

asynchronous comms

yep, sounds good!

great, thanks so much and have a great day!

BTW, i just saw something interesting that might explain the javac null pointer error: https://github.com/alda-lang/alda/blob/master/build.boot#L62

that (System/getenv "JDK7_BOOTCLASSPATH") thing probably doesn't like when it isn't set

yeah, I'm indeed on 8

i am too, but i have some options in there that will compile alda to be runnable even if the user is on java 7

i didn't think about how that might affect the dev task though

@oatman i just made a quick fix on a branch -- would you mind trying this commit? 66383ce40910fe94ed9080632b80d5f35608c9a0

yep, that's done the trick!

i'll merge that to master

>compiling 12 java source files

it will still fail if you want to do boot build to create the alda executable

but hopefully with the boot dev task setup you shouldn't need to do that

great, sounds like I won't need to do that

yep - ok, i'm off -- cheers!