IntersectMBO / plutus

The Plutus language implementation and tools
Apache License 2.0
1.57k stars 476 forks source link

Running the plutus benchmark fails due to dependency conflicts #5191

Closed nielstron closed 1 year ago

nielstron commented 1 year ago

Summary

I am trying to run the plutus benchmark described in plutus-benchmark. The suggested cabal command fails due to conflicting dependencies.

Steps to reproduce the behavior

  1. cabal bench plutus-benchmark:validation --minimize-conflict-set

Actual Result

➜  plutus git:(master) ✗ cabal bench plutus-benchmark:validation --minimize-conflict-set
Warning: Requested index-state 2022-11-15T00:00:00Z is newer than
'hackage.haskell.org'! Falling back to older state (2022-11-14T23:53:01Z).
Warning: Requested index-state 2023-02-23T00:00:00Z is newer than
'cardano-haskell-packages'! Falling back to older state
(2023-02-22T19:09:40Z).
Resolving dependencies...
cabal: Could not resolve dependencies:
[__0] trying: plutus-core-1.2.0.0 (user goal)
[__1] rejecting: plutus-core:-with-inline-r (constraint from config file,
command line flag, or user target requires opposite flag selection)
[__1] trying: plutus-core:+with-inline-r
[__2] next goal: inline-r (dependency of plutus-core +with-inline-r)
[__2] rejecting: inline-r-1.0.0.0.0.0.0.1 (conflict: pkg-config package
libR>=3.0, not found in the pkg-config database)
[__2] rejecting: inline-r-1.0.0, inline-r-0.10.5, inline-r-0.10.4,
inline-r-0.10.3, inline-r-0.10.2, inline-r-0.10.1, inline-r-0.10,
inline-r-0.9.2, inline-r-0.9.1, inline-r-0.9.0.2, inline-r-0.9.0.1,
inline-r-0.9.0.0, inline-r-0.8.0.1, inline-r-0.8.0.0, inline-r-0.7.3.0,
inline-r-0.7.2.0, inline-r-0.7.1.2, inline-r-0.7.1.1, inline-r-0.7.1.0,
inline-r-0.7.0.0 (conflict: plutus-core +with-inline-r => inline-r>=1.0.0.0)
[__2] fail (backjumping, conflict set: inline-r, plutus-core,
plutus-core:with-inline-r)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: plutus-core,
plutus-core:with-inline-r, inline-r

Expected Result

Benchmark runs as intended

Describe the approach you would take to fix this

Fix the dependencies?

System info

OS: Ubuntu 22 LTS Commit: https://github.com/input-output-hk/plutus/commit/b77e82c1a42e48b098627e2c2274c107ac3078da

michaelpj commented 1 year ago

Cabal is telling you the problem:

conflict: pkg-config package libR>=3.0, not found in the pkg-config database

You don't have R installed.

We recommend using Nix to avoid these kinds of problem.

nielstron commented 1 year ago

Alright thanks! Installing R solved the issue...