ddssff / cabal-debian

Create a Debianization by examining a .cabal file.
Other
16 stars 10 forks source link

Compile failure with GHC 7.8/7.6 #56

Open hvr opened 7 years ago

hvr commented 7 years ago

I just noticed that latest version fails to compile with GHC 7.6.3 due to

Configuring component lib from cabal-debian-4.35.5
Preprocessing library cabal-debian-4.35.5...
[ 1 of 30] Compiling System.Git       ( src/System/Git.hs, /tmp/matrix-worker/1480438619/dist-newstyle/build/x86_64-linux/ghc-7.6.3/cabal-debian-4.35.5/build/System/Git.o )
[ 2 of 30] Compiling Paths_cabal_debian ( /tmp/matrix-worker/1480438619/dist-newstyle/build/x86_64-linux/ghc-7.6.3/cabal-debian-4.35.5/build/autogen/Paths_cabal_debian.hs, /tmp/matrix-worker/1480438619/dist-newstyle/build/x86_64-linux/ghc-7.6.3/cabal-debian-4.35.5/build/Paths_cabal_debian.o )
[ 3 of 30] Compiling Debian.Debianize.Interspersed ( src/Debian/Debianize/Interspersed.hs, /tmp/matrix-worker/1480438619/dist-newstyle/build/x86_64-linux/ghc-7.6.3/cabal-debian-4.35.5/build/Debian/Debianize/Interspersed.o )
[ 4 of 30] Compiling Debian.Debianize.Changelog ( src/Debian/Debianize/Changelog.hs, /tmp/matrix-worker/1480438619/dist-newstyle/build/x86_64-linux/ghc-7.6.3/cabal-debian-4.35.5/build/Debian/Debianize/Changelog.o )
[ 5 of 30] Compiling Debian.Orphans   ( src/Debian/Orphans.hs, /tmp/matrix-worker/1480438619/dist-newstyle/build/x86_64-linux/ghc-7.6.3/cabal-debian-4.35.5/build/Debian/Orphans.o )
[ 6 of 30] Compiling Debian.Debianize.VersionSplits ( src/Debian/Debianize/VersionSplits.hs, /tmp/matrix-worker/1480438619/dist-newstyle/build/x86_64-linux/ghc-7.6.3/cabal-debian-4.35.5/build/Debian/Debianize/VersionSplits.o )
[ 7 of 30] Compiling Distribution.Version.Invert ( src/Distribution/Version/Invert.hs, /tmp/matrix-worker/1480438619/dist-newstyle/build/x86_64-linux/ghc-7.6.3/cabal-debian-4.35.5/build/Distribution/Version/Invert.o )
[ 8 of 30] Compiling Debian.Debianize.Prelude ( src/Debian/Debianize/Prelude.hs, /tmp/matrix-worker/1480438619/dist-newstyle/build/x86_64-linux/ghc-7.6.3/cabal-debian-4.35.5/build/Debian/Debianize/Prelude.o )
[ 9 of 30] Compiling Debian.Debianize.BasicInfo ( src/Debian/Debianize/BasicInfo.hs, /tmp/matrix-worker/1480438619/dist-newstyle/build/x86_64-linux/ghc-7.6.3/cabal-debian-4.35.5/build/Debian/Debianize/BasicInfo.o )
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package array-0.4.0.1 ... linking ... done.
Loading package deepseq-1.3.0.1 ... linking ... done.
Loading package containers-0.5.0.0 ... linking ... done.
Loading package transformers-0.5.2.0 ... linking ... done.
Loading package mtl-2.2.1 ... linking ... done.
Loading package syb-0.6 ... linking ... done.
Loading package set-extra-1.4 ... linking ... done.
Loading package bytestring-0.10.0.2 ... linking ... done.
Loading package old-locale-1.0.0.5 ... linking ... done.
Loading package time-1.4.0.1 ... linking ... done.
Loading package unix-2.6.0.1 ... linking ... done.
Loading package ansi-terminal-0.6.2.3 ... linking ... done.
Loading package ansi-wl-pprint-0.6.7.3 ... linking ... done.
Loading package filepath-1.3.0.1 ... linking ... done.
Loading package directory-1.2.0.1 ... linking ... done.
Loading package process-1.1.0.2 ... linking ... done.
Loading package binary-0.5.1.1 ... linking ... done.
Loading package bytestring-builder-0.10.8.1.0 ... linking ... done.
Loading package text-1.2.2.1 ... linking ... done.
Loading package hashable-1.2.4.0 ... linking ... done.
Loading package pretty-1.1.1.0 ... linking ... done.
Loading package template-haskell ... linking ... done.
Loading package nats-1.1.1 ... linking ... done.
Loading package transformers-compat-0.5.1.4 ... linking ... done.
Loading package tagged-0.8.5 ... linking ... done.
Loading package unordered-containers-0.2.7.1 ... linking ... done.
Loading package semigroups-0.18.2 ... linking ... done.
Loading package optparse-applicative-0.13.0.0 ... linking ... done.
Loading package newtype-generics-0.5 ... linking ... done.
Loading package memoize-0.8.1 ... linking ... done.
Loading package base-orphans-0.5.4 ... linking ... done.
Loading package stm-2.4.4.1 ... linking ... done.
Loading package StateVar-1.1.0.4 ... linking ... done.
Loading package void-0.7.1 ... linking ... done.
Loading package contravariant-1.4 ... linking ... done.
Loading package distributive-0.5.0.2 ... linking ... done.
Loading package comonad-5 ... linking ... done.
Loading package bifunctors-5.4.1 ... linking ... done.
Loading package exceptions-0.8.3 ... linking ... done.
Loading package prelude-extras-0.4.0.3 ... linking ... done.
Loading package profunctors-5.2 ... linking ... done.
Loading package semigroupoids-5.1 ... linking ... done.
Loading package free-4.12.4 ... linking ... done.
Loading package generic-deriving-1.11.1 ... linking ... done.
Loading package adjunctions-4.3 ... linking ... done.
Loading package kan-extensions-5.0.1 ... linking ... done.
Loading package parallel-3.2.1.0 ... linking ... done.
Loading package reflection-2.1.2 ... linking ... done.
Loading package primitive-0.6.1.0 ... linking ... done.
Loading package vector-0.11.0.0 ... linking ... done.
Loading package lens-4.15.1 ... linking ... done.
Loading package old-time-1.1.0.1 ... linking ... done.
Loading package parsec-3.1.11 ... linking ... done.
Loading package hsemail-1.7.7 ... linking ... done.
Loading package call-stack-0.1.0 ... linking ... done.
Loading package HUnit-1.5.0.0 ... linking ... done.
Loading package polyparse-1.12 ... linking ... done.
Loading package random-1.1 ... linking ... done.
Loading package HaXml-1.25.3 ... linking ... done.
Loading package dlist-0.8.0.2 ... linking ... done.
Loading package fmlist-0.9 ... linking ... done.
Loading package utf8-string-1.0.1.1 ... linking ... done.
Loading package ListLike-4.5 ... linking ... done.
Loading package process-extras-0.4.1.4 ... linking ... done.
Loading package fail-4.9.0.0 ... linking ... done.
Loading package cereal-0.5.4.0 ... linking ... done.
Loading package entropy-0.3.7 ... linking ... done.
Loading package crypto-api-0.13.2 ... linking ... done.
Loading package pureMD5-2.1.3 ... linking ... done.
Loading package regex-base-0.93.2 ... linking ... done.
Loading package regex-tdfa-1.2.2 ... linking ... done.
Loading package zlib-0.6.1.2 ... linking ... done.
Loading package Unixutils-1.54.1 ... linking ... done.
Loading package bzlib-0.5.0.5 ... linking ... done.
Loading package MonadRandom-0.4.2.3 ... linking ... done.
Loading package mmorph-1.0.9 ... linking ... done.
Loading package transformers-base-0.4.4 ... linking ... done.
Loading package monad-control-1.0.1.0 ... linking ... done.
Loading package either-4.4.1.1 ... linking ... done.
Loading package network-2.6.3.1 ... linking ... done.
Loading package network-uri-2.6.1.0 ... linking ... done.
Loading package prettyclass-1.0.0.0 ... linking ... done.
Loading package regex-posix-0.95.2 ... linking ... done.
Loading package regex-compat-0.95.1 ... linking ... done.
Loading package debian-3.91.2 ... linking ... done.
Loading package data-default-class-0.1.2.0 ... linking ... done.
Loading package data-default-instances-containers-0.0.1 ... linking ... done.
Loading package data-default-instances-dlist-0.0.1 ... linking ... done.
Loading package data-default-instances-old-locale-0.0.1 ... linking ... done.
Loading package data-default-0.7.1.1 ... linking ... done.
Loading package Diff-0.3.4 ... linking ... done.
Loading package Cabal-1.24.1.0 ... linking ... done.
[10 of 30] Compiling Debian.Policy    ( src/Debian/Policy.hs, /tmp/matrix-worker/1480438619/dist-newstyle/build/x86_64-linux/ghc-7.6.3/cabal-debian-4.35.5/build/Debian/Policy.o )
[11 of 30] Compiling Debian.Debianize.BinaryDebDescription ( src/Debian/Debianize/BinaryDebDescription.hs, /tmp/matrix-worker/1480438619/dist-newstyle/build/x86_64-linux/ghc-7.6.3/cabal-debian-4.35.5/build/Debian/Debianize/BinaryDebDescription.o )
[12 of 30] Compiling Debian.Debianize.SourceDebDescription ( src/Debian/Debianize/SourceDebDescription.hs, /tmp/matrix-worker/1480438619/dist-newstyle/build/x86_64-linux/ghc-7.6.3/cabal-debian-4.35.5/build/Debian/Debianize/SourceDebDescription.o )
[13 of 30] Compiling Debian.GHC       ( src/Debian/GHC.hs, /tmp/matrix-worker/1480438619/dist-newstyle/build/x86_64-linux/ghc-7.6.3/cabal-debian-4.35.5/build/Debian/GHC.o )

src/Debian/GHC.hs:45:36:
    Module `System.Environment' does not export `setEnv'
cabal: Failed to build cabal-debian-4.35.5 (which is required by
exe:cabal-debian from cabal-debian-4.35.5).

and with GHC 7.8.4 due to

Configuring component lib from cabal-debian-4.35.5
Preprocessing library cabal-debian-4.35.5...
[ 1 of 30] Compiling System.Git       ( src/System/Git.hs, /tmp/matrix-worker/1480438013/dist-newstyle/build/x86_64-linux/ghc-7.8.4/cabal-debian-4.35.5/build/System/Git.o )
[ 2 of 30] Compiling Paths_cabal_debian ( /tmp/matrix-worker/1480438013/dist-newstyle/build/x86_64-linux/ghc-7.8.4/cabal-debian-4.35.5/build/autogen/Paths_cabal_debian.hs, /tmp/matrix-worker/1480438013/dist-newstyle/build/x86_64-linux/ghc-7.8.4/cabal-debian-4.35.5/build/Paths_cabal_debian.o )
[ 3 of 30] Compiling Debian.Debianize.Interspersed ( src/Debian/Debianize/Interspersed.hs, /tmp/matrix-worker/1480438013/dist-newstyle/build/x86_64-linux/ghc-7.8.4/cabal-debian-4.35.5/build/Debian/Debianize/Interspersed.o )
[ 4 of 30] Compiling Debian.Debianize.Changelog ( src/Debian/Debianize/Changelog.hs, /tmp/matrix-worker/1480438013/dist-newstyle/build/x86_64-linux/ghc-7.8.4/cabal-debian-4.35.5/build/Debian/Debianize/Changelog.o )
[ 5 of 30] Compiling Debian.Orphans   ( src/Debian/Orphans.hs, /tmp/matrix-worker/1480438013/dist-newstyle/build/x86_64-linux/ghc-7.8.4/cabal-debian-4.35.5/build/Debian/Orphans.o )
[ 6 of 30] Compiling Debian.Debianize.VersionSplits ( src/Debian/Debianize/VersionSplits.hs, /tmp/matrix-worker/1480438013/dist-newstyle/build/x86_64-linux/ghc-7.8.4/cabal-debian-4.35.5/build/Debian/Debianize/VersionSplits.o )
[ 7 of 30] Compiling Distribution.Version.Invert ( src/Distribution/Version/Invert.hs, /tmp/matrix-worker/1480438013/dist-newstyle/build/x86_64-linux/ghc-7.8.4/cabal-debian-4.35.5/build/Distribution/Version/Invert.o )
[ 8 of 30] Compiling Debian.Debianize.Prelude ( src/Debian/Debianize/Prelude.hs, /tmp/matrix-worker/1480438013/dist-newstyle/build/x86_64-linux/ghc-7.8.4/cabal-debian-4.35.5/build/Debian/Debianize/Prelude.o )
[ 9 of 30] Compiling Debian.Debianize.BasicInfo ( src/Debian/Debianize/BasicInfo.hs, /tmp/matrix-worker/1480438013/dist-newstyle/build/x86_64-linux/ghc-7.8.4/cabal-debian-4.35.5/build/Debian/Debianize/BasicInfo.o )
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package array-0.5.0.0 ... linking ... done.
Loading package deepseq-1.3.0.2 ... linking ... done.
Loading package containers-0.5.5.1 ... linking ... done.
Loading package transformers-0.5.2.0 ... linking ... done.
Loading package mtl-2.2.1 ... linking ... done.
Loading package syb-0.6 ... linking ... done.
Loading package set-extra-1.4 ... linking ... done.
Loading package bytestring-0.10.4.0 ... linking ... done.
Loading package old-locale-1.0.0.6 ... linking ... done.
Loading package time-1.4.2 ... linking ... done.
Loading package unix-2.7.0.1 ... linking ... done.
Loading package ansi-terminal-0.6.2.3 ... linking ... done.
Loading package ansi-wl-pprint-0.6.7.3 ... linking ... done.
Loading package filepath-1.3.0.2 ... linking ... done.
Loading package directory-1.2.1.0 ... linking ... done.
Loading package process-1.2.0.0 ... linking ... done.
Loading package binary-0.7.1.0 ... linking ... done.
Loading package text-1.2.2.1 ... linking ... done.
Loading package hashable-1.2.4.0 ... linking ... done.
Loading package pretty-1.1.1.1 ... linking ... done.
Loading package template-haskell ... linking ... done.
Loading package nats-1.1.1 ... linking ... done.
Loading package transformers-compat-0.5.1.4 ... linking ... done.
Loading package tagged-0.8.5 ... linking ... done.
Loading package unordered-containers-0.2.7.1 ... linking ... done.
Loading package semigroups-0.18.2 ... linking ... done.
Loading package optparse-applicative-0.13.0.0 ... linking ... done.
Loading package newtype-generics-0.5 ... linking ... done.
Loading package memoize-0.8.1 ... linking ... done.
Loading package base-orphans-0.5.4 ... linking ... done.
Loading package stm-2.4.4.1 ... linking ... done.
Loading package StateVar-1.1.0.4 ... linking ... done.
Loading package void-0.7.1 ... linking ... done.
Loading package contravariant-1.4 ... linking ... done.
Loading package distributive-0.5.0.2 ... linking ... done.
Loading package comonad-5 ... linking ... done.
Loading package bifunctors-5.4.1 ... linking ... done.
Loading package exceptions-0.8.3 ... linking ... done.
Loading package prelude-extras-0.4.0.3 ... linking ... done.
Loading package profunctors-5.2 ... linking ... done.
Loading package semigroupoids-5.1 ... linking ... done.
Loading package free-4.12.4 ... linking ... done.
Loading package generic-deriving-1.11.1 ... linking ... done.
Loading package adjunctions-4.3 ... linking ... done.
Loading package kan-extensions-5.0.1 ... linking ... done.
Loading package parallel-3.2.1.0 ... linking ... done.
Loading package reflection-2.1.2 ... linking ... done.
Loading package primitive-0.6.1.0 ... linking ... done.
Loading package vector-0.11.0.0 ... linking ... done.
Loading package lens-4.15.1 ... linking ... done.
Loading package old-time-1.1.0.2 ... linking ... done.
Loading package parsec-3.1.11 ... linking ... done.
Loading package hsemail-1.7.7 ... linking ... done.
Loading package call-stack-0.1.0 ... linking ... done.
Loading package HUnit-1.5.0.0 ... linking ... done.
Loading package polyparse-1.12 ... linking ... done.
Loading package random-1.1 ... linking ... done.
Loading package HaXml-1.25.3 ... linking ... done.
Loading package dlist-0.8.0.2 ... linking ... done.
Loading package fmlist-0.9 ... linking ... done.
Loading package utf8-string-1.0.1.1 ... linking ... done.
Loading package ListLike-4.5 ... linking ... done.
Loading package process-extras-0.4.1.4 ... linking ... done.
Loading package fail-4.9.0.0 ... linking ... done.
Loading package cereal-0.5.4.0 ... linking ... done.
Loading package entropy-0.3.7 ... linking ... done.
Loading package crypto-api-0.13.2 ... linking ... done.
Loading package pureMD5-2.1.3 ... linking ... done.
Loading package regex-base-0.93.2 ... linking ... done.
Loading package regex-tdfa-1.2.2 ... linking ... done.
Loading package zlib-0.6.1.2 ... linking ... done.
Loading package Unixutils-1.54.1 ... linking ... done.
Loading package bzlib-0.5.0.5 ... linking ... done.
Loading package MonadRandom-0.4.2.3 ... linking ... done.
Loading package mmorph-1.0.9 ... linking ... done.
Loading package transformers-base-0.4.4 ... linking ... done.
Loading package monad-control-1.0.1.0 ... linking ... done.
Loading package either-4.4.1.1 ... linking ... done.
Loading package network-2.6.3.1 ... linking ... done.
Loading package network-uri-2.6.1.0 ... linking ... done.
Loading package prettyclass-1.0.0.0 ... linking ... done.
Loading package regex-posix-0.95.2 ... linking ... done.
Loading package regex-compat-0.95.1 ... linking ... done.
Loading package debian-3.91.2 ... linking ... done.
Loading package data-default-class-0.1.2.0 ... linking ... done.
Loading package data-default-instances-containers-0.0.1 ... linking ... done.
Loading package data-default-instances-dlist-0.0.1 ... linking ... done.
Loading package data-default-instances-old-locale-0.0.1 ... linking ... done.
Loading package data-default-0.7.1.1 ... linking ... done.
Loading package Diff-0.3.4 ... linking ... done.
Loading package Cabal-1.24.1.0 ... linking ... done.
[10 of 30] Compiling Debian.Policy    ( src/Debian/Policy.hs, /tmp/matrix-worker/1480438013/dist-newstyle/build/x86_64-linux/ghc-7.8.4/cabal-debian-4.35.5/build/Debian/Policy.o )
[11 of 30] Compiling Debian.Debianize.BinaryDebDescription ( src/Debian/Debianize/BinaryDebDescription.hs, /tmp/matrix-worker/1480438013/dist-newstyle/build/x86_64-linux/ghc-7.8.4/cabal-debian-4.35.5/build/Debian/Debianize/BinaryDebDescription.o )
[12 of 30] Compiling Debian.Debianize.SourceDebDescription ( src/Debian/Debianize/SourceDebDescription.hs, /tmp/matrix-worker/1480438013/dist-newstyle/build/x86_64-linux/ghc-7.8.4/cabal-debian-4.35.5/build/Debian/Debianize/SourceDebDescription.o )
[13 of 30] Compiling Debian.GHC       ( src/Debian/GHC.hs, /tmp/matrix-worker/1480438013/dist-newstyle/build/x86_64-linux/ghc-7.8.4/cabal-debian-4.35.5/build/Debian/GHC.o )
[14 of 30] Compiling Debian.Debianize.InputCabal ( src/Debian/Debianize/InputCabal.hs, /tmp/matrix-worker/1480438013/dist-newstyle/build/x86_64-linux/ghc-7.8.4/cabal-debian-4.35.5/build/Debian/Debianize/InputCabal.o )
[15 of 30] Compiling Debian.Debianize.Bundled ( src/Debian/Debianize/Bundled.hs, /tmp/matrix-worker/1480438013/dist-newstyle/build/x86_64-linux/ghc-7.8.4/cabal-debian-4.35.5/build/Debian/Debianize/Bundled.o )

src/Debian/Debianize/Bundled.hs:201:54:
    Ambiguous occurrence ‘unPackageName’
    It could refer to either ‘Debian.Debianize.Bundled.unPackageName’,
                             defined at src/Debian/Debianize/Bundled.hs:59:1
                          or ‘Distribution.Package.unPackageName’,
                             imported from ‘Distribution.Package’ at src/Debian/Debianize/Bundled.hs:40:53-67
cabal: Failed to build cabal-debian-4.35.5 (which is required by
exe:cabal-debian from cabal-debian-4.35.5).
ddssff commented 7 years ago

Odd, 7.8.4 works in my travis: https://travis-ci.org/ddssff/cabal-debian

hvr commented 7 years ago

@ddssff could well be that it picked a different install-plan according to the constraints. Older cabal versions were more conservative, but cabal new-build is more liberal as it doesn't suffer the reinstallation-pkgdb-breakage issues anymore.

ddssff commented 7 years ago

@hvr - I think 7.6.3 may be a lost cause. Do we need it?

hvr commented 7 years ago

@ddssff it's up to you :-) If you don't want to support it, you can simply tweak the meta-data on Hackage (or I can do it), at e.g. https://hackage.haskell.org/package/cabal-debian-4.35.5/cabal-debian.cabal/edit

ddssff commented 7 years ago

The tested-with field?

hvr commented 7 years ago

@ddssff The tested-with field is not interpreted by cabal's solver (it is however interpreted by https://github.com/hvr/multi-ghc-travis/blob/master/make_travis_yml_2.hs if you want to give it a try).

You'd rather have to edit the build-depends: and e.g. say base >= 4.7 to denote GHC 7.8 and newer

ddssff commented 7 years ago

Oh right, of course.