johannesgerer / buchhaltung

Smart tools for the ledger universe
http://johannesgerer.com/buchhaltung
MIT License
97 stars 8 forks source link

Build error on Debian #42

Open RichiH opened 5 years ago

RichiH commented 5 years ago

Using cabal:

Building buchhaltung-0.0.7...
Failed to install buchhaltung-0.0.7
Build log ( /home/richih/.cabal/logs/ghc-8.4.4/buchhaltung-0.0.7-5R7USOtuokwHjZGxbAxU.log ):
cabal: Entering directory '/tmp/cabal-tmp-7060/buchhaltung-0.0.7'
Configuring buchhaltung-0.0.7...
Preprocessing executable 'buchhaltung' for buchhaltung-0.0.7..
Building executable 'buchhaltung' for buchhaltung-0.0.7..
[ 1 of 15] Compiling Buchhaltung.Utils ( src/Buchhaltung/Utils.hs, dist/build/buchhaltung/buchhaltung-tmp/Buchhaltung/Utils.o )
[ 2 of 15] Compiling Buchhaltung.Types ( src/Buchhaltung/Types.hs, dist/build/buchhaltung/buchhaltung-tmp/Buchhaltung/Types.o )
[ 3 of 15] Compiling Buchhaltung.Ask  ( src/Buchhaltung/Ask.hs, dist/build/buchhaltung/buchhaltung-tmp/Buchhaltung/Ask.o )
[ 4 of 15] Compiling Buchhaltung.Common ( src/Buchhaltung/Common.hs, dist/build/buchhaltung/buchhaltung-tmp/Buchhaltung/Common.o )

src/Buchhaltung/Common.hs:154:11: error:
    • Couldn't match expected type ‘Bool
                                    -> FilePath -> IO (Either [Char] Journal)’
                  with actual type ‘IO (Either String Journal)’
    • The function ‘readJournalFile’ is applied to four arguments,
      but its type ‘InputOpts
                    -> PrefixedFilePath -> IO (Either String Journal)’
      has only two
      In a stmt of a 'do' block:
        ej <- readJournalFile Nothing Nothing False journalPath
      In the second argument of ‘($)’, namely
        ‘do ej <- readJournalFile Nothing Nothing False journalPath
            let (j, n) = either error change ej
            if n == 0 then
                putStrLn "\nNo transactions were changed!\n"
            else
                do let ...
                   ....
            return
              $ maybe
                  j
                  (\ j
                     -> let ...
                        in
                          if (n == m) then
                              j2
                          else
                              error
                                $ printf
                                    "Error 123, see source code. Solution: Use a proper database instead of a file. read: %d passed: %d"
                                    n
                                    m)
                  journal’
    |
154 |     ej <- readJournalFile Nothing Nothing False -- ignore balance assertions
    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...

src/Buchhaltung/Common.hs:154:27: error:
    • Couldn't match expected type ‘InputOpts’
                  with actual type ‘Maybe a2’
    • In the first argument of ‘readJournalFile’, namely ‘Nothing’
      In a stmt of a 'do' block:
        ej <- readJournalFile Nothing Nothing False journalPath
      In the second argument of ‘($)’, namely
        ‘do ej <- readJournalFile Nothing Nothing False journalPath
            let (j, n) = either error change ej
            if n == 0 then
                putStrLn "\nNo transactions were changed!\n"
            else
                do let ...
                   ....
            return
              $ maybe
                  j
                  (\ j
                     -> let ...
                        in
                          if (n == m) then
                              j2
                          else
                              error
                                $ printf
                                    "Error 123, see source code. Solution: Use a proper database instead of a file. read: %d passed: %d"
                                    n
                                    m)
                  journal’
    |
154 |     ej <- readJournalFile Nothing Nothing False -- ignore balance assertions
    |                           ^^^^^^^

src/Buchhaltung/Common.hs:154:35: error:
    • Couldn't match type ‘Maybe a3’ with ‘[Char]’
      Expected type: PrefixedFilePath
        Actual type: Maybe a3
    • In the second argument of ‘readJournalFile’, namely ‘Nothing’
      In a stmt of a 'do' block:
        ej <- readJournalFile Nothing Nothing False journalPath
      In the second argument of ‘($)’, namely
        ‘do ej <- readJournalFile Nothing Nothing False journalPath
            let (j, n) = either error change ej
            if n == 0 then
                putStrLn "\nNo transactions were changed!\n"
            else
                do let ...
                   ....
            return
              $ maybe
                  j
                  (\ j
                     -> let ...
                        in
                          if (n == m) then
                              j2
                          else
                              error
                                $ printf
                                    "Error 123, see source code. Solution: Use a proper database instead of a file. read: %d passed: %d"
                                    n
                                    m)
                  journal’
    |
154 |     ej <- readJournalFile Nothing Nothing False -- ignore balance assertions
    |                                   ^^^^^^^

src/Buchhaltung/Common.hs:464:42: error:
    • Couldn't match expected type ‘Bool
                                    -> FilePath -> IO (Either String Journal)’
                  with actual type ‘IO (Either String Journal)’
    • The function ‘readJournalFile’ is applied to three arguments,
      but its type ‘InputOpts
                    -> PrefixedFilePath -> IO (Either String Journal)’
      has only two
      In the first argument of ‘mapM’, namely
        ‘(readJournalFile Nothing Nothing False)’
      In the second argument of ‘(<$>)’, namely
        ‘mapM (readJournalFile Nothing Nothing False) jfiles’
    |
464 |      right mconcat' . sequence <$> mapM (readJournalFile Nothing Nothing False) jfiles
    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Buchhaltung/Common.hs:464:58: error:
    • Couldn't match expected type ‘InputOpts’
                  with actual type ‘Maybe a0’
    • In the first argument of ‘readJournalFile’, namely ‘Nothing’
      In the first argument of ‘mapM’, namely
        ‘(readJournalFile Nothing Nothing False)’
      In the second argument of ‘(<$>)’, namely
        ‘mapM (readJournalFile Nothing Nothing False) jfiles’
    |
464 |      right mconcat' . sequence <$> mapM (readJournalFile Nothing Nothing False) jfiles
    |                                                          ^^^^^^^

src/Buchhaltung/Common.hs:464:66: error:
    • Couldn't match type ‘Maybe a1’ with ‘[Char]’
      Expected type: PrefixedFilePath
        Actual type: Maybe a1
    • In the second argument of ‘readJournalFile’, namely ‘Nothing’
      In the first argument of ‘mapM’, namely
        ‘(readJournalFile Nothing Nothing False)’
      In the second argument of ‘(<$>)’, namely
        ‘mapM (readJournalFile Nothing Nothing False) jfiles’
    |
464 |      right mconcat' . sequence <$> mapM (readJournalFile Nothing Nothing False) jfiles
    |                                                                  ^^^^^^^
cabal: Leaving directory '/tmp/cabal-tmp-7060/buchhaltung-0.0.7'
Warning: could not create symlinks in /home/richih/.cabal/bin for hledger,
ppsh because the files exist there already and are not managed by cabal. You
can create symlinks for these executables manually if you wish. The executable
files have been installed at /home/richih/.cabal/bin/hledger,
/home/richih/.cabal/bin/ppsh
cabal: Error: some packages failed to install:
buchhaltung-0.0.7-5R7USOtuokwHjZGxbAxU failed during the building phase. The
exception was:
ExitFailure 1