Could not locate clojure/tools/namespace/find__init.class or clojure/tools/namespace/find.clj on classpath.

896 views
Skip to first unread message

Steve Murphy

unread,
Mar 4, 2017, 2:43:30 PM3/4/17
to Clojure
Hello--

Heard interesting things about clojure, thought I'd play with it, so I downloaded the clojure-1.8.0 zip file,
exploded it, and tried to build it with ant... all this on my ubuntu 16.04 workstation.

I discovered my java installation is a bit incomplete for this... I installed the openjdk-8-jdk and openjdk-8-jdk-headless and ant packages.
I had to update my JAVA_HOME :

declare -x JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

and:

murf@parse1:~/Downloads/clojure-1.8.0$ ant
Buildfile: /home/murf/Downloads/clojure-1.8.0/build.xml

clean:
   [delete] Deleting directory /home/murf/Downloads/clojure-1.8.0/target

init:
    [mkdir] Created dir: /home/murf/Downloads/clojure-1.8.0/target/classes
    [mkdir] Created dir: /home/murf/Downloads/clojure-1.8.0/target/classes/clojure

compile-java:
    [javac] Compiling 167 source files to /home/murf/Downloads/clojure-1.8.0/target/classes
    [javac] warning: [options] bootstrap class path not set in conjunction with -source 1.6
    [javac] Note: Some input files use unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.
    [javac] 1 warning

compile-clojure:
     [java] Compiling clojure.core to /home/murf/Downloads/clojure-1.8.0/target/classes
     [java] Compiling clojure.core.protocols to /home/murf/Downloads/clojure-1.8.0/target/classes
     [java] Compiling clojure.core.server to /home/murf/Downloads/clojure-1.8.0/target/classes
     [java] Compiling clojure.main to /home/murf/Downloads/clojure-1.8.0/target/classes
     [java] Compiling clojure.set to /home/murf/Downloads/clojure-1.8.0/target/classes
     [java] Compiling clojure.edn to /home/murf/Downloads/clojure-1.8.0/target/classes
     [java] Compiling clojure.xml to /home/murf/Downloads/clojure-1.8.0/target/classes
     [java] Compiling clojure.zip to /home/murf/Downloads/clojure-1.8.0/target/classes
     [java] Compiling clojure.inspector to /home/murf/Downloads/clojure-1.8.0/target/classes
     [java] Compiling clojure.walk to /home/murf/Downloads/clojure-1.8.0/target/classes
     [java] Compiling clojure.stacktrace to /home/murf/Downloads/clojure-1.8.0/target/classes
     [java] Compiling clojure.template to /home/murf/Downloads/clojure-1.8.0/target/classes
     [java] Compiling clojure.test to /home/murf/Downloads/clojure-1.8.0/target/classes
     [java] Compiling clojure.test.tap to /home/murf/Downloads/clojure-1.8.0/target/classes
     [java] Compiling clojure.test.junit to /home/murf/Downloads/clojure-1.8.0/target/classes
     [java] Compiling clojure.pprint to /home/murf/Downloads/clojure-1.8.0/target/classes
     [java] Compiling clojure.java.io to /home/murf/Downloads/clojure-1.8.0/target/classes
     [java] Compiling clojure.repl to /home/murf/Downloads/clojure-1.8.0/target/classes
     [java] Compiling clojure.java.browse to /home/murf/Downloads/clojure-1.8.0/target/classes
     [java] Compiling clojure.java.javadoc to /home/murf/Downloads/clojure-1.8.0/target/classes
     [java] Compiling clojure.java.shell to /home/murf/Downloads/clojure-1.8.0/target/classes
     [java] Compiling clojure.java.browse-ui to /home/murf/Downloads/clojure-1.8.0/target/classes
     [java] Compiling clojure.string to /home/murf/Downloads/clojure-1.8.0/target/classes
     [java] Compiling clojure.data to /home/murf/Downloads/clojure-1.8.0/target/classes
     [java] Compiling clojure.reflect to /home/murf/Downloads/clojure-1.8.0/target/classes

build:

compile-tests:
    [mkdir] Created dir: /home/murf/Downloads/clojure-1.8.0/target/test-classes
    [javac] Compiling 3 source files to /home/murf/Downloads/clojure-1.8.0/target/test-classes
    [javac] warning: [options] bootstrap class path not set in conjunction with -source 1.6
    [javac] 1 warning
     [echo] Direct linking = true
     [java] Compiling clojure.test-clojure.protocols.examples to /home/murf/Downloads/clojure-1.8.0/target/test-classes
     [java] Compiling clojure.test-clojure.genclass.examples to /home/murf/Downloads/clojure-1.8.0/target/test-classes
     [java] Compiling clojure.test-clojure.compilation.load-ns to /home/murf/Downloads/clojure-1.8.0/target/test-classes
     [java] Compiling clojure.test-clojure.annotations to /home/murf/Downloads/clojure-1.8.0/target/test-classes

test-example:
     [java] Exception in thread "main" java.io.FileNotFoundException: Could not locate clojure/tools/namespace/find__init.class or clojure/tools/namespace/find.clj on classpath., compiling:(/home/murf/Downloads/clojure-1.8.0/src/script/run_test.clj:2:1)
     [java]     at clojure.lang.Compiler.load(Compiler.java:7391)
     [java]     at clojure.lang.Compiler.loadFile(Compiler.java:7317)
     [java]     at clojure.main$load_script.invokeStatic(main.clj:275)
     [java]     at clojure.main$script_opt.invokeStatic(main.clj:335)
     [java]     at clojure.main$script_opt.invoke(main.clj:330)
     [java]     at clojure.main$main.invokeStatic(main.clj:421)
     [java]     at clojure.main$main.doInvoke(main.clj:384)
     [java]     at clojure.lang.RestFn.invoke(RestFn.java:408)
     [java]     at clojure.lang.Var.invoke(Var.java:379)
     [java]     at clojure.lang.AFn.applyToHelper(AFn.java:154)
     [java]     at clojure.lang.Var.applyTo(Var.java:700)
     [java]     at clojure.main.main(main.java:37)
     [java] Caused by: java.io.FileNotFoundException: Could not locate clojure/tools/namespace/find__init.class or clojure/tools/namespace/find.clj on classpath.
     [java]     at clojure.lang.RT.load(RT.java:456)
     [java]     at clojure.lang.RT.load(RT.java:419)
     [java]     at clojure.core$load$fn__5677.invoke(core.clj:5893)
     [java]     at clojure.core$load.invokeStatic(core.clj:5892)
     [java]     at clojure.core$load.doInvoke(core.clj:5876)
     [java]     at clojure.lang.RestFn.invoke(RestFn.java:408)
     [java]     at clojure.core$load_one.invokeStatic(core.clj:5697)
     [java]     at clojure.core$load_one.invoke(core.clj:5692)
     [java]     at clojure.core$load_lib$fn__5626.invoke(core.clj:5737)
     [java]     at clojure.core$load_lib.invokeStatic(core.clj:5736)
     [java]     at clojure.core$load_lib.doInvoke(core.clj:5717)
     [java]     at clojure.lang.RestFn.applyTo(RestFn.java:142)
     [java]     at clojure.core$apply.invokeStatic(core.clj:648)
     [java]     at clojure.core$load_libs.invokeStatic(core.clj:5774)
     [java]     at clojure.core$load_libs.doInvoke(core.clj:5758)
     [java]     at clojure.lang.RestFn.applyTo(RestFn.java:137)
     [java]     at clojure.core$apply.invokeStatic(core.clj:648)
     [java]     at clojure.core$require.invokeStatic(core.clj:5796)
     [java]     at user$eval3.invokeStatic(run_test.clj:2)
     [java]     at user$eval3.invoke(run_test.clj:2)
     [java]     at clojure.lang.Compiler.eval(Compiler.java:6927)
     [java]     at clojure.lang.Compiler.load(Compiler.java:7379)
     [java]     ... 11 more

BUILD FAILED
/home/murf/Downloads/clojure-1.8.0/build.xml:113: Java returned: 1

Total time: 17 seconds

What did I miss?

OH- ONE OTHER THING:

the readme says:

To build locally with Ant: 

   One-time setup:    ./antsetup.sh
   To build:          ant

I noted that the zip file doesn't seem to contain the file antsetup.sh; is this a bug
in packaging the release, or in the readme?

murf



Andy Fingerhut

unread,
Mar 4, 2017, 2:53:58 PM3/4/17
to clo...@googlegroups.com
The clojure-1.8.0.zip file should also contain a pre-built JAR file named clojure-1.8.0.jar, if you want to just use that and run with it.

I do not know if it is intentional or a mistake that some of the files necessary to build are not included in that zip file.  It may be intentional, with the idea that the zip file is what you get if you want everything already built, without having to do so yourself.

If you want to build Clojure yourself from source, one way that works is to get all of the files in the git repository, e.g. with this command:


Andy

--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@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+unsubscribe@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+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Gregg Reynolds

unread,
Mar 4, 2017, 3:06:39 PM3/4/17
to clo...@googlegroups.com


On Mar 4, 2017 1:43 PM, "Steve Murphy" <mu...@parsetree.com> wrote:
Hello--

Heard interesting things about clojure, thought I'd play with it, so I downloaded the clojure-1.8.0 zip file,
exploded it, and tried to build it with ant... all this on my ubuntu 16.04 workstation.

Welcome to Clojure. If you want to play with the language, building it is about the last thing you want to do.  You can download the jar, but the best way to get going is to use one of the std build systems that take care of all the housekeeping. I've never manually downloaded Clojure, always let the tools deal with that. The most popular by far are https://github.com/boot-clj/boot and https://leiningen.org.  with either you can start coding inmediately.

hth, g

Alex Miller

unread,
Mar 4, 2017, 5:33:27 PM3/4/17
to Clojure

On Saturday, March 4, 2017 at 1:53:58 PM UTC-6, Andy Fingerhut wrote:
The clojure-1.8.0.zip file should also contain a pre-built JAR file named clojure-1.8.0.jar, if you want to just use that and run with it.

Most people obtain the jar by using a build tool that downloads the pre-built jar from the Maven central repo. Or you can just get the jar from the zip as Andy indicates. 

I do not know if it is intentional or a mistake that some of the files necessary to build are not included in that zip file.  It may be intentional, with the idea that the zip file is what you get if you want everything already built, without having to do so yourself.

tools.namespace is used for some testing utilities and not for the src and so it not included in the jar (same as test.generative, test.check, etc).
 
If you want to build Clojure yourself from source, one way that works is to get all of the files in the git repository, e.g. with this command:


This is the best and recommended way to get the Clojure source. Once you do, you should be able to build it with Maven by doing 

     mvn clean package 

or run the tests with

    mvn clean test 

I run these pretty much every day and the build box runs them on every commit so you should always expect them to work.

Alex Miller

unread,
Mar 4, 2017, 5:34:54 PM3/4/17
to Clojure

Welcome to Clojure. If you want to play with the language, building it is about the last thing you want to do. 

Actually, it's quite fun to add debugging to parts of Clojure and use that modified version and I think it's nice that it is so easy to hack on if you like.

Gregg Reynolds

unread,
Mar 4, 2017, 5:41:45 PM3/4/17
to clo...@googlegroups.com


On Mar 4, 2017 4:34 PM, "Alex Miller" <al...@puredanger.com> wrote:

Welcome to Clojure. If you want to play with the language, building it is about the last thing you want to do. 

Actually, it's quite fun to add debugging to parts of Clojure and use that modified version and I think it's nice that it is so easy to hack on if you like.

sure, but you are Alex Miller! ;)
Reply all
Reply to author
Forward
0 new messages