core.typed

ClassNotFoundException clojure.core.cache.CacheProtocol

Details

  • Type: Defect Defect
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Completed
  • Affects Version/s: 0.3.15, 0.3.16
  • Fix Version/s: 0.3.17
  • Component/s: Clojure Checker
  • Labels:
  • Environment:
    OSX 10.11.1, Clojure 1.7.0

Description

Problem

On a fresh "lein new" project with only clojure 1.7.0 and core.typed 0.3.15, (t/check-ns) fails with:

ClassNotFoundException clojure.core.cache.CacheProtocol  java.net.URLClassLoader$1.run (URLClassLoader.java:372)

Solution

This commit generates jars that contains AOT compiled code only for core.typed namespaces, but not for 3rd party libraries (like core.cache). This is because these lines trim out all .class files that are not under core.typed due to problems with CLJS.

We disable AOT compilation completely to work around this issue. We could instead selectively remove CLJS files, we should investigate if this is possible later.

Pull request: 79
Commit: 8aa2df2

  1. lein-conflicts.txt
    10/Nov/15 5:47 PM
    1 kB
    Nathan Sorenson
  2. trace1.txt
    10/Nov/15 5:47 PM
    15 kB
    Nathan Sorenson

Activity

Hide
Nathan Sorenson added a comment -

Forgot to add: Java version 1.8.0_25-b02

Show
Nathan Sorenson added a comment - Forgot to add: Java version 1.8.0_25-b02
Hide
Ambrose Bonnaire-Sergeant added a comment -

I'm pretty sure this is because the current build deletes 3rd party AOT class files, while leaving the core.typed class files intact.

Workaround: [org.clojure/core.typed "0.3.15" :classifier "slim"]

Show
Ambrose Bonnaire-Sergeant added a comment - I'm pretty sure this is because the current build deletes 3rd party AOT class files, while leaving the core.typed class files intact. Workaround: [org.clojure/core.typed "0.3.15" :classifier "slim"]

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: