Hit the same issue using [org.clojure/clojure "1.4.0"] and [incanter "1.4.1"]. Def had a classpath shadowing feel to it.
Did the following in repl to figure out which jar ConcurrencyUtils was coming from:
(.getResource edu.emory.mathcs.utils.ConcurrencyUtils
"/edu/emory/mathcs/utils/ConcurrencyUtils.class")
This pointed at jplasma. Sure enough, jplasma has its own copy of that class that has various methods including getThreadsBeginN_2D missing.
Looking at the deps ("lein pom" followed by "mvn dependency:tree") showed this to be a dependency pulled in by incanter 1.4.1:
[INFO] | +- incanter:incanter-core:jar:1.4.1:compile
[INFO] | | +- org.clojure:math.combinatorics:jar:0.0.3:compile
[INFO] | | \- net.sourceforge.parallelcolt:parallelcolt:jar:0.10.0:compile
[INFO] | | +- net.sourceforge.jplasma:jplasma:jar:1.2.0:compile
Changed the entry for incanter in project.clj to exclude jplasma:
[incanter "1.4.1"
:exclusions [net.sourceforge.jplasma/jplasma]]
This gets ConcurrencyUtils from jtransforms (hence still not from parallelcolt), but at least fixes the matrix problem:
=> (matrix [[1 2 3] [4 5 6] [7 8 9]])
[1.0000 2.0000 3.0000
4.0000 5.0000 6.0000
7.0000 8.0000 9.0000]
Not sure what the impact of the exclusion is. There is an older version of jplasma on clojars which doesn't break matrix, you could try adding that to your project.clj:
[incanter/jplasma "0.9.4"]
These deps clearly need sorting properly though, by someone who understands them.