Magicloud Magiclouds | 19 Nov 08:21 2012
Picon

Hackage dependencies problem.

Hi,

  I am having ghc 7.6.1 working here. But anytime I installed something with cabal-install, I got prompts like:

Warning: The following packages are likely to be broken by the reinstalls:
haskell98-2.0.0.2
ghc-7.6.1
Cabal-1.16.0
bin-package-db-0.0.0.0
directory-1.2.0.0
hpc-0.6.0.0
Continuing even though the plan contains dangerous reinstalls.

  And even worse, then I got:

<command line>: cannot satisfy -package Cabal-1.16.0: 
    Cabal-1.16.0-dd0ce1db6fea670a788547ee85411486 is unusable due to missing or recursive dependencies:
      directory-1.2.0.0-8edf300597b0da609c8eccc9aa6d0cc3 process-1.1.0.2-03ae5757aa509ffbe497f42660cba52c unix-2.6.0.0-4bc27fc415f60036a88211de7cde3e9a
    (use -v for more information)

  What should I do? Why user space directory and process would interrupt Cabal in global space?
--
竹密岂妨流水过
山高哪阻野云飞

And for G+, please use magiclouds#gmail.com.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
Ivan Lazar Miljenovic | 19 Nov 10:45 2012
Picon

Re: Hackage dependencies problem.

On 19 November 2012 18:21, Magicloud Magiclouds
<magicloud.magiclouds <at> gmail.com> wrote:
> Hi,
>   I am having ghc 7.6.1 working here. But anytime I installed something with
> cabal-install, I got prompts like:
>
> Warning: The following packages are likely to be broken by the reinstalls:
> haskell98-2.0.0.2
> ghc-7.6.1
> Cabal-1.16.0
> bin-package-db-0.0.0.0
> directory-1.2.0.0
> hpc-0.6.0.0
> Continuing even though the plan contains dangerous reinstalls.
>
>   And even worse, then I got:
>
> <command line>: cannot satisfy -package Cabal-1.16.0:
>     Cabal-1.16.0-dd0ce1db6fea670a788547ee85411486 is unusable due to missing
> or recursive dependencies:
>       directory-1.2.0.0-8edf300597b0da609c8eccc9aa6d0cc3
> process-1.1.0.2-03ae5757aa509ffbe497f42660cba52c
> unix-2.6.0.0-4bc27fc415f60036a88211de7cde3e9a
>     (use -v for more information)
>
>   What should I do? Why user space directory and process would interrupt
> Cabal in global space?

It shouldn't.

Can you please give an example of a package that gives you an error like this?

Also, what does "ghc-pkg check" say?

The only thing I can think of is that you're trying to upgrade a
package like array, containers, etc.

> --
> 竹密岂妨流水过
> 山高哪阻野云飞
>
> And for G+, please use magiclouds#gmail.com.
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe <at> haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>

--

-- 
Ivan Lazar Miljenovic
Ivan.Miljenovic <at> gmail.com
http://IvanMiljenovic.wordpress.com

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
Albert Y. C. Lai | 19 Nov 20:47 2012
Picon

Re: Hackage dependencies problem.

On 12-11-19 04:45 AM, Ivan Lazar Miljenovic wrote:
> On 19 November 2012 18:21, Magicloud Magiclouds
> <magicloud.magiclouds <at> gmail.com> wrote:
>> <command line>: cannot satisfy -package Cabal-1.16.0:
>>      Cabal-1.16.0-dd0ce1db6fea670a788547ee85411486 is unusable due to missing
>> or recursive dependencies:
>>        directory-1.2.0.0-8edf300597b0da609c8eccc9aa6d0cc3
>> process-1.1.0.2-03ae5757aa509ffbe497f42660cba52c
>> unix-2.6.0.0-4bc27fc415f60036a88211de7cde3e9a
>>      (use -v for more information)
>>
>>    What should I do? Why user space directory and process would interrupt
>> Cabal in global space?
>
> It shouldn't.
>
> Can you please give an example of a package that gives you an error like this?
>
> Also, what does "ghc-pkg check" say?
>
> The only thing I can think of is that you're trying to upgrade a
> package like array, containers, etc.

It does. It has always been. When unioning user and global, user takes 
precedence: user directory-1.2.0.0 shadows global directory-1.2.0.0 (GHC 
User's Guide 4.9.4). But look closer: user directory-1.2.0.0-feedbabe... 
shadows global directory-1.2.0.0-deadbeef... Therefore, if global 
Cabal-1.16.0 was built against directory-1.2.0.0-deadbeef..., it's a 
missing dependency for you.

See my http://www.vex.net/~trebla/haskell/sicp.xhtml#pigeon

Fortunately, shadowing is a sessional property, not a data-loss 
property. One can say, it's a data-surplus property. To regain working 
sessions, cut surplus data, add -no-user-package-db to all your ghc and 
ghci commands.

"ghc-pkg check" does not report shadowing. Go straight for "ghc -v".

This is what you get for "--reinstall".
Magicloud Magiclouds | 20 Nov 03:39 2012
Picon

Re: Hackage dependencies problem.

Not only shadowing.

For example, when I installed warp-static, yesod, or gtk2hs. A clear-user-space may ease the problem and got them installed. But normally with a not brand new user space, it failed like above.
And, the key point is that using upgrade-dependencies with cabal-install. I am using git (current) version of cabal-install. Without that argument, things could be fine. With it, it must fail.
And ghc-pkg check reports no errors.


On Tue, Nov 20, 2012 at 3:47 AM, Albert Y. C. Lai <trebla <at> vex.net> wrote:
On 12-11-19 04:45 AM, Ivan Lazar Miljenovic wrote:
On 19 November 2012 18:21, Magicloud Magiclouds
<magicloud.magiclouds <at> gmail.com> wrote:
<command line>: cannot satisfy -package Cabal-1.16.0:
     Cabal-1.16.0-dd0ce1db6fea670a788547ee85411486 is unusable due to missing
or recursive dependencies:
       directory-1.2.0.0-8edf300597b0da609c8eccc9aa6d0cc3
process-1.1.0.2-03ae5757aa509ffbe497f42660cba52c
unix-2.6.0.0-4bc27fc415f60036a88211de7cde3e9a
     (use -v for more information)

   What should I do? Why user space directory and process would interrupt
Cabal in global space?

It shouldn't.

Can you please give an example of a package that gives you an error like this?

Also, what does "ghc-pkg check" say?

The only thing I can think of is that you're trying to upgrade a
package like array, containers, etc.

It does. It has always been. When unioning user and global, user takes precedence: user directory-1.2.0.0 shadows global directory-1.2.0.0 (GHC User's Guide 4.9.4). But look closer: user directory-1.2.0.0-feedbabe... shadows global directory-1.2.0.0-deadbeef... Therefore, if global Cabal-1.16.0 was built against directory-1.2.0.0-deadbeef..., it's a missing dependency for you.

See my http://www.vex.net/~trebla/haskell/sicp.xhtml#pigeon

Fortunately, shadowing is a sessional property, not a data-loss property. One can say, it's a data-surplus property. To regain working sessions, cut surplus data, add -no-user-package-db to all your ghc and ghci commands.

"ghc-pkg check" does not report shadowing. Go straight for "ghc -v".

This is what you get for "--reinstall".


_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe



--
竹密岂妨流水过
山高哪阻野云飞

And for G+, please use magiclouds#gmail.com.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
Albert Y. C. Lai | 21 Nov 01:47 2012
Picon

Re: Hackage dependencies problem.

On 12-11-19 09:39 PM, Magicloud Magiclouds wrote:
> And, the key point is that using upgrade-dependencies with
> cabal-install. I am using git (current) version of cabal-install.
> Without that argument, things could be fine. With it, it must fail.

Therefore, don't use upgrade-dependencies.
Magicloud Magiclouds | 21 Nov 05:18 2012
Picon

Re: Hackage dependencies problem.

But I think it should be like this, right?

Say ghc provids process-old, and Cabal-old depends on it. Then I use --upgrade-dependencies to install somePackage and so install process-new in user space. The process-old is still there. Why Cabal-old breaks and `ghc-pkg check` gets nothing?


On Wed, Nov 21, 2012 at 8:47 AM, Albert Y. C. Lai <trebla <at> vex.net> wrote:
On 12-11-19 09:39 PM, Magicloud Magiclouds wrote:
And, the key point is that using upgrade-dependencies with
cabal-install. I am using git (current) version of cabal-install.
Without that argument, things could be fine. With it, it must fail.

Therefore, don't use upgrade-dependencies.


_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe



--
竹密岂妨流水过
山高哪阻野云飞

And for G+, please use magiclouds#gmail.com.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Gmane