jez / pandoc-sidenote

Convert Pandoc Markdown-style footnotes into sidenotes
MIT License
136 stars 17 forks source link

running `cabal install pandoc-sidenote` fails on ubuntu server 20.04 #16

Open bocajnotnef opened 3 years ago

bocajnotnef commented 3 years ago

note: downloading the repo and running stack build succeeds, so at a guess the dependency specifications for the cabal package are out of date (but my Haskell ecosystem knowledge is nonexistent)

I'm trying to get pandoc-sidenote running on a clean Ubuntu Server 20.04

intermediate dependency installs I did:

Following the instructions on the readme, I ran cabal install pandoc-sidenote and got the following build log (build errors at the bottom):

$ cabal install pandoc-sidenote
Warning: The install command is a part of the legacy v1 style of cabal usage.

Please switch to using either the new project style and the new-install
command or the legacy v1-install alias as new-style projects will become the
default in the next version of cabal-install. Please file a bug if you cannot
replicate a working v1- use case with the new-style commands.

For more information, see: https://wiki.haskell.org/Cabal/NewBuild

Resolving dependencies...
Downloading  base-compat-0.11.2
Downloading  base-orphans-0.8.3
Downloaded   base-orphans-0.8.3
Starting     base-orphans-0.8.3
Downloaded   base-compat-0.11.2
Starting     base-compat-0.11.2
Building     base-orphans-0.8.3
Building     base-compat-0.11.2
Completed    base-compat-0.11.2
Downloading  cabal-doctest-1.0.8
Downloaded   cabal-doctest-1.0.8
Starting     cabal-doctest-1.0.8
Building     cabal-doctest-1.0.8
Completed    base-orphans-0.8.3
Downloading  dlist-1.0
Downloaded   dlist-1.0
Starting     dlist-1.0
Building     dlist-1.0
Completed    cabal-doctest-1.0.8
Downloading  hashable-1.3.0.0
Downloaded   hashable-1.3.0.0
Starting     hashable-1.3.0.0
Building     hashable-1.3.0.0
Completed    dlist-1.0
Downloading  integer-logarithms-1.0.3
Downloaded   integer-logarithms-1.0.3
Starting     integer-logarithms-1.0.3
Building     integer-logarithms-1.0.3
Completed    integer-logarithms-1.0.3
Downloading  monad-gen-0.3.0.1
Completed    hashable-1.3.0.0
Downloading  pandoc-1.9.4.3
Downloaded   monad-gen-0.3.0.1
Starting     monad-gen-0.3.0.1
Downloaded   pandoc-1.9.4.3
Starting     pandoc-1.9.4.3
Building     monad-gen-0.3.0.1
Failed to install pandoc-1.9.4.3
Build log ( /home/jgf/.cabal/logs/ghc-8.6.5/pandoc-1.9.4.3-GKcE6LvbU1k55vThF6GVPD.log ):
cabal: Entering directory '/tmp/cabal-tmp-8368/pandoc-1.9.4.3'
cabal: Leaving directory '/tmp/cabal-tmp-8368/pandoc-1.9.4.3'
Downloading  primitive-0.7.1.0
Downloaded   primitive-0.7.1.0
Starting     primitive-0.7.1.0
Building     primitive-0.7.1.0
Completed    monad-gen-0.3.0.1
Completed    primitive-0.7.1.0
cabal: Error: some packages failed to install:
pandoc-1.9.4.3-GKcE6LvbU1k55vThF6GVPD failed during the configure step. The
exception was:
dieVerbatim: user error (cabal: '/usr/bin/ghc' exited with an error:

/tmp/cabal-tmp-8368/pandoc-1.9.4.3/dist/setup/setup.hs:10:33: error:
Module
‘Distribution.Simple.GHC’
does not export
‘ghcPackageDbOptions’
|
10 | import Distribution.Simple.GHC (ghcPackageDbOptions)
| ^^^^^^^^^^^^^^^^^^^

/tmp/cabal-tmp-8368/pandoc-1.9.4.3/dist/setup/setup.hs:19:1: error:
Could not find module ‘System.Time’
Perhaps you meant
System.CPUTime (from base-4.12.0.0)
System.Cmd (from process-1.6.5.0)
System.Mem (from base-4.12.0.0)
Use -v to see a list of the files searched for.
|
19 | import System.Time
| ^^^^^^^^^^^^^^^^^^

/tmp/cabal-tmp-8368/pandoc-1.9.4.3/dist/setup/setup.hs:24:1: error:
Could not find module ‘Data.Default’
Use -v to see a list of the files searched for.
|
24 | import Data.Default
| ^^^^^^^^^^^^^^^^^^^
)
pandoc-sidenote-0.19.0.0-J3Z8QpAdObg8D597w1LrMQ depends on
pandoc-sidenote-0.19.0.0 which failed to install.

I am wholly unfamiliar with Haskell development, and appreciate any guidance available.

mvsoom commented 3 years ago

Same problem here on Ubuntu 20.04.1 LTS.

ngirard commented 3 years ago

Just stumbled upon this problem.

@jez, how about releasing pre-compiled binaries using GitHub Actions ?

ngirard commented 3 years ago

Hey @bocajnotnef, @mvsoom, did you guys manage to get a working debian-amd64 binary of pandoc-sidenote v0.22.1 ? If so, I'd be interested to get it, or to reproduce the procedure you followed. Cheers

bocajnotnef commented 3 years ago

Hi ngirad,

I ran into too many issues and spun up a VM on an x64 machine instead. (Notably, I was also working on Manjaro as well.)

I know the Haskell compiler group had said they were near a working arm64 compiler, which ideally would solve much of the packaging problems, but I haven't been monitoring their progress very closely.

I'll double check my pinebook to verify that I didn't get pandoc working--if I'm misremembering I'll be sure to post what steps I can recover.

On Sat, Jan 23, 2021, 11:47 ngirard notifications@github.com wrote:

Hey @bocajnotnef https://github.com/bocajnotnef, @mvsoom https://github.com/mvsoom, did you guys manage to get a working debian-amd64 binary of pandoc-sidenote v0.22.1 ? If so, I'd be interested to get it, or to reproduce the procedure you followed. Cheers

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/jez/pandoc-sidenote/issues/16#issuecomment-766137643, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQK7AWK5TNIETBVA2DGIZDS3L4SHANCNFSM4TD2YVVA .

ngirard commented 3 years ago

Hey @bocajnotnef, thanks for the heads up ! In case you're interested I managed to compile it manually and made a deb package here. That's far from ideal but hey...

@jez, I did try to leverage Github Actions, take a look at https://github.com/ngirard/pandoc-sidenote/actions if you will. The compilation runs fine (e.g. the Haskell CI workflow just works), but I ran into trouble when trying to upload the artefacts (using the Release workflow). Hopefully somebony can take it from here, I'm unlikely to devote more time to it soon.

awreece commented 3 years ago

@jez This thread looks kinda dead - but I'm also having lots of problems installing pandoc-sidenote for use in github actions. Would you want me to take a crack at improving CI to build binary artifacts for linux?

AB1908 commented 2 years ago

Try: cabal install --ghc-options=-dynamic pandoc-sidenote

See: image https://wiki.archlinux.org/title/Haskell#Package_management