On Sun, 2010-04-11 at 14:28 -0700, Jason Dagit wrote: > I've noticed another type of diamond dependency problem. Suppose I > build and install Foo today and it depends on Bar 2.0.0. In a week, I > install Bar 2.0.1. Next I installed Baz that also depends on Bar, and > it gets Bar 2.0.1. When I install a package that depends on Foo, Baz, > and possibly Bar, then cabal won't be able to figure out proper > dependencies because Foo needs one version of Bar and Baz needs a > different version.
That's exactly the problem that cabal-install solves. It will rebuild one or the other of Foo and Baz so that the dependency on Bar is consistent. > But if all these packages followed the PVP, then either version of Bar > could have been used, if it was used consistently. Yes, but one would still need to be rebuilt. > i'm not sure what is the best solution to this problem. Perhaps in > this scenario, cabal should ask the user if it should rebuild Foo > and/or Baz so they use the same Bar. I think this could lead to a lot > of rebuilding, and that rebuilding gets tedious when you're doing it > manually. So it happens automatically at the moment. It tries to minimise the amount of rebuilding. I occasionally hear complaints that it is rebuilding things when users did not expect it to. Duncan _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe