mathjax / MathJax-a11y

MathJax Accessibility extensions
https://mathjax.github.io/MathJax-a11y/
Apache License 2.0
35 stars 19 forks source link

grunt: can't build #155

Closed pkra closed 8 years ago

pkra commented 8 years ago

I'm unable to run grunt. I think it's a problem in SRE compilation.

@zorkow are you able to build from a fresh clone?

zorkow commented 8 years ago

Works fine for me on node 6.5 and 6.7, in both clean checkouts and with a "virgin" user. @pkra what errors do you get exactly?

pkra commented 8 years ago

Hm, I'll try again. Since I'm on a new machine, maybe I'm missing some more fundamental build tools?

pkra commented 8 years ago

Looks like the closure compiler does not like my java.

$ java -version
openjdk version "9-internal"
OpenJDK Runtime Environment (build 9-internal+0-2016-04-14-195246.buildd.src)
OpenJDK 64-Bit Server VM (build 9-internal+0-2016-04-14-195246.buildd.src, mixed mode)

Here's what I get:

$ grunt
Running "shell:prepare" (shell) task

Running "gitclone:speech-rule-engine" (gitclone) task
Warning: fatal: destination path 'speech-rule-engine' already exists and is not an empty directory. Use --force to continue.

Aborted due to warnings.
/mj-a11y$ rm -rf speech-rule-engine/
/mj-a11y$ grunt
Running "shell:prepare" (shell) task

Running "gitclone:speech-rule-engine" (gitclone) task

Running "shell:compile" (shell) task

> speech-rule-engine@1.0.0 prepublish /mj-a11y/speech-rule-engine
> make clean_closure; make clean; make publish

rm -f /mj-a11y/speech-rule-engine/lib/test.js
rm -f /mj-a11y/speech-rule-engine/tests/deps.js
rm -f /mj-a11y/speech-rule-engine/bin/test_sre
rm -f /mj-a11y/speech-rule-engine/lib/semantic.js
rm -f /mj-a11y/speech-rule-engine/lib/sre_browser.js
rm -f /mj-a11y/speech-rule-engine/lib/enrich.js
rm -f /mj-a11y/speech-rule-engine/lib/mathjax-sre.js
rm -f /mj-a11y/speech-rule-engine/lib/sre.js
rm -f /mj-a11y/speech-rule-engine/src/deps.js
rm -f /mj-a11y/speech-rule-engine/bin/sre
rm -f /mj-a11y/speech-rule-engine/lib/sre4node.js
rm -f /mj-a11y/speech-rule-engine/src/closure-library
rm -rf /mj-a11y/speech-rule-engine/lib/functions  rm -rf /mj-a11y/speech-rule-engine/lib/symbols  rm -rf /mj-a11y/speech-rule-engine/lib/units
Compiling Speech Rule Engine API
/mj-a11y/speech-rule-engine/src/common/browser.js /mj-a11y/speech-rule-engine/src/common/dom_util.js /mj-a11y/speech-rule-engine/src/common/math_util.js /mj-a11y/speech-rule-engine/src/common/xpath_util.js /mj-a11y/speech-rule-engine/src/common/event_util.js /mj-a11y/speech-rule-engine/src/common/system_external.js /mj-a11y/speech-rule-engine/src/common/externs.js /mj-a11y/speech-rule-engine/src/common/cli.js /mj-a11y/speech-rule-engine/src/common/system.js /mj-a11y/speech-rule-engine/src/common/external.js /mj-a11y/speech-rule-engine/src/common/browser_util.js /mj-a11y/speech-rule-engine/src/common/auditory_description.js /mj-a11y/speech-rule-engine/src/common/api.js /mj-a11y/speech-rule-engine/src/common/base_util.js /mj-a11y/speech-rule-engine/src/common/debugger.js /mj-a11y/speech-rule-engine/src/common/engine.js /mj-a11y/speech-rule-engine/src/common/mathjax.js /mj-a11y/speech-rule-engine/src/semantic_tree/semantic_util.js /mj-a11y/speech-rule-engine/src/semantic_tree/semantic_tree.js /mj-a11y/speech-rule-engine/src/semantic_tree/semantic.js /mj-a11y/speech-rule-engine/src/semantic_tree/semantic_attr.js /mj-a11y/speech-rule-engine/src/enrich_mathml/abstract_enrich_case.js /mj-a11y/speech-rule-engine/src/enrich_mathml/case_embellished.js /mj-a11y/speech-rule-engine/src/enrich_mathml/enrich_case_factory.js /mj-a11y/speech-rule-engine/src/enrich_mathml/case_line.js /mj-a11y/speech-rule-engine/src/enrich_mathml/enrich_case.js /mj-a11y/speech-rule-engine/src/enrich_mathml/case_table.js /mj-a11y/speech-rule-engine/src/enrich_mathml/case_multiscripts.js /mj-a11y/speech-rule-engine/src/enrich_mathml/enrich.js /mj-a11y/speech-rule-engine/src/enrich_mathml/case_multiindex.js /mj-a11y/speech-rule-engine/src/enrich_mathml/enrich_mathml.js /mj-a11y/speech-rule-engine/src/enrich_mathml/case_double_script.js /mj-a11y/speech-rule-engine/src/enrich_mathml/enrich_cases.js /mj-a11y/speech-rule-engine/src/enrich_mathml/case_tensor.js /mj-a11y/speech-rule-engine/src/walker/rebuild_stree.js /mj-a11y/speech-rule-engine/src/walker/syntax_walker.js /mj-a11y/speech-rule-engine/src/walker/abstract_walker.js /mj-a11y/speech-rule-engine/src/walker/walker_interface.js /mj-a11y/speech-rule-engine/src/walker/walker_util.js /mj-a11y/speech-rule-engine/src/walker/focus.js /mj-a11y/speech-rule-engine/src/walker/walkers.js /mj-a11y/speech-rule-engine/src/walker/dummy_walker.js /mj-a11y/speech-rule-engine/src/walker/levels.js /mj-a11y/speech-rule-engine/src/walker/semantic_walker.js /mj-a11y/speech-rule-engine/src/rule_engine/speech_rule_evaluator.js /mj-a11y/speech-rule-engine/src/rule_engine/speech_rule_store.js /mj-a11y/speech-rule-engine/src/rule_engine/speech_rule_engine.js /mj-a11y/speech-rule-engine/src/rule_engine/math_store.js /mj-a11y/speech-rule-engine/src/rule_engine/base_rule_store.js /mj-a11y/speech-rule-engine/src/rule_engine/speech_rule_functions.js /mj-a11y/speech-rule-engine/src/rule_engine/speech_rule.js /mj-a11y/speech-rule-engine/src/rule_engine/math_simple_store.js /mj-a11y/speech-rule-engine/src/rule_engine/store_util.js /mj-a11y/speech-rule-engine/src/mathmaps/math_map.js /mj-a11y/speech-rule-engine/src/mathmaps/mathmaps_ie.js /mj-a11y/speech-rule-engine/src/speech_rules/prefix_rules.js /mj-a11y/speech-rule-engine/src/speech_rules/mathspeak_util.js /mj-a11y/speech-rule-engine/src/speech_rules/abstraction_rules.js /mj-a11y/speech-rule-engine/src/speech_rules/mathml_store.js /mj-a11y/speech-rule-engine/src/speech_rules/clearspeak_rules.js /mj-a11y/speech-rule-engine/src/speech_rules/mathml_store_rules.js /mj-a11y/speech-rule-engine/src/speech_rules/semantic_tree_rules.js /mj-a11y/speech-rule-engine/src/speech_rules/mathspeak_rules.js /mj-a11y/speech-rule-engine/src/speech_rules/mathml_store_util.js /mj-a11y/speech-rule-engine/src/speech_generator/speech_generators.js /mj-a11y/speech-rule-engine/src/speech_generator/abstract_speech_generator.js /mj-a11y/speech-rule-engine/src/speech_generator/adhoc_speech_generator.js /mj-a11y/speech-rule-engine/src/speech_generator/dummy_speech_generator.js /mj-a11y/speech-rule-engine/src/speech_generator/tree_speech_generator.js /mj-a11y/speech-rule-engine/src/speech_generator/node_speech_generator.js /mj-a11y/speech-rule-engine/src/speech_generator/summary_speech_generator.js /mj-a11y/speech-rule-engine/src/speech_generator/direct_speech_generator.js /mj-a11y/speech-rule-engine/src/speech_generator/speech_generator_util.js /mj-a11y/speech-rule-engine/src/speech_generator/speech_generator_interface.js /mj-a11y/speech-rule-engine/src/highlighter/highlighter_interface.js /mj-a11y/speech-rule-engine/src/highlighter/mml_highlighter.js /mj-a11y/speech-rule-engine/src/highlighter/externs.js /mj-a11y/speech-rule-engine/src/highlighter/abstract_highlighter.js /mj-a11y/speech-rule-engine/src/highlighter/color_picker.js /mj-a11y/speech-rule-engine/src/highlighter/svg_highlighter.js /mj-a11y/speech-rule-engine/src/highlighter/html_highlighter.js /mj-a11y/speech-rule-engine/src/highlighter/css_highlighter.js /mj-a11y/speech-rule-engine/src/highlighter/highlighter_factory.js
/mj-a11y/speech-rule-engine/node_modules/closure-library/closure/bin/build/closurebuilder.py: Scanning paths...
/mj-a11y/speech-rule-engine/node_modules/closure-library/closure/bin/build/closurebuilder.py: 951 sources scanned.
/mj-a11y/speech-rule-engine/node_modules/closure-library/closure/bin/build/closurebuilder.py: Building dependency tree..
Traceback (most recent call last):
  File "/mj-a11y/speech-rule-engine/node_modules/closure-library/closure/bin/build/closurebuilder.py", line 262, in <module>
    main()
  File "/mj-a11y/speech-rule-engine/node_modules/closure-library/closure/bin/build/closurebuilder.py", line 251, in main
    compiler_flags=options.compiler_flags)
  File "/mj-a11y/speech-rule-engine/node_modules/closure-library/closure/bin/build/jscompiler.py", line 108, in Compile
    compiler_jar_path, java_version, source_paths, jvm_flags, compiler_flags)
  File "/mj-a11y/speech-rule-engine/node_modules/closure-library/closure/bin/build/jscompiler.py", line 58, in _GetJsCompilerArgs
    raise JsCompilerError('Closure Compiler requires Java 1.6 or higher. '
jscompiler.JsCompilerError: Closure Compiler requires Java 1.6 or higher. Please visit http://www.java.com/getjava
Makefile:250: recipe for target 'api' failed
make: *** [api] Error 1

npm ERR! Linux 4.4.0-42-generic
npm ERR! argv "/.nvm/versions/node/v6.6.0/bin/node" "/.nvm/versions/node/v6.6.0/bin/npm" "install"
npm ERR! node v6.6.0
npm ERR! npm  v3.10.3
npm ERR! code ELIFECYCLE
npm ERR! speech-rule-engine@1.0.0 prepublish: `make clean_closure; make clean; make publish`
npm ERR! Exit status 2
npm ERR! 
npm ERR! Failed at the speech-rule-engine@1.0.0 prepublish script 'make clean_closure; make clean; make publish'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the speech-rule-engine package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     make clean_closure; make clean; make publish
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs speech-rule-engine
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls speech-rule-engine
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /mj-a11y/speech-rule-engine/npm-debug.log
Warning: Command failed: npm install&&npm install --only=dev&&npm install wicked-good-xpath&&make mathjax
/mj-a11y/speech-rule-engine/node_modules/closure-library/closure/bin/build/closurebuilder.py: Scanning paths...
/mj-a11y/speech-rule-engine/node_modules/closure-library/closure/bin/build/closurebuilder.py: 951 sources scanned.
/mj-a11y/speech-rule-engine/node_modules/closure-library/closure/bin/build/closurebuilder.py: Building dependency tree..
Traceback (most recent call last):
  File "/mj-a11y/speech-rule-engine/node_modules/closure-library/closure/bin/build/closurebuilder.py", line 262, in <module>
    main()
  File "/mj-a11y/speech-rule-engine/node_modules/closure-library/closure/bin/build/closurebuilder.py", line 251, in main
    compiler_flags=options.compiler_flags)
  File "/mj-a11y/speech-rule-engine/node_modules/closure-library/closure/bin/build/jscompiler.py", line 108, in Compile
    compiler_jar_path, java_version, source_paths, jvm_flags, compiler_flags)
  File "/mj-a11y/speech-rule-engine/node_modules/closure-library/closure/bin/build/jscompiler.py", line 58, in _GetJsCompilerArgs
    raise JsCompilerError('Closure Compiler requires Java 1.6 or higher. '
jscompiler.JsCompilerError: Closure Compiler requires Java 1.6 or higher. Please visit http://www.java.com/getjava
make: * [api] Error 1

npm ERR! Linux 4.4.0-42-generic
npm ERR! argv "/.nvm/versions/node/v6.6.0/bin/node" "/.nvm/versions/node/v6.6.0/bin/npm" "install"
npm ERR! node v6.6.0
npm ERR! npm  v3.10.3
npm ERR! code ELIFECYCLE
npm ERR! speech-rule-engine@1.0.0 prepublish: `make clean_closure; make clean; make publish`
npm ERR! Exit status 2
npm ERR! 
npm ERR! Failed at the speech-rule-engine@1.0.0 prepublish script 'make clean_closure; make clean; make publish'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the speech-rule-engine package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     make clean_closure; make clean; make publish
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs speech-rule-engine
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls speech-rule-engine
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /mj-a11y/speech-rule-engine/npm-debug.log
 Use --force to continue.

Aborted due to warnings.
pkra commented 8 years ago

I tried installing everything I could think of, including the ubuntu package for the closure compiler to make sure I have all relevant dependencies. I'm reasonably sure it used to work with openjdk on my old machine so I'm out of ideas.

zorkow commented 8 years ago

I have not tried the old closure-library with java 9. SRE now uses the new closure library and I could push a new tag, that would make things cleaner.

pkra commented 8 years ago

Resolved by #157