cburgmer/json-path-comparison

Build fails on installing Haskell_jsonpath implementation

remorhaz opened this issue · 7 comments

I'm trying to perform build and it fails with the following message.

[301/5999] ./src/query_implementation.sh queries/bracket_notation_with_empty_string implementations/Ruby_jsonpath > 'build/results/bracket_notation_with_empty_string/Ruby_jsonpath'
ninja: build stopped: subcommand failed.

I have no idea where to look to discover what's gone wrong.

You should be able to see more by just running the command without the stdout redirection:

./src/query_implementation.sh queries/bracket_notation_with_empty_string implementations/Ruby_jsonpath

I ran it docker-wrapped:

./src/wrap_in_docker.sh ./src/query_implementation.sh queries/bracket_notation_with_empty_string implementations/Ruby_jsonpath

And the result was (skipping docker stuff):

Sending build context to Docker daemon  54.78kB
# ... docker build output skipped ...
Successfully built d3b89b82bf18
Successfully tagged json-path-comparison:latest
OK
[
  42
]

So the reason is probably somewhere else.

Ah, ok. So ninja has a bit of a learning curve, you might be picking the wrong output.

Ninja runs multiple jobs at the same time, so if one fails, it will continue to wait for the others to finish before stopping. The failing one is likely on top of the one you showed, and will have a big FAILED attached to the output. Can you check?

Got it!

[192/5699] implementations/Haskell_jsonpath/install.sh $(dirname implementations/Haskell_jsonpath/build/json-path-comparison)
FAILED: implementations/Haskell_jsonpath/build/json-path-comparison
implementations/Haskell_jsonpath/install.sh $(dirname implementations/Haskell_jsonpath/build/json-path-comparison)
Config file path source is default config file.
Config file /root/.cabal/config not found.
Writing default configuration to /root/.cabal/config
Downloading the latest package list from hackage.haskell.org
cabal: Could not resolve dependencies:
[__0] trying: json-path-comparison-0.1.0.0 (user goal)
[__1] next goal: base (dependency of json-path-comparison)
[__1] rejecting: base-4.12.0.0/installed-4.1..., base-4.12.0.0, base-4.11.1.0,
base-4.11.0.0, base-4.10.1.0, base-4.10.0.0, base-4.9.1.0, base-4.9.0.0,
base-4.8.2.0, base-4.8.1.0, base-4.8.0.0, base-4.7.0.2, base-4.7.0.1,
base-4.7.0.0, base-4.6.0.1, base-4.6.0.0, base-4.5.1.0, base-4.5.0.0,
base-4.4.1.0, base-4.4.0.0, base-4.3.1.0, base-4.3.0.0, base-4.2.0.2,
base-4.2.0.1, base-4.2.0.0, base-4.1.0.0, base-4.0.0.0, base-3.0.3.2,
base-3.0.3.1 (constraint from project config TODO requires ==4.13.0.0)
[__1] fail (backjumping, conflict set: base, json-path-comparison)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: base, json-path-comparison

I can reproduce. Removing the cabal.project.freeze file seems to fix it.

rm implementations/Haskell_jsonpath/cabal.project.freeze

That worked, thank you!

Fixed in cd01676