Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

jstar extract failed with: Cannot run program "sh" #1

Closed
dckc opened this issue Jan 15, 2022 · 2 comments
Closed

jstar extract failed with: Cannot run program "sh" #1

dckc opened this issue Jan 15, 2022 · 2 comments

Comments

@dckc
Copy link

dckc commented Jan 15, 2022

Hi. I'm trying to learn to use this tool. I followed INSTALL.md and got sbt assembly to work, but jstar extract fails as follows:

$ jstar extract
========================================
 extract phase
----------------------------------------
version: recent (fc85c50181b2b8d7d75f034800528d87fda6b654)
extracting spec.html...* Unexpected error occurred.
java.io.IOException: Cannot run program "sh" (in directory "null/ecma262"): error=2, No such file or directory
java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1128)
java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1071)
scala.sys.process.ProcessBuilderImpl$Simple.run(ProcessBuilderImpl.scala:82)
scala.sys.process.ProcessBuilderImpl$AbstractBuilder.$bang(ProcessBuilderImpl.scala:142)
scala.sys.process.ProcessBuilderImpl$AbstractBuilder.slurp(ProcessBuilderImpl.scala:158)
scala.sys.process.ProcessBuilderImpl$AbstractBuilder.$bang$bang(ProcessBuilderImpl.scala:118)
kr.ac.kaist.jstar.util.Useful$.executeCmd(Useful.scala:220)
kr.ac.kaist.jstar.util.Useful$.currentVersion(Useful.scala:229)
kr.ac.kaist.jstar.extractor.ECMAScriptParser$.preprocess(ECMAScriptParser.scala:61)
kr.ac.kaist.jstar.extractor.ECMAScriptParser$.apply(ECMAScriptParser.scala:23)
kr.ac.kaist.jstar.phase.Extract$.$anonfun$apply$4(Extract.scala:33)
kr.ac.kaist.jstar.util.Useful$.f0$lzycompute$1(Useful.scala:188)
kr.ac.kaist.jstar.util.Useful$.f0$1(Useful.scala:188)
kr.ac.kaist.jstar.util.Useful$.$anonfun$time$1(Useful.scala:190)
kr.ac.kaist.jstar.util.Useful$.time(Useful.scala:181)
kr.ac.kaist.jstar.util.Useful$.time(Useful.scala:190)
kr.ac.kaist.jstar.phase.Extract$.apply(Extract.scala:33)
kr.ac.kaist.jstar.phase.Extract$.apply(Extract.scala:13)
kr.ac.kaist.jstar.phase.PhaseObj.$anonfun$getRunner$1(Phase.scala:32)
kr.ac.kaist.jstar.phase.PhaseCons.$anonfun$getRunner$2(PhaseList.scala:34)
kr.ac.kaist.jstar.Command.$anonfun$apply$1(Command.scala:22)
kr.ac.kaist.jstar.JSTAR$.apply(JSTAR.scala:38)
kr.ac.kaist.jstar.Command.apply(Command.scala:22)
kr.ac.kaist.jstar.JSTAR$.main(JSTAR.scala:14)
kr.ac.kaist.jstar.JSTAR.main(JSTAR.scala)

environment:
git log shows that I checked out 950a32d

I'm running on Ubuntu LTS 20.04.3

$ python3 --version
Python 3.8.10

$ java -version
openjdk version "11.0.13" 2021-10-19
OpenJDK Runtime Environment (build 11.0.13+8-Ubuntu-0ubuntu1.20.04)
OpenJDK 64-Bit Server VM (build 11.0.13+8-Ubuntu-0ubuntu1.20.04, mixed mode, sharing
@jhnaldo
Copy link
Contributor

jhnaldo commented Jan 17, 2022

Did you follow the environment setting guide in INSTALL.md?

I think that the problem might be caused by the absence of the environment variable $JSTAR_HOME.
Can you try it after following the environment setting?

@dckc
Copy link
Author

dckc commented Jan 17, 2022

Oops! Indeed, I neglected to set JSTAR_HOME.

It seems to work as documented:

$ jstar extract
========================================
 extract phase
----------------------------------------
version: recent (fc85c50181b2b8d7d75f034800528d87fda6b654)
extracting spec.html... (11,268 ms)
* grammar:
  - lexical production: 89
  - non-lexical production: 244
* algorithms:
  - incomplete: 281
  - complete: 2125
  - total: 2406
* intrinsics: 67
* symbols: 13
* aoids: 507
* incompleted steps: 471

@dckc dckc closed this as completed Jan 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants