This is a different though related problem to http://dev.clojure.org/jira/browse/CLJ-1315
That problem was trying to solve "require" un-necessarily importing classes, your example is a type hint with a similar issue. I do think you're correct, it looks like a reasonable change, but it would require some investigative work to see if it breaks anything. --Aaron On Thu, Jan 22, 2015 at 1:23 PM, Adam Clements <adam.cleme...@gmail.com> wrote: > Just to follow up, doing the obvious (though perhaps naïve) fix of > changing forName to forNameNonLoading in the referenced maybeClass does > seem to fix the issue and I can now AOT compile my application without > needing the binaries for this machine. I don't know whether this change > would have any other repercussions though. > > > On Thu Jan 22 2015 at 17:49:37 Adam Clements <adam.cleme...@gmail.com> > wrote: > >> I think I am seeing static initialisers being run at AOT time when the >> class is used as a type hint tag. This isn't a regression from previous >> versions of clojure, but with the forNameNonLoading changes that have gone >> in recently I was under the impression that this shouldn't be a problem any >> more. >> >> My specific case has a static initialiser which loads a native library >> (and I don't have the appropriate binary architecture for the machine doing >> the compilation). >> >> The function definition >> (defn some-function [^com.my_class.ExampleWhichLoadsNative x] ...) >> >> fails at AOT compile time with the (abridged) stack trace containing: >> ... >> at clojure.lang.Compiler.analyzeSeq(Compiler.java:6715) >> at clojure.lang.Compiler.analyze(Compiler.java:6499) >> at clojure.lang.Compiler.analyzeSeq(Compiler.java:6696) >> at clojure.lang.Compiler.analyze(Compiler.java:6499) >> at clojure.lang.Compiler.access$200(Compiler.java:38) >> at clojure.lang.Compiler$DefExpr$Parser.parse(Compiler.java:560) >> at clojure.lang.Compiler.analyzeSeq(Compiler.java:6708) >> at clojure.lang.Compiler.analyze(Compiler.java:6499) >> at clojure.lang.Compiler.analyze(Compiler.java:6460) >> at clojure.lang.Compiler.compile1(Compiler.java:7285) >> at clojure.lang.Compiler.compile(Compiler.java:7356) >> at clojure.lang.RT.compile(RT.java:406) >> ... >> Caused by: >> ... >> <my class clinit> >> at java.lang.Class.forName0(Native Method) >> at java.lang.Class.forName(Class.java:274) >> at clojure.lang.RT.classForName(RT.java:2127) >> at clojure.lang.RT.classForName(RT.java:2136) >> at clojure.lang.Compiler$HostExpr.maybeClass(Compiler.java:1000) >> at clojure.lang.Compiler$HostExpr.tagToClass(Compiler.java:1092) >> at clojure.lang.Compiler.tagClass(Compiler.java:8187) >> at clojure.lang.Compiler$FnMethod.parse(Compiler.java:5218) >> at clojure.lang.Compiler$FnExpr.parse(Compiler.java:3900) >> at clojure.lang.Compiler.analyzeSeq(Compiler.java:6706) >> ... >> >> On Wed Jan 21 2015 at 23:58:28 Alan Moore <kahunamo...@gmail.com> wrote: >> >>> Sweet - thanks for the reply. I hope I didn't sound impatient... I'm >>> very grateful for your hard work on it. I'd offer to help but I'm sure it >>> is beyond me and my crazy-mad Clojure skillz(tm). I think I'll leave the >>> hard stuff to the real experts :-) >>> >>> Alan >>> >>> >>> On Wednesday, January 21, 2015 at 6:07:13 AM UTC-8, Alex Miller wrote: >>>> >>>> I am actively working on an updated set of patches, hopefully for >>>> inclusion in the next alpha. >>>> >>>> Alex >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Clojure" group. >>> To post to this group, send email to clojure@googlegroups.com >>> Note that posts from new members are moderated - please be patient with >>> your first post. >>> To unsubscribe from this group, send email to >>> clojure+unsubscr...@googlegroups.com >>> For more options, visit this group at >>> http://groups.google.com/group/clojure?hl=en >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "Clojure" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to clojure+unsubscr...@googlegroups.com. >>> For more options, visit https://groups.google.com/d/optout. >>> >> -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > --- > You received this message because you are subscribed to the Google Groups > "Clojure" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.