What errors do you see when you run Make?  It builds out of the box on my Mac like so ('curl -O' OSX's equivalent to 'wget'):

$ curl -O
$ tar -xzvf ecj.tar.gz 
$ cd ecj 
$ make

After running make, you can run the GUI directly from the compiled class files (bypassing the Jar) like so (just make sure you're in the root of the source directory):

$ java ec.display.Console

As to '-sourcefile,' I'm not familiar with that parameter (it doesn't show up in my man pages for either 'java' or 'jar').

Here's how I would try and run the GUI from a Jar with its dependencies in the CLASSPATH (you can put jars directly into the classpath, btw).  But I get an NPE indicated that it fails to load the GUI resources (i.e. icons) properly.  Maybe the Jar build of the GUI console is broken?

$ curl -O 
$ tar -xzvf libraries.tar.gz 
$ java -cp "jar/ecj.23.jar:libraries/*.jar" ec.display.Console
Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(
at ec.display.Console.getPlayButton(
at ec.display.Console.getJToolBar(
at ec.display.Console.getJContentPane(
at ec.display.Console.initialize(
at ec.display.Console.<init>(
at ec.display.Console.main(

On Thu, May 4, 2017 at 12:20 PM, Chris Johnson <[log in to unmask]> wrote:

At this point I'll be happy just to run make and not see errors.  Please bear with me. 

I see JAR files here.  The jar command apparently works much like tar.  I see a directory structure like a tar list function.  The javac command has a -sourcefile option.  The man page says this can be used to allow the accessing of JAR file content, like CLASSPATH but it will do JAR files as well. 

If true then I need to point -sourcefile at the libraries directory where the jar files reside?  Yes?

-sourcefile ~/ecj-base/libraries/*.jar

in my case?

Only experience I have with Java is as a SysAdmin having to maintain five or six old versions of JDK around.  grumble

Did you install the two libraries (JFreeChart and iText) first?  Use the versions in the support libraries distribution on the ECJ website.  It should compile clean.

Note: the GUI is old and not particularly useful at this point.  Run from the command line!



Chris Johnson [log in to unmask]
Ex SysAdmin, now, writer  Not a shred of evidence exists in favor of the idea that life is serious.
(Brendan Gill)


Ph.D student in Computer Science, George Mason University
CFO and Web Director, Journal of Mason Graduate Research