Skip to content

Instantly share code, notes, and snippets.

@sampottinger
Last active July 23, 2020 12:55
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sampottinger/939441d7277d318189ec81844e3ca516 to your computer and use it in GitHub Desktop.
Save sampottinger/939441d7277d318189ec81844e3ca516 to your computer and use it in GitHub Desktop.
Processing build instructions

Building Processing

Processing's ant-based build chain can create executables natively runnable for Linux, Mac, and Windows. Before continuing, please be aware that you are agreeing to the license terms and that the developers do not make any guarantee or warranty (implicit or express) for any purpose.



Pre-Requisites

Although Processing will download and use its own copy of OpenJDK and OpenJFX, the build chain itself requires Java 11+ and Ant in addition to getting a copy of the Processing source code.


Getting Java and Ant
You can choose to install these yourself or use the following guides below:


Getting Processing
One will also need to clone the repository for Processing itself. Some users who are simply building Processing but not contributing to it may prefer a "shallow" clone which does not copy the full history of the repository:

git clone --depth 1 https://github.com/processing/processing.git

Users that are developing for the project may require a full clone:

git clone https://github.com/processing/processing.git


Building

One can either build for your own operating system (the "host" operating system) or, starting with Processing 4, one can "cross-build" from a host nix system (linux or mac) to any other "target os" build.


Overview of steps
Before actually building, it is worth outlining the steps of the build process briefly:

  • The modules outside of build are built first. During this process, a number of automated unit tests will be executed with results displayed on the command line.
  • The build module itself will built and results will go into build/{os}/work where {os} is the operating system for which you are building like "windows". Note that both ARM and x64 builds go into the same OS directory.
  • During the build of build, the OpenJDK and OpenJFX will be downloaded with their binaries copied into the distribution. If building for the first time, these automated downloads from AdoptOpenJDK and Gluon may take some time.

Note that one may need to "clean" via ant linux-clean or equivalent.


Building for the "host" operating system
If building for your own system, navigate to where where you pulled the Processing source and execute ant build on the command line.

$ cd [path to processing repository]
$ cd build
$ ant build

The results will go into build/{os}/work where {os} matches the "host" operating system.


Executing a "cross-build"
If building for another operating system (if you are on Linux and want to build for Windows), there are a number of "cross-build" targets available. Note that one can only execute "cross-builds" on a *nix system (Linux or Mac) but "cross-builds" are available for all targeted operating systems.

For example, here is how to execute a cross-build "targeting" Windows (the results will go into build/windows/work):

$ cd [path to processing repository]
$ cd build
$ ant cross-build-windows

The following cross-build targets are available:

  • cross-build-macosx
  • cross-build-linux-x64
  • cross-build-linux-aarch64
  • cross-build-windows


Running

The build can be run directly or through Ant.


Executing via Ant
If built for the host operating system, one can use the ant run target as shown below:

$ cd [path to processing repository]
$ cd build
$ ant run

If not yet built, this will cause Processing to be built prior to running.


Using Executable Directly
Regardless of if cross-building, there are executables generated that can be run directly on the target operating system:

  • Mac: the .app file can be executed via a double click at build/macosx/work/Processing.app or $ open build/macosx/work/Processing.app.
  • Linux: The resulting executable ends up at build/linux/work/processing.
  • Windows: The resulting executable ends up at build/windows/work/processing.exe.


Distributing

A number of targets are provided for distribution of executables. If the executable is not yet built, it will be created prior to running the dist target.


Available targets:

  • macosx-dist
  • windows-dist
  • linux-dist

One can also use ant dist to distribute for the host OS.


Examples

For the host system, one can distribute like so:

$ cd [path to processing repository]
$ cd build
$ ant dist

From a nix system, one can cross-build and distribute for linux like so:

$ cd [path to processing repository]
$ cd build
$ ant linux-dist

Regardless, the distributable ends up in build/{os}/work where {os} is the target OS.


Code Signing
At present, only Mac builds require code signing to avoid an "App Gateway" issue. This is not executed by default by ant dist or ant macosx-dist. One can sign the resulting .app file though via:

$ /usr/bin/codesign --force --sign "Developer ID Application: Certificate Common Name" Processing.app/Contents/PlugIns/jdk-...
$ /usr/bin/codesign --force --sign "Developer ID Application: Certificate Common Name" Processing.app

Note that one will need to complete the jdk-... string to be something like jdk-11.0.1+13 depending on the build. Anyway, this will require an Apple Developer ID.

This is not strictly required especially if you are using your own app build.

@monkstone
Copy link

@sampottinger it might be worth mentioning that it's a good idea to do ant linux-clean etc to remove stale builds (I needed to do this to get antlr working again on my last build)

@hamoid
Copy link

hamoid commented May 2, 2019

My first build attempt gives me this:

ant build output
Buildfile: /home/fp/src/P5/processing/build/build.xml

build:

ignore-tools:
     [echo] Ignore the 'Unable to locate tools.jar' message.
     [echo] The tools.jar file is not required to build Processing.

check-linux-arm32:

check-linux-arm64:

revision-check:

linux-check-os:

jdk-check:
     [echo] Checking for linux/jdk-0u1_linux_64.tgz
     [echo] Result: true

downloader-setup:

test-compile:

test:
    [junit] Testsuite: AdoptOpenJdkDownloadUrlGeneratorTest
    [junit] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.01 sec
    [junit] 
    [junit] Testsuite: OracleDownloadUrlGeneratorTest
    [junit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec
    [junit] 

compile:

dist:

jdk-download:

jfx-check:

jfx-download:

subprojects-build:

methods-check:

methods-build:

test-compile:
  [methods] No changes to PApplet API.

clean-pre-test:
   [delete] Deleting directory /home/fp/src/P5/processing/core/resource-test/scratch

test:
    [junit] Testsuite: processing.core.util.image.ImageLoadFacadeTest
CLASSPATH element /home/fp/src/P5/processing/core/library/javafx.properties is not a JAR.
CLASSPATH element /home/fp/src/P5/processing/core/library/javafx.properties is not a JAR.
CLASSPATH element /home/fp/src/P5/processing/core/library/javafx.properties is not a JAR.
    [junit] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.401 sec
    [junit] 
    [junit] Testsuite: processing.core.util.image.ImageSaveFacadeTest
CLASSPATH element /home/fp/src/P5/processing/core/library/javafx.properties is not a JAR.
CLASSPATH element /home/fp/src/P5/processing/core/library/javafx.properties is not a JAR.
CLASSPATH element /home/fp/src/P5/processing/core/library/javafx.properties is not a JAR.
CLASSPATH element /home/fp/src/P5/processing/core/library/javafx.properties is not a JAR.
CLASSPATH element /home/fp/src/P5/processing/core/library/javafx.properties is not a JAR.
    [junit] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.035 sec
    [junit] 
    [junit] Testsuite: processing.core.util.image.load.AwtImageLoadStrategyTest
    [junit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec
    [junit] 
    [junit] Testsuite: processing.core.util.image.load.Base64StringImageLoadStrategyTest
    [junit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006 sec
    [junit] 
    [junit] Testsuite: processing.core.util.image.load.FallbackImageLoadStrategyTest
    [junit] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 sec
    [junit] 
    [junit] ------------- Standard Error -----------------
    [junit] java.lang.RuntimeException: test exception
    [junit] 	at processing.core.util.image.load.FallbackImageLoadStrategyTest.lambda$testLoadSecond$2(FallbackImageLoadStrategyTest.java:31)
    [junit] 	at processing.core.util.image.load.FallbackImageLoadStrategy.load(FallbackImageLoadStrategy.java:61)
    [junit] 	at processing.core.util.image.load.FallbackImageLoadStrategyTest.testLoadSecond(FallbackImageLoadStrategyTest.java:42)
    [junit] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    [junit] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    [junit] 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    [junit] 	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    [junit] 	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
    [junit] 	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
    [junit] 	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
    [junit] 	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
    [junit] 	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
    [junit] 	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
    [junit] 	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
    [junit] 	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
    [junit] 	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
    [junit] 	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
    [junit] 	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
    [junit] 	at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
    [junit] 	at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39)
    [junit] 	at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:534)
    [junit] 	at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.executeInVM(JUnitTask.java:1617)
    [junit] 	at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.execute(JUnitTask.java:1039)
    [junit] 	at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.executeOrQueue(JUnitTask.java:2162)
    [junit] 	at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.execute(JUnitTask.java:853)
    [junit] 	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
    [junit] 	at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    [junit] 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    [junit] 	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    [junit] 	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
    [junit] 	at org.apache.tools.ant.Task.perform(Task.java:350)
    [junit] 	at org.apache.tools.ant.Target.execute(Target.java:449)
    [junit] 	at org.apache.tools.ant.Target.performTasks(Target.java:470)
    [junit] 	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1388)
    [junit] 	at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:36)
    [junit] 	at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
    [junit] 	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:437)
    [junit] 	at org.apache.tools.ant.taskdefs.SubAnt.execute(SubAnt.java:306)
    [junit] 	at org.apache.tools.ant.taskdefs.SubAnt.execute(SubAnt.java:225)
    [junit] 	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
    [junit] 	at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    [junit] 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    [junit] 	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    [junit] 	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
    [junit] 	at org.apache.tools.ant.Task.perform(Task.java:350)
    [junit] 	at org.apache.tools.ant.Target.execute(Target.java:449)
    [junit] 	at org.apache.tools.ant.Target.performTasks(Target.java:470)
    [junit] 	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1388)
    [junit] 	at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:36)
    [junit] 	at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
    [junit] 	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:437)
    [junit] 	at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
    [junit] 	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
    [junit] 	at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    [junit] 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    [junit] 	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    [junit] 	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
    [junit] 	at org.apache.tools.ant.Task.perform(Task.java:350)
    [junit] 	at org.apache.tools.ant.Target.execute(Target.java:449)
    [junit] 	at org.apache.tools.ant.Target.performTasks(Target.java:470)
    [junit] 	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1388)
    [junit] 	at org.apache.tools.ant.Project.executeTarget(Project.java:1361)
    [junit] 	at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    [junit] 	at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
    [junit] 	at org.apache.tools.ant.Main.runBuild(Main.java:834)
    [junit] 	at org.apache.tools.ant.Main.startAnt(Main.java:223)
    [junit] 	at org.apache.tools.ant.launch.Launcher.run(Launcher.java:284)
    [junit] 	at org.apache.tools.ant.launch.Launcher.main(Launcher.java:101)
    [junit] ------------- ---------------- ---------------
    [junit] Testsuite: processing.core.util.image.load.ImageIoImageLoadStrategyTest
    [junit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.008 sec
    [junit] 
    [junit] Testsuite: processing.core.util.image.load.ImageLoadUtilTest
    [junit] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec
    [junit] 
    [junit] Testsuite: processing.core.util.image.load.TgaImageLoadStrategyTest
    [junit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec
    [junit] 
    [junit] Testsuite: processing.core.util.image.load.TiffImageLoadStrategyTest
    [junit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec
    [junit] 
    [junit] Testsuite: processing.core.util.image.save.ImageWriterImageSaveStrategyTest
    [junit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec
    [junit] 
    [junit] Testsuite: processing.core.util.image.save.TgaImageSaveStrategyTest
    [junit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec
    [junit] 
    [junit] Testsuite: processing.core.util.image.save.TiffImageSaveStrategyTest
    [junit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec
    [junit] 
    [junit] Testsuite: processing.core.util.io.InputFactoryTest
    [junit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec
    [junit] 
    [junit] Testsuite: processing.core.util.io.PathUtilTest
    [junit] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec
    [junit] 

compile:
  [methods] No changes to PApplet API.

build:

compile:
   [delete] Deleting: /home/fp/src/P5/processing/app/pde.jar

build:
      [jar] Building jar: /home/fp/src/P5/processing/app/pde.jar

compile:

build:

compile:

build:

compile:

build:

compile:

build:

compile:

build:

compile:

build:

preproc:
     [java] warning(109): /home/fp/src/P5/processing/java/src/processing/mode/java/preproc/JavaParser.g4:32:0: options ignored in imported grammar JavaParser

test-compile:
    [javac] Compiling 168 source files to /home/fp/src/P5/processing/java/bin-test
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:6: error: package antlr does not exist
    [javac] import antlr.TokenStreamException;
    [javac]             ^
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:7: error: package antlr does not exist
    [javac] import antlr.TokenStreamIOException;
    [javac]             ^
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:8: error: package antlr does not exist
    [javac] import antlr.TokenStreamRecognitionException;
    [javac]             ^
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:9: error: package antlr does not exist
    [javac] import antlr.CharStreamException;
    [javac]             ^
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:10: error: package antlr does not exist
    [javac] import antlr.CharStreamIOException;
    [javac]             ^
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:11: error: package antlr does not exist
    [javac] import antlr.ANTLRException;
    [javac]             ^
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:14: error: package antlr does not exist
    [javac] import antlr.CharScanner;
    [javac]             ^
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:15: error: package antlr does not exist
    [javac] import antlr.InputBuffer;
    [javac]             ^
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:16: error: package antlr does not exist
    [javac] import antlr.ByteBuffer;
    [javac]             ^
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:17: error: package antlr does not exist
    [javac] import antlr.CharBuffer;
    [javac]             ^
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:18: error: package antlr does not exist
    [javac] import antlr.Token;
    [javac]             ^
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:19: error: package antlr does not exist
    [javac] import antlr.CommonToken;
    [javac]             ^
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:20: error: package antlr does not exist
    [javac] import antlr.RecognitionException;
    [javac]             ^
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:21: error: package antlr does not exist
    [javac] import antlr.NoViableAltForCharException;
    [javac]             ^
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:22: error: package antlr does not exist
    [javac] import antlr.MismatchedCharException;
    [javac]             ^
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:23: error: package antlr does not exist
    [javac] import antlr.TokenStream;
    [javac]             ^
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:24: error: package antlr does not exist
    [javac] import antlr.ANTLRHashString;
    [javac]             ^
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:25: error: package antlr does not exist
    [javac] import antlr.LexerSharedInputState;
    [javac]             ^
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:26: error: package antlr.collections.impl does not exist
    [javac] import antlr.collections.impl.BitSet;
    [javac]                              ^
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:27: error: package antlr does not exist
    [javac] import antlr.SemanticException;
    [javac]             ^
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:30: error: package antlr does not exist
    [javac] public class JavaLexer extends antlr.CharScanner implements JavaTokenTypes, TokenStream
    [javac]                                     ^
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:30: error: cannot find symbol
    [javac] public class JavaLexer extends antlr.CharScanner implements JavaTokenTypes, TokenStream
    [javac]                                                                             ^
    [javac]   symbol: class TokenStream
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:52: error: cannot find symbol
    [javac] public JavaLexer(InputBuffer ib) {
    [javac]                  ^
    [javac]   symbol:   class InputBuffer
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:55: error: cannot find symbol
    [javac] public JavaLexer(LexerSharedInputState state) {
    [javac]                  ^
    [javac]   symbol:   class LexerSharedInputState
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:114: error: cannot find symbol
    [javac] public Token nextToken() throws TokenStreamException {
    [javac]        ^
    [javac]   symbol:   class Token
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:114: error: cannot find symbol
    [javac] public Token nextToken() throws TokenStreamException {
    [javac]                                 ^
    [javac]   symbol:   class TokenStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:412: error: cannot find symbol
    [javac] 	public final void mQUESTION(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                         ^
    [javac]   symbol:   class RecognitionException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:412: error: cannot find symbol
    [javac] 	public final void mQUESTION(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                               ^
    [javac]   symbol:   class CharStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:412: error: cannot find symbol
    [javac] 	public final void mQUESTION(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                                                    ^
    [javac]   symbol:   class TokenStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:425: error: cannot find symbol
    [javac] 	public final void mLPAREN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                       ^
    [javac]   symbol:   class RecognitionException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:425: error: cannot find symbol
    [javac] 	public final void mLPAREN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                             ^
    [javac]   symbol:   class CharStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:425: error: cannot find symbol
    [javac] 	public final void mLPAREN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                                                  ^
    [javac]   symbol:   class TokenStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:438: error: cannot find symbol
    [javac] 	public final void mRPAREN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                       ^
    [javac]   symbol:   class RecognitionException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:438: error: cannot find symbol
    [javac] 	public final void mRPAREN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                             ^
    [javac]   symbol:   class CharStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:438: error: cannot find symbol
    [javac] 	public final void mRPAREN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                                                  ^
    [javac]   symbol:   class TokenStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:451: error: cannot find symbol
    [javac] 	public final void mLBRACK(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                       ^
    [javac]   symbol:   class RecognitionException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:451: error: cannot find symbol
    [javac] 	public final void mLBRACK(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                             ^
    [javac]   symbol:   class CharStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:451: error: cannot find symbol
    [javac] 	public final void mLBRACK(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                                                  ^
    [javac]   symbol:   class TokenStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:464: error: cannot find symbol
    [javac] 	public final void mRBRACK(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                       ^
    [javac]   symbol:   class RecognitionException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:464: error: cannot find symbol
    [javac] 	public final void mRBRACK(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                             ^
    [javac]   symbol:   class CharStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:464: error: cannot find symbol
    [javac] 	public final void mRBRACK(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                                                  ^
    [javac]   symbol:   class TokenStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:477: error: cannot find symbol
    [javac] 	public final void mLCURLY(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                       ^
    [javac]   symbol:   class RecognitionException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:477: error: cannot find symbol
    [javac] 	public final void mLCURLY(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                             ^
    [javac]   symbol:   class CharStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:477: error: cannot find symbol
    [javac] 	public final void mLCURLY(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                                                  ^
    [javac]   symbol:   class TokenStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:490: error: cannot find symbol
    [javac] 	public final void mRCURLY(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                       ^
    [javac]   symbol:   class RecognitionException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:490: error: cannot find symbol
    [javac] 	public final void mRCURLY(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                             ^
    [javac]   symbol:   class CharStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:490: error: cannot find symbol
    [javac] 	public final void mRCURLY(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                                                  ^
    [javac]   symbol:   class TokenStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:503: error: cannot find symbol
    [javac] 	public final void mCOLON(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                      ^
    [javac]   symbol:   class RecognitionException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:503: error: cannot find symbol
    [javac] 	public final void mCOLON(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                            ^
    [javac]   symbol:   class CharStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:503: error: cannot find symbol
    [javac] 	public final void mCOLON(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                                                 ^
    [javac]   symbol:   class TokenStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:516: error: cannot find symbol
    [javac] 	public final void mCOMMA(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                      ^
    [javac]   symbol:   class RecognitionException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:516: error: cannot find symbol
    [javac] 	public final void mCOMMA(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                            ^
    [javac]   symbol:   class CharStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:516: error: cannot find symbol
    [javac] 	public final void mCOMMA(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                                                 ^
    [javac]   symbol:   class TokenStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:529: error: cannot find symbol
    [javac] 	public final void mASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                       ^
    [javac]   symbol:   class RecognitionException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:529: error: cannot find symbol
    [javac] 	public final void mASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                             ^
    [javac]   symbol:   class CharStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:529: error: cannot find symbol
    [javac] 	public final void mASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                                                  ^
    [javac]   symbol:   class TokenStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:542: error: cannot find symbol
    [javac] 	public final void mEQUAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                      ^
    [javac]   symbol:   class RecognitionException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:542: error: cannot find symbol
    [javac] 	public final void mEQUAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                            ^
    [javac]   symbol:   class CharStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:542: error: cannot find symbol
    [javac] 	public final void mEQUAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                                                 ^
    [javac]   symbol:   class TokenStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:555: error: cannot find symbol
    [javac] 	public final void mLNOT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                     ^
    [javac]   symbol:   class RecognitionException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:555: error: cannot find symbol
    [javac] 	public final void mLNOT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                           ^
    [javac]   symbol:   class CharStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:555: error: cannot find symbol
    [javac] 	public final void mLNOT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                                                ^
    [javac]   symbol:   class TokenStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:568: error: cannot find symbol
    [javac] 	public final void mBNOT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                     ^
    [javac]   symbol:   class RecognitionException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:568: error: cannot find symbol
    [javac] 	public final void mBNOT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                           ^
    [javac]   symbol:   class CharStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:568: error: cannot find symbol
    [javac] 	public final void mBNOT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                                                ^
    [javac]   symbol:   class TokenStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:581: error: cannot find symbol
    [javac] 	public final void mNOT_EQUAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                          ^
    [javac]   symbol:   class RecognitionException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:581: error: cannot find symbol
    [javac] 	public final void mNOT_EQUAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                                ^
    [javac]   symbol:   class CharStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:581: error: cannot find symbol
    [javac] 	public final void mNOT_EQUAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                                                     ^
    [javac]   symbol:   class TokenStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:594: error: cannot find symbol
    [javac] 	public final void mDIV(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                    ^
    [javac]   symbol:   class RecognitionException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:594: error: cannot find symbol
    [javac] 	public final void mDIV(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                          ^
    [javac]   symbol:   class CharStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:594: error: cannot find symbol
    [javac] 	public final void mDIV(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                                               ^
    [javac]   symbol:   class TokenStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:607: error: cannot find symbol
    [javac] 	public final void mDIV_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                           ^
    [javac]   symbol:   class RecognitionException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:607: error: cannot find symbol
    [javac] 	public final void mDIV_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                                 ^
    [javac]   symbol:   class CharStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:607: error: cannot find symbol
    [javac] 	public final void mDIV_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                                                      ^
    [javac]   symbol:   class TokenStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:620: error: cannot find symbol
    [javac] 	public final void mPLUS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                     ^
    [javac]   symbol:   class RecognitionException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:620: error: cannot find symbol
    [javac] 	public final void mPLUS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                           ^
    [javac]   symbol:   class CharStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:620: error: cannot find symbol
    [javac] 	public final void mPLUS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                                                ^
    [javac]   symbol:   class TokenStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:633: error: cannot find symbol
    [javac] 	public final void mPLUS_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                            ^
    [javac]   symbol:   class RecognitionException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:633: error: cannot find symbol
    [javac] 	public final void mPLUS_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                                  ^
    [javac]   symbol:   class CharStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:633: error: cannot find symbol
    [javac] 	public final void mPLUS_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                                                       ^
    [javac]   symbol:   class TokenStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:646: error: cannot find symbol
    [javac] 	public final void mINC(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                    ^
    [javac]   symbol:   class RecognitionException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:646: error: cannot find symbol
    [javac] 	public final void mINC(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                          ^
    [javac]   symbol:   class CharStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:646: error: cannot find symbol
    [javac] 	public final void mINC(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                                               ^
    [javac]   symbol:   class TokenStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:659: error: cannot find symbol
    [javac] 	public final void mMINUS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                      ^
    [javac]   symbol:   class RecognitionException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:659: error: cannot find symbol
    [javac] 	public final void mMINUS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                            ^
    [javac]   symbol:   class CharStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:659: error: cannot find symbol
    [javac] 	public final void mMINUS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                                                 ^
    [javac]   symbol:   class TokenStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:672: error: cannot find symbol
    [javac] 	public final void mMINUS_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                             ^
    [javac]   symbol:   class RecognitionException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:672: error: cannot find symbol
    [javac] 	public final void mMINUS_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                                   ^
    [javac]   symbol:   class CharStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:672: error: cannot find symbol
    [javac] 	public final void mMINUS_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                                                        ^
    [javac]   symbol:   class TokenStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:685: error: cannot find symbol
    [javac] 	public final void mDEC(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                    ^
    [javac]   symbol:   class RecognitionException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:685: error: cannot find symbol
    [javac] 	public final void mDEC(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                          ^
    [javac]   symbol:   class CharStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:685: error: cannot find symbol
    [javac] 	public final void mDEC(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                                               ^
    [javac]   symbol:   class TokenStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:698: error: cannot find symbol
    [javac] 	public final void mSTAR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                     ^
    [javac]   symbol:   class RecognitionException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:698: error: cannot find symbol
    [javac] 	public final void mSTAR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                           ^
    [javac]   symbol:   class CharStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:698: error: cannot find symbol
    [javac] 	public final void mSTAR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                                                ^
    [javac]   symbol:   class TokenStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:711: error: cannot find symbol
    [javac] 	public final void mSTAR_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                            ^
    [javac]   symbol:   class RecognitionException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:711: error: cannot find symbol
    [javac] 	public final void mSTAR_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                                  ^
    [javac]   symbol:   class CharStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:711: error: cannot find symbol
    [javac] 	public final void mSTAR_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                                                       ^
    [javac]   symbol:   class TokenStreamException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:724: error: cannot find symbol
    [javac] 	public final void mMOD(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                    ^
    [javac]   symbol:   class RecognitionException
    [javac]   location: class JavaLexer
    [javac] /home/fp/src/P5/processing/java/generated/processing/mode/java/preproc/JavaLexer.java:724: error: cannot find symbol
    [javac] 	public final void mMOD(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    [javac] 	                                                                          ^
    [javac]   symbol:   class CharStreamException
    [javac]   location: class JavaLexer
    [javac] Note: Some input files use or override a deprecated API.
    [javac] Note: Recompile with -Xlint:deprecation for details.
    [javac] 100 errors

Do you know what I'm missing?

@sampottinger
Copy link
Author

@sampottinger it might be worth mentioning that it's a good idea to do ant linux-clean etc to remove stale builds (I needed to do this to get antlr working again on my last build)

Thanks @monkstone!

@sampottinger
Copy link
Author

I haven't seen something like that before @hamoid. It looks like a bunch of things are off there. Can you try ant linux-clean and cross-build-linux-x64?

@phesch
Copy link

phesch commented Jul 19, 2019

When I tried to build using ant run on my machine (Arch Linux x64), I get the following error:

BUILD FAILED
/home/philip/processing/build/build.xml:480: The following error occurred while executing this line:
/home/philip/processing/build/build.xml:1162: Execute failed: java.io.IOException: Cannot run program "rsync" (in directory "/home/philip/processing/build/linux"): error=2, No such file or directory
	at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1128)
	at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1071)
	at java.base/java.lang.Runtime.exec(Runtime.java:591)
	at org.apache.tools.ant.taskdefs.launcher.Java13CommandLauncher.exec(Java13CommandLauncher.java:58)
	at org.apache.tools.ant.taskdefs.Execute.launch(Execute.java:424)
	at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:438)
	at org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:630)
	at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:669)
	at org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:497)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
	at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
	at org.apache.tools.ant.Task.perform(Task.java:350)
	at org.apache.tools.ant.Target.execute(Target.java:449)
	at org.apache.tools.ant.Target.performTasks(Target.java:470)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1391)
	at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:36)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1254)
	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:437)
	at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:106)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
	at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
	at org.apache.tools.ant.Task.perform(Task.java:350)
	at org.apache.tools.ant.Target.execute(Target.java:449)
	at org.apache.tools.ant.Target.performTasks(Target.java:470)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1391)
	at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
	at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1254)
	at org.apache.tools.ant.Main.runBuild(Main.java:830)
	at org.apache.tools.ant.Main.startAnt(Main.java:223)
	at org.apache.tools.ant.launch.Launcher.run(Launcher.java:284)
	at org.apache.tools.ant.launch.Launcher.main(Launcher.java:101)
Caused by: java.io.IOException: error=2, No such file or directory
	at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
	at java.base/java.lang.ProcessImpl.<init>(ProcessImpl.java:340)
	at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:271)
	at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1107)
	... 37 more

However, I do have what seem to be all the files from the build result in the linux/work folder, and I can start processing from there - from what I've seen so far, it seems to run normally, albeit with the following console warnings:

WARNING: Illegal reflective access by processing.app.platform.LinuxPlatform (file:/home/<my name>/processing/build/linux/work/lib/pde.jar) to field sun.awt.X11.XToolkit.awtAppClassName
WARNING: Please consider reporting this to the maintainers of processing.app.platform.LinuxPlatform
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

If this isn't the right place to post this, tell me and I'll move it somewhere else. I don't have enough experience with ant builds to properly tell what's going on though, so I thought I'd let you know. If you need more info, I'll try to provide it.

EDIT: Just saw in the PR on the main repo that the illegal access issue has been around for a while, so it's likely nothing special in my case (unless I've missed another note, which I seem to be very good at)

@hamoid
Copy link

hamoid commented Jul 19, 2019

Cannot run program "rsync"

Maybe rsync is not installed?

$ sudo pacman -S rsync

@phesch
Copy link

phesch commented Jul 19, 2019

Huh, you're right. The path in the error message led me to believe that rsync was a dependency installed by the build script (into the build/linux directory) that had failed somehow. Thanks for your help!

@sampottinger
Copy link
Author

Hey friends (including @soul-drake, @hamoid, @monkstone)! I am making some binaries available for testing my fork of processing until processing/processing#5753 is resolved. See https://github.com/sampottinger/processing.

@monkstone
Copy link

monkstone commented Aug 16, 2019

@sampottinger that is great. For those less aware of processing build process, it might be worth adding instructions as to how to install the binary and setup a desktop launcher on linux:-

unzip Downloads/2019-08-15_18-48-00_linux_x64.zip

this creates a linux folder in your HOME folder. Say you are using cinnamon desktop you can right click mouse on the desktop and create a new launcher here... the command you should enter is /home/tux/linux/work/processing and you could change launcher icon to point to /home/tux/linux/work/lib/icons/foundation-64.png substituting your name for tux. Also it might be worth pointing out illegal-access warnings in console are to be expected (until someone figures out how to use --add-opens for jogl in particular).

@hamoid
Copy link

hamoid commented Aug 18, 2019

Hey I'm very happy to see this alive :) 👍 I'm totally busy until the end of the month but I'll be happy to test in September :) I'll mention @morisil who maybe would like to check Processing with Java 11 too.

@sampottinger
Copy link
Author

Thanks so much @hamoid!

@suyashcjoshi
Copy link

suyashcjoshi commented May 2, 2020

Hey, I"m trying to build Processing 4 by running ant clean on the Build folder however it's stuck at :

jdk-download:
[downloader] Downloading from https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.6%2B10/OpenJDK11U-jdk_x64_mac_hotspot_11.0.6_10.tar.gz
[downloader] Downloading /Users/sj/Code/Creative Coding/processing4/build/macosx/jdk-11.0.6.tgz from https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.6%2B10/OpenJDK11U-jdk_x64_mac_hotspot_11.0.6_10.tar.gz

I don't want to re-download JDK 11 and JavaFX as I already have them locally in separate location on my Mac. How can I easily fix this ant file in order to use the local version ? This is very painful process. Thank you for your help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment