digital-asset / ex-bond-trading

A simple bond trading application
Apache License 2.0
16 stars 13 forks source link

Failed to run the app #19

Open anchit93 opened 4 years ago

anchit93 commented 4 years ago

Hello Team,

I was trying to run this application by following the instructions, but when I executed the makecommand, got the below error:

damlc: ScenarioServiceException "Failed to run java: /usr/lib/jvm/openjdk-8/bin/java: readCreateProcessWithExitCode: runInteractiveProcess: exec: does not exist (No such file or directory)"

I currently have installed DAML SDK Version :

DAML SDK versions:
  0.13.10
  0.13.36  (default SDK version for new projects)

JAVA version :'

openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-8u222-b10-1ubuntu1~16.04.1-b10)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)

Full error log (after running the make command:

test triggered because these files changed: src/main/daml/BondTradingMain.daml src/main/daml/Bond.daml src/main/daml/Test.daml src/main/daml/DvpNotification.daml src/main/daml/Dvp.daml src/main/daml/Cash.daml src/main/daml/DvpTerms.daml src/main/daml/Setup.daml src/main/daml/Settlement.daml daml.yaml
~/.daml/bin/daml test --junit target/DarTests.xml
damlc: ScenarioServiceException "Failed to run java: /usr/lib/jvm/openjdk-8/bin/java: readCreateProcessWithExitCode: runInteractiveProcess: exec: does not exist (No such file or directory)"
Makefile:55: recipe for target 'target/DarTests.xml' failed
make: *** [target/DarTests.xml] Error 1

Can you please assist in resolving the issue ?

hurryabit commented 4 years ago

Hello @anchit93,

thanks a lot for trying out DAML and taking the time to report this issue. I'm very sorry that it didn't work on your first attempt. I'll do my very best to help you resolve the issue and get it working soon.

Could you please send me the output of the following two commands?

java --version

and

which java

That would help me figure out what is wrong.

Many thanks, Martin.

anchit93 commented 4 years ago

Hello @hurryabit ,

Thanks for your reply.

PFB the output of the commands:

java -version

openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-8u222-b10-1ubuntu1~16.04.1-b10)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)

and

which java

/usr/bin/java
hurryabit commented 4 years ago

Hello @anchit93,

these outputs look good. My suspicion is that you JAVA_HOME environment variable points to a different JDK. Could you please try unsetting your JAVA_HOME variable. For example,

unset JAVA_HOME
daml test

should work.

I hope that helps. If it doesn't, I'll continue searching for a solution.

Many thanks, Martin.

anchit93 commented 4 years ago

Hello @hurryabit , Thanks for your inputs. I was able to run daml test command successfully after unsetting JAVA_HOME. PFB the output:

WARNING: Using an outdated version of the DAML SDK in project.
To migrate to the latest DAML SDK, please set the sdk-version
field in daml.yaml to 0.13.37

src/main/daml/Bond.daml:main: ok, 2 active contracts, 10 transactions.
src/main/daml/Cash.daml:main: ok, 2 active contracts, 10 transactions.
src/main/daml/Setup.daml:marketSetupJobExample: ok, 0 active contracts, 0 transactions.
src/main/daml/Setup.daml:setupExample: ok, 1 active contracts, 2 transactions.
src/main/daml/Setup.daml:setupExampleFull: ok, 10 active contracts, 8 transactions.
src/main/daml/Setup.daml:main: ok, 10 active contracts, 8 transactions.
src/main/daml/Dvp.daml:main: ok, 2 active contracts, 13 transactions.
src/main/daml/Settlement.daml:main: ok, 8 active contracts, 24 transactions.

But when i run the make command, i am getting below error message :

test triggered because these files changed: src/main/daml/BondTradingMain.daml src/main/daml/Bond.daml src/main/daml/Test.daml src/main/daml/DvpNotification.daml src/main/daml/Dvp.daml src/main/daml/Cash.daml src/main/daml/DvpTerms.daml src/main/daml/Setup.daml src/main/daml/Settlement.daml daml.yaml
~/.daml/bin/daml test --junit target/DarTests.xml
WARNING: Using an outdated version of the DAML SDK in project.
To migrate to the latest DAML SDK, please set the sdk-version
field in daml.yaml to 0.13.37

src/main/daml/Bond.daml:main: ok, 2 active contracts, 10 transactions.
src/main/daml/Cash.daml:main: ok, 2 active contracts, 10 transactions.
src/main/daml/Setup.daml:marketSetupJobExample: ok, 0 active contracts, 0 transactions.
src/main/daml/Setup.daml:setupExample: ok, 1 active contracts, 2 transactions.
src/main/daml/Setup.daml:setupExampleFull: ok, 10 active contracts, 8 transactions.
src/main/daml/Setup.daml:main: ok, 10 active contracts, 8 transactions.
src/main/daml/Dvp.daml:main: ok, 2 active contracts, 13 transactions.
src/main/daml/Settlement.daml:main: ok, 8 active contracts, 24 transactions.
build triggered because these files changed: target/DarTests.xml
~/.daml/bin/daml build -o target/BondTradingMain.dar
WARNING: Using an outdated version of the DAML SDK in project.
To migrate to the latest DAML SDK, please set the sdk-version
field in daml.yaml to 0.13.37

Compiling ex-bond-trading to a DAR.
Created target/BondTradingMain.dar.
build triggered because these files changed: src/main/java/com/digitalasset/examples/bondTrading/BondTradingMain.java src/main/java/com/digitalasset/examples/bondTrading/processor/MarketSetupProcessor.java src/main/java/com/digitalasset/examples/bondTrading/processor/EventProcessor.java src/main/java/com/digitalasset/examples/bondTrading/processor/TradeInjector.java src/main/java/com/digitalasset/examples/bondTrading/processor/TradingPartyProcessor.java pom.xml
mvn -DskipTests package
**bash: mvn: command not found**
Makefile:86: recipe for target 'target/ex-bond-trading-1.0.jar' failed
make: *** [target/ex-bond-trading-1.0.jar] Error 127

I think it is because of Maven (it is not yet installed), but I have exported the FORCE_DOCKER=true, so ideally it should use Docker to run the application. Am i missing something?

hurryabit commented 4 years ago

Hi @anchit93,

unfortunately, the approach with the docker image doesn't work on my machine either. This example is currently not actively maintained and I would recommend installing Maven instead. Would that be a problem for you?

Many thanks, M.

dasormeter commented 4 years ago

@anchit93 this has been upgraded to work with the latest released DAML SDK 1.2.0 -- can you try again and see if this is now working for you?