Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use cabal-2.0 for 8.2.1 #3814

Merged
merged 1 commit into from
Jul 23, 2017
Merged

Use cabal-2.0 for 8.2.1 #3814

merged 1 commit into from
Jul 23, 2017

Conversation

mpickering
Copy link
Collaborator

No description provided.

@jgm jgm merged commit d8f07fa into jgm:master Jul 23, 2017
@jgm
Copy link
Owner

jgm commented Jul 24, 2017

@mpickering, this seems to have broken all the travis builds for cabal versions prior to 8.2.1.
See https://travis-ci.org/jgm/pandoc/builds/256697502
I suspect the issue is that we're caching the ~/.cabal directory, but the cabal index has an incompatible format in cabal 2.0. We could stop caching this directory, but that would massively slow down the builds. Do you have any suggestions? This must be affecting many people who use travis.

jgm added a commit that referenced this pull request Jul 24, 2017
@jgm
Copy link
Owner

jgm commented Jul 24, 2017

I'm reverting this PR until we have some way of getting CI to work.

@mpickering
Copy link
Collaborator Author

@hvr Do you have any ideas?

@jgm
Copy link
Owner

jgm commented Jul 24, 2017

Ack, even after reverting this and deleting the cache via travis's menus, I get the error.

I'm not positive it is attributable to your change, but it started happening right after your PR went through travis.

@jgm
Copy link
Owner

jgm commented Jul 24, 2017

I'm sorry, I jumped to conclusions. I can reproduce the failure even on my local machine (with cabal install, cabal-install 1.24.2.0, ghc 8.2.1). So I don't think it has to do with caching on travis.

Here's a verbose log from cabal. Note also that cabal configure does not raise this error. Hence I suspect it has nothing to do with pandoc's own cabal file, despite the message. stack is not affected. I'm not sure whether the problem with cabal existed before I installed ghc 8.2.1, since I usually use stack locally.

% cabal install --verbose
/Users/jgm/.local/bin/cpphs --version
/usr/bin/gcc -dumpversion
looking for tool haddock near compiler in /usr/local/bin
found haddock in /usr/local/bin/haddock
/usr/local/bin/haddock --version
/usr/local/bin/hpc version
looking for tool hsc2hs near compiler in /usr/local/bin
found hsc2hs in /usr/local/bin/hsc2hs
/usr/local/bin/hsc2hs --version
/usr/local/bin/ghc -hide-all-packages -c /var/folders/l0/2t_cldbj26j_vsd9_q2tsf400000gn/T/20254-0.c -o /var/folders/l0/2t_cldbj26j_vsd9_q2tsf400000gn/T/20254-1.o
/usr/bin/ld -x -r /var/folders/l0/2t_cldbj26j_vsd9_q2tsf400000gn/T/20254-1.o -o /var/folders/l0/2t_cldbj26j_vsd9_q2tsf400000gn/T/20254-2.o
/usr/local/bin/pkg-config --version
Warning: cannot determine version of /usr/bin/strip :
""
/usr/bin/tar --help
Reading available packages...
/usr/local/bin/pkg-config --list-all
/usr/local/bin/pkg-config --modversion zlib gio-unix-2.0 libgsf-1 gobject-introspection-no-export-1.0 libecpg_compat gio-2.0 libcdt cairo-gobject harfbuzz-icu cairo-quartz-font libpng16 'ImageMagick++' cairo-ps gmodule-2.0 fftw3 glib-2.0 ImageMagick 'Magick++-6.Q16' gdlib pango MagickWand libedit libevent_core fftw3f fftw3l libcgraph libpcrecpp gdk-pixbuf-2.0 libevent_pthreads libexslt pangoft2 gmodule-no-export-2.0 MagickCore-6.Q16 arpack libcroco-0.6 libxdot liblzma 'gtk+-3.0' libssh2 gobject-introspection-1.0 lua5.1 lua5.2 'Magick++' libiodbc python-2.7 lcms2 isl libssl yaml-0.1 libcmark apr-util-1 libevent openssl libxml-2.0 libevent_openssl lua-5.1 cairo-pdf lua-5.2 GraphicsMagick python GraphicsMagickWand libwebpdecoder libwebpmux apr-1 pangocairo gmodule-export-2.0 libgvpr libpq 'ImageMagick++-6.Q16' Wand-6.Q16 sqlite3 gsettings-desktop-schemas pixman-1 tokyocabinet gumbo lua cairo-quartz-image libpathplan libpcre16 libtiff-4 gobject-2.0 libgvc python-3.5 valgrind libpng gthread-2.0 cairo-fc fontconfig libecpg libcrypto gdk-3.0 python2 python3 libpcreposix libwebp 'GraphicsMagick++' cairo pstoedit libcurl cairo-png cairo-ft epoxy Wand atk 'gtk+-unix-print-3.0' cairo-svg libtls gdk-quartz-3.0 cairo-quartz shared-mime-info harfbuzz MagickWand-6.Q16 libpgtypes libpcre cairo-script ImageMagick-6.Q16 libpcre32 gail-3.0 python-3.5m freetype2 MagickCore libevent_extra cairo-tee 'gtk+-quartz-3.0' librsvg-2.0 oniguruma harfbuzz-gobject libwebpdemux libxslt
Choosing modular solver.
Resolving dependencies...
cabal: internal error when reading package index: failed to parse .cabal
fileThe package index or index cache is probably corrupt. Running cabal update
might fix it.

@jgm
Copy link
Owner

jgm commented Jul 24, 2017

More notes:

cabal install --with-ghc /usr/local/bin/ghc-8.0.1

fails with the same error.
So does

cabal install --with-ghc /usr/local/bin/ghc-8.0.1 pandoc

However,

cabal install --with-ghc /usr/local/bin/ghc-8.0.1 cabal-install

succeeds.

@jgm
Copy link
Owner

jgm commented Jul 24, 2017

More data from --verbose=3:

[__0] trying: pandoc-2.0 (user goal)
[__1] trying: base-4.10.0.0/installed-4.1... (dependency of pandoc-2.0)
[__2] trying: integer-gmp-1.0.1.0/installed-1.0... (dependency of base-4.10.0.0/installed-4.1...)
[__3] trying: ghc-prim-0.5.1.0/installed-0.5... (dependency of base-4.10.0.0/installed-4.1...)
[__4] trying: rts-1.0/installedrts (dependency of base-4.10.0.0/installed-4.1...)
[__5] trying: network-2.6.3.2/installed-8o5... (dependency of pandoc-2.0)
[__6] trying: time-1.8.0.2/installed-1.8... (dependency of pandoc-2.0)
[__7] trying: unix-2.7.2.2/installed-2.7... (dependency of pandoc-2.0)
[__8] trying: http-types-0.9.1 (dependency of pandoc-2.0)
[__9] trying: blaze-builder-0.4.0.2 (dependency of http-types-0.9.1)
[_10] trying: case-insensitive-1.2.0.10 (dependency of http-types-0.9.1)
[_11] trying: hashable-1.2.6.1/installed-14f... (dependency of case-insensitive-1.2.0.10)
[_12] trying: array-0.5.2.0/installed-0.5... (dependency of http-types-0.9.1)
[_13] trying: http-client-tls-0.3.5.1 (dependency of pandoc-2.0)
[_14] trying: network-uri-2.6.1.0/installed-8fm... (dependency of http-client-tls-0.3.5.1)
[_15] trying: exceptions-0.8.3 (dependency of http-client-tls-0.3.5.1)
[_16] trying: transformers-compat-0.5.1.4 (dependency of exceptions-0.8.3)
[_17] trying: transformers-compat-0.5.1.4:-two
[_18] trying: transformers-compat-0.5.1.4:+mtl
[_19] trying: transformers-compat-0.5.1.4:-three
[_20] trying: template-haskell-2.12.0.0/installed-2.1... (dependency of exceptions-0.8.3)
[_21] trying: pretty-1.1.3.3/installed-1.1... (dependency of template-haskell-2.12.0.0/installed-2.1...)
[_22] trying: ghc-boot-th-8.2.1/installed-8.2... (dependency of template-haskell-2.12.0.0/installed-2.1...)
[_23] trying: stm-2.4.4.1/installed-2iQ... (dependency of exceptions-0.8.3)
[_24] trying: memory-0.14.6 (dependency of http-client-tls-0.3.5.1)
[_25] trying: memory-0.14.6:+support_foundation
[_26] trying: foundation-0.0.13 (dependency of memory-0.14.6:+support_foundation)
[_27] trying: memory-0.14.6:+support_deepseq
[_28] trying: memory-0.14.6:+support_bytestring
[_29] trying: cryptonite-0.24 (dependency of http-client-tls-0.3.5.1)
[_30] trying: cryptonite-0.24:+support_deepseq
[_31] trying: cryptonite-0.24:+integer-gmp
[_32] trying: cryptonite-0.24:+support_aesni
[_33] trying: transformers-0.5.2.0/installed-0.5... (dependency of http-client-tls-0.3.5.1)
[_34] trying: tls-1.3.11 (dependency of http-client-tls-0.3.5.1)
[_35] trying: async-2.1.1.1/installed-B1z... (dependency of tls-1.3.11)
[_36] trying: x509-validation-1.6.8 (dependency of tls-1.3.11)
[_37] trying: pem-0.2.2 (dependency of x509-validation-1.6.8)
[_38] trying: hourglass-0.2.10 (dependency of x509-validation-1.6.8)
[_39] trying: byteable-0.1.1 (dependency of x509-validation-1.6.8)
[_40] trying: x509-store-1.6.3 (dependency of tls-1.3.11)
[_41] trying: x509-1.7.1 (dependency of tls-1.3.11)
[_42] trying: asn1-parse-0.9.4 (dependency of x509-1.7.1)
[_43] trying: asn1-encoding-0.9.5 (dependency of tls-1.3.11)
[_44] trying: asn1-types-0.3.2 (dependency of tls-1.3.11)
[_45] trying: cereal-0.5.4.0 (dependency of tls-1.3.11)
[_46] trying: connection-0.2.8 (dependency of http-client-tls-0.3.5.1)
[_47] trying: x509-system-1.6.5 (dependency of connection-0.2.8)
[_48] trying: socks-0.5.5 (dependency of connection-0.2.8)
[_49] trying: data-default-class-0.1.2.0 (dependency of http-client-tls-0.3.5.1)
[_50] trying: http-client-0.5.7.0 (dependency of pandoc-2.0)
[_51] trying: mime-types-0.1.0.7 (dependency of http-client-0.5.7.0)
[_52] trying: cookie-0.4.2.1 (dependency of http-client-0.5.7.0)
[_53] trying: old-locale-1.0.0.7 (dependency of cookie-0.4.2.1)
[_54] trying: streaming-commons-0.1.18 (dependency of http-client-0.5.7.0)
[_55] trying: doctemplates-0.1.0.2 (dependency of pandoc-2.0)
[_56] trying: cmark-0.5.5.1 (dependency of pandoc-2.0)
[_57] next goal: Glob (dependency of pandoc-2.0)
[_57] rejecting: Glob-0.8.0 (conflict: pandoc => Glob>=0.7 && <0.8)
[_57] trying: Glob-0.7.14
[_58] trying: dlist-0.8.0.3 (dependency of Glob-0.7.14)
[_59] trying: JuicyPixels-3.2.8.2 (dependency of pandoc-2.0)
[_60] trying: primitive-0.6.2.0 (dependency of JuicyPixels-3.2.8.2)
[_61] trying: deepseq-1.4.3.0/installed-1.4... (dependency of pandoc-2.0)
cabal: internal error when reading package index: failed to parse .cabal
fileThe package index or index cache is probably corrupt. Running cabal update
might fix it.

But the problem doesn't seem to be deepseq: cabal install deepseq succeeds.

Btw, I get same results with a version of cabal 1.24.0.2 that was compiled against ghc 8.0.1.

I'm really confused by this! Can anyone help?

@hvr
Copy link
Contributor

hvr commented Jul 24, 2017

@jgm This is actually a bug in cabal-install-1.24; I'll file an issue in Cabal's issue tracker and refer to this ticket

@jgm
Copy link
Owner

jgm commented Jul 24, 2017

@hvr glad to know that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants