
Hi, what is the best action to take if a package from hackage fails to build? Is there a recommended/established common way to deal with build failures/runtime bugs etc.? For example: cetin@linux-d312:~/Links/Elite/ac> cabal install wired Resolving dependencies... Downloading Wired-0.1.1... Configuring Wired-0.1.1... Preprocessing library Wired-0.1.1... Building Wired-0.1.1... [ 1 of 21] Compiling Data.Hardware.Internal ( Data/Hardware/Internal.hs, dist/build/Data/Hardware/Internal.o ) Data/Hardware/Internal.hs:198:15: Ambiguous occurrence `><' It could refer to either `Data.Hardware.Internal.><', defined at Data/Hardware/Internal.hs:129:4 or `Test.QuickCheck.><', imported from Test.QuickCheck at Data/Hardware/Internal.hs:11:0-21 cabal: Error: some packages failed to install: Wired-0.1.1 failed during the building phase. The exception was: exit: ExitFailure 1 Regards, CS

On Wed, 2008-10-01 at 03:04 +0200, Cetin Sert wrote:
Hi,
what is the best action to take if a package from hackage fails to build? Is there a recommended/established common way to deal with build failures/runtime bugs etc.?
Most packages specify a maintainer which is conventionally an email address so you can contact them. Some packages also have bug trackers. Duncan

Hi Cetin! Glad to see at least one person trying my package :) The error comes from using QuickCheck 2, which happens to also use the operator (><). I can see two ways to solve the problem: (1) Add "< 2" after "QuickCheck" in the Wired.cabal file. (2) Add "hiding ((><))" after "import Test.QuickCheck" in Data/Hardware/Internal.hs I guess this means you can't use cabal-install...? Does anybody know the best way to avoid this problem without manual intervention? Or should I just require people to use QuickCheck 2? PS. Cetin, please let me know if you have any questions regarding Wired. I'm slowly working on enhancing the library, and I'll soon upload a version with timing analysis and a DEF backend in. / Emil Cetin Sert skrev:
Hi,
what is the best action to take if a package from hackage fails to build? Is there a recommended/established common way to deal with build failures/runtime bugs etc.?
For example:
cetin@linux-d312:~/Links/Elite/ac> cabal install wired Resolving dependencies... Downloading Wired-0.1.1... Configuring Wired-0.1.1... Preprocessing library Wired-0.1.1... Building Wired-0.1.1... [ 1 of 21] Compiling Data.Hardware.Internal ( Data/Hardware/Internal.hs, dist/build/Data/Hardware/Internal.o )
Data/Hardware/Internal.hs:198:15: Ambiguous occurrence `><' It could refer to either `Data.Hardware.Internal.><', defined at Data/Hardware/Internal.hs:129:4 or `Test.QuickCheck.><', imported from Test.QuickCheck at Data/Hardware/Internal.hs:11:0-21 cabal: Error: some packages failed to install: Wired-0.1.1 failed during the building phase. The exception was: exit: ExitFailure 1
Regards, CS
------------------------------------------------------------------------
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Emil Axelsson wrote:
[...]
The error comes from using QuickCheck 2, which happens to also use the operator (><). I can see two ways to solve the problem:
(1) Add "< 2" after "QuickCheck" in the Wired.cabal file.
(2) Add "hiding ((><))" after "import Test.QuickCheck" in Data/Hardware/Internal.hs
Emil, my suggestion is: Please use alternative (2), at least if there are no further problems with quickcheck 2! Otherwise, depending on quickcheck <2 just introduces unnecessary package incompatibilities.
[...]
//Stephan -- Früher hieß es ja: Ich denke, also bin ich. Heute weiß man: Es geht auch so. - Dieter Nuhr

The error comes from using QuickCheck 2, which happens to also use the operator (><). I can see two ways to solve the problem:
(1) Add "< 2" after "QuickCheck" in the Wired.cabal file.
(2) Add "hiding ((><))" after "import Test.QuickCheck" in Data/Hardware/Internal.hs
Emil,
my suggestion is: Please use alternative (2), at least if there are no further problems with quickcheck 2! Otherwise, depending on quickcheck <2 just introduces unnecessary package incompatibilities.
Note that if you import hiding something that doesn't existing you'll have a problem. Therefore this fix will require >= 2 for quickcheck, and introduce incompatibilities either way. Thanks Neil ============================================================================== Please access the attached hyperlink for an important electronic communications disclaimer: http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html ==============================================================================

On Wed, 1 Oct 2008, Mitchell, Neil wrote:
The error comes from using QuickCheck 2, which happens to also use the operator (><). I can see two ways to solve the problem:
(1) Add "< 2" after "QuickCheck" in the Wired.cabal file.
(2) Add "hiding ((><))" after "import Test.QuickCheck" in Data/Hardware/Internal.hs
Emil,
my suggestion is: Please use alternative (2), at least if there are no further problems with quickcheck 2! Otherwise, depending on quickcheck <2 just introduces unnecessary package incompatibilities.
Note that if you import hiding something that doesn't existing you'll have a problem. Therefore this fix will require >= 2 for quickcheck, and introduce incompatibilities either way.
That's why I like to import infix operators explicitly instead of hiding some identifiers: http://www.haskell.org/haskellwiki/Import_modules_properly

Stephan Friedrichs skrev:
Emil Axelsson wrote:
[...]
The error comes from using QuickCheck 2, which happens to also use the operator (><). I can see two ways to solve the problem:
(1) Add "< 2" after "QuickCheck" in the Wired.cabal file.
(2) Add "hiding ((><))" after "import Test.QuickCheck" in Data/Hardware/Internal.hs
Emil,
my suggestion is: Please use alternative (2), at least if there are no further problems with quickcheck 2! Otherwise, depending on quickcheck <2 just introduces unnecessary package incompatibilities.
Hi Stephan, Option (1) was only meant as a temporary solution for Cetin. It just occurred that the obvious solution to make both QC1 and QC2 users happy is to have an explicit import list rather than hiding (><) (there are no further problems with QC2). I'll do this until QC2 is standard in GHC. / Emil

Emil Axelsson wrote:
Stephan Friedrichs skrev:
Emil Axelsson wrote:
[...]
The error comes from using QuickCheck 2, which happens to also use the operator (><). I can see two ways to solve the problem:
(1) Add "< 2" after "QuickCheck" in the Wired.cabal file.
(2) Add "hiding ((><))" after "import Test.QuickCheck" in Data/Hardware/Internal.hs
Emil,
my suggestion is: Please use alternative (2), at least if there are no further problems with quickcheck 2! Otherwise, depending on quickcheck <2 just introduces unnecessary package incompatibilities.
Hi Stephan,
Option (1) was only meant as a temporary solution for Cetin. It just occurred that the obvious solution to make both QC1 and QC2 users happy is to have an explicit import list rather than hiding (><) (there are no further problems with QC2). I'll do this until QC2 is standard in GHC.
I stumbled over the same thing in a project of mine. I must say that I find it very unfortunate that QuickCheck-2 exports this operator, since it clashes with imports of Data.Sequence. Could the decision to use this operator in QuickCheck be revised (and similarly export of .&. which clashes with the one in Data.Bits)? I think these operators should have a 'standard' meaning. Cheers Ben
participants (7)
-
Ben Franksen
-
Cetin Sert
-
Duncan Coutts
-
Emil Axelsson
-
Henning Thielemann
-
Mitchell, Neil
-
Stephan Friedrichs