clojure-android / lein-droid

A Leiningen plugin for building Clojure/Android projects
Eclipse Public License 1.0
645 stars 56 forks source link

Compilation problems #135

Closed katyo closed 9 years ago

katyo commented 9 years ago

I have an exception when I tried to build my first test app:

$ lein new droid test my.test.app
Using lein-droid 0.4.1
Creating project test ...
$ cd ./test
$ lein droid doall
(Warning: profile :android-user not found.)
(Warning: profile :android-user not found.)
Generating manifest...
Generating R.java files...
(Warning: profile :android-user not found.)
Compiling 3 source files to /home/kayo/android/test/target/debug/classes
Compiling Clojure files...
Build type: debug, dynamic compilation: enabled, remote REPL: enabled.
Compiling clojure.zip
Compiling neko.log
Compiling clojure.reflect
Compiling clojure.tools.nrepl.middleware.pr-values
Compiling clojure.stacktrace
Compiling my.test.app.main
Reflection warning, neko/ui.clj:120:13 - call to method getResources can't be resolved (target class is unknown).
Reflection warning, neko/ui.clj:120:13 - call to method getConfiguration can't be resolved (target class is unknown).
Reflection warning, neko/ui.clj:120:13 - reference to field orientation can't be resolved.
Reflection warning, neko/activity.clj:109:29 - reference to field getName can't be resolved.
Reflection warning, my/test/app/main.clj:19:25 - reference to field getText can't be resolved.
Exception in thread "main" java.lang.NullPointerException, compiling:(/tmp/form-init5984305114824579735.clj:1:73)
        at clojure.lang.Compiler.load(Compiler.java:7249)
        at clojure.lang.Compiler.loadFile(Compiler.java:7175)
        at clojure.main$load_script.invoke(main.clj:280)
        at clojure.main$init_opt.invoke(main.clj:285)
        at clojure.main$initialize.invoke(main.clj:313)
        at clojure.main$null_opt.invoke(main.clj:348)
        at clojure.main$main.doInvoke(main.clj:426)
        at clojure.lang.RestFn.invoke(RestFn.java:421)
        at clojure.lang.Var.invoke(Var.java:383)
        at clojure.lang.AFn.applyToHelper(AFn.java:156)
        at clojure.lang.Var.applyTo(Var.java:700)
        at clojure.main.main(main.java:37)
Caused by: java.lang.NullPointerException
        at clojure.lang.Reflector.invokeNoArgInstanceMember(Reflector.java:301)
        at neko.activity$defactivity.doInvoke(activity.clj:109)
        at clojure.lang.RestFn.invoke(RestFn.java:525)
        at clojure.lang.Var.invoke(Var.java:409)
        at clojure.lang.AFn.applyToHelper(AFn.java:178)
        at clojure.lang.Var.applyTo(Var.java:700)
        at clojure.lang.Compiler.macroexpand1(Compiler.java:6641)
        at clojure.lang.Compiler.macroexpand(Compiler.java:6702)
        at clojure.lang.Compiler.compile1(Compiler.java:7318)
        at clojure.lang.Compiler.compile(Compiler.java:7400)
        at clojure.lang.RT.compile(RT.java:406)
        at clojure.lang.RT.load(RT.java:451)
        at clojure.lang.RT.load(RT.java:419)
        at clojure.core$load$fn__5458.invoke(core.clj:5862)
        at clojure.core$load.doInvoke(core.clj:5861)
        at clojure.lang.RestFn.invoke(RestFn.java:408)
        at clojure.core$load_one.invoke(core.clj:5667)
        at clojure.core$compile$fn__5463.invoke(core.clj:5873)
        at clojure.core$compile.invoke(core.clj:5872)
        at user$eval5.invoke(form-init5984305114824579735.clj:1)
        at clojure.lang.Compiler.eval(Compiler.java:6792)
        at clojure.lang.Compiler.eval(Compiler.java:6782)
        at clojure.lang.Compiler.load(Compiler.java:7237)
        ... 11 more
Compilation failed.

I tried different versions of Android SDK (15-24), Android SDK Build Tools (20-22). Also I tried to start on Debian 8 (Jessie) and NixOS (unstable).

Used tools: Debian:

$ java -version
java version "1.7.0_79"
OpenJDK Runtime Environment (IcedTea 2.5.5) (7u79-2.5.5-1~deb8u1)
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)
$ lein --version
(Warning: profile :android-user not found.)
Leiningen 2.5.2 on Java 1.7.0_79 OpenJDK 64-Bit Server VM

NixOS:

$ java -version                                                                                                                               
openjdk version "1.8.0_60"
OpenJDK Runtime Environment (build 1.8.0_60-24)
OpenJDK 64-Bit Server VM (build 25.60-b23, mixed mode)
$ lein --version
(Warning: profile :android-user not found.)
Leiningen 2.5.2 on Java 1.8.0_60 OpenJDK 64-Bit Server VM
alexander-yakushev commented 9 years ago

Yeah, sorry, fixing this right now (in fact, already had). Change Neko dependency to 4.0.0-alpha5, clean and recompile. Duplicate of #134.

katyo commented 9 years ago

Ok, thanks