apauley / hledger-flow

An hledger/ledger-cli workflow focusing on automated statement import and classification
GNU General Public License v3.0
174 stars 21 forks source link

cabal install error: Not in scope: type constructor 'Rel' #98

Closed reedmb closed 3 years ago

reedmb commented 3 years ago

Describe the bug Using: cabal install hledger-flow Receive: Resolving dependencies... Build profile: -w ghc-8.10.5 -O1 In order, the following will be built (use -v for more details):

Failed to build hledger-flow-0.14.3.0. Build log ( /home/reed/.cabal/logs/ghc-8.10.5/hledger-flow-0.14.3.0-fcb2ef806d78720166fe03f1b62892828c13b32c2d2ad0712f200a12cd6af4f9.log ): Configuring library for hledger-flow-0.14.3.0.. Preprocessing library for hledger-flow-0.14.3.0.. Building library for hledger-flow-0.14.3.0.. [ 1 of 15] Compiling Hledger.Flow.DateTime ( src/Hledger/Flow/DateTime.hs, dist/build/Hledger/Flow/DateTime.o, dist/build/Hledger/Flow/DateTime.dyn_o ) [ 2 of 15] Compiling Hledger.Flow.DocHelpers ( src/Hledger/Flow/DocHelpers.hs, dist/build/Hledger/Flow/DocHelpers.o, dist/build/Hledger/Flow/DocHelpers.dyn_o ) [ 3 of 15] Compiling Hledger.Flow.PathHelpers ( src/Hledger/Flow/PathHelpers.hs, dist/build/Hledger/Flow/PathHelpers.o, dist/build/Hledger/Flow/PathHelpers.dyn_o ) [ 4 of 15] Compiling Hledger.Flow.Import.Types ( src/Hledger/Flow/Import/Types.hs, dist/build/Hledger/Flow/Import/Types.o, dist/build/Hledger/Flow/Import/Types.dyn_o ) [ 5 of 15] Compiling Hledger.Flow.Types ( src/Hledger/Flow/Types.hs, dist/build/Hledger/Flow/Types.o, dist/build/Hledger/Flow/Types.dyn_o ) [ 6 of 15] Compiling Hledger.Flow.Logging ( src/Hledger/Flow/Logging.hs, dist/build/Hledger/Flow/Logging.o, dist/build/Hledger/Flow/Logging.dyn_o ) [ 7 of 15] Compiling Hledger.Flow.BaseDir ( src/Hledger/Flow/BaseDir.hs, dist/build/Hledger/Flow/BaseDir.o, dist/build/Hledger/Flow/BaseDir.dyn_o ) [ 8 of 15] Compiling Hledger.Flow.Common ( src/Hledger/Flow/Common.hs, dist/build/Hledger/Flow/Common.o, dist/build/Hledger/Flow/Common.dyn_o )

src/Hledger/Flow/Common.hs:46:46: error: • Not in scope: type constructor ‘Rel’ • In the quasi-quotation: [relfile hledger ]
46 maybeH <- Path.findExecutable [relfile hledger ]
^^^^^^^^^

cabal: Failed to build hledger-flow-0.14.3.0 (which is required by exe:hledger-flow from hledger-flow-0.14.3.0). See the build log above for details. Formating of above is with carats as positioned here, starting at 'h': Executable [relfile|hledger|] .............................^^^^^^^^^ Things that work Can confirm 'hledger' is on path: from same command prompt, 'which hledger' (/home/username/.cabal/bin/hledger), 'hledger --help', 'hledger add' and 'which cabal' (/home/username/.local/bin/cabal) all respond correctly.

Have successfully installed other hledger extensions from same command prompt. For example: 'cabal install hledger-diff' and 'cabal install hledger-iadd' are successfully added. Expected result Was expecting the usual: 'Symlinking 'hledger-flow' to … Install OS and Location Using Ubuntu v18.04 up to date daily. Command prompt at Gnome terminal. All install is local at '/home/username/' at user $ prompt.

Thank you.

apauley commented 3 years ago

Hi @reedmb,

Thanks for reporting this 👍

I use stack to build hledger-flow, have a look at the build instructions here:

https://github.com/apauley/hledger-flow/blob/master/CONTRIBUTING.org#build-the-project

Does that work for you?

You can also download a pre-compiled binary here and put it in your path.

Alternatively, I would be very happy to look at a pull request that makes a cabal install work, as long as the stack build keeps working.

Would you like to investigate the issue and add cabal install support?

I'm going to remove the bug label for now - cabal install isn't currently listed as an installation option in this project, so this will probably be a new build option if we're going to add it.

reedmb commented 3 years ago

I will give stack or binary a try. I am too green with Haskell to give cabal install support a try. I do appreciate the welcoming offer to help. Thank you for your time to explain and offer options.

Update: I did both stack install hledger-flow and binary download & extract methods (kept them separate etc…) and each installed as you described. Verified by asking each for --version and --help. (Will get into set up and use later). Thank you.