Can confirm that it works now, thanks for fixing it! On Fri, Mar 21, 2014 at 7:12 AM, Dmitry Gutov wrote: > Version: 24.4 > > Johan Andersson writes: > > > Let's say I have three packages: foo, bar and baz. > > > > Package foo depends on bar-0.0.1 and baz-0.0.1. > > Package bar depends on baz-0.0.1. > > > > It's important that foo and bar depends on the same baz version. > > > > If I install package foo, I will get the following error: > > > > "Need package `baz-0.0.1', but only 0.0.1 is available" > > Thanks for the report, should be fixed in 116817, branch emacs-24. > > Seems to have been a regression from revision 113174. Provided I didn't > break anything else, the fix was pretty simple. > > > I have looked at the code of package.el and the code that throws the > error > > makes no sense to me. It works like this: > > > > We want to install a list of packages and a list of requirements. If we > try > > to install a requirement that is part of the list of packages, we set a > > variable called already. If already is true, we check if the requirement > > version is smaller than the already package version. If it is, we move > that > > package to the beginning of the packages list. If it is not smaller, the > > error above is thrown. What? Why? I have no idea... > > Now it checks if the requirement version is smaller or equal. The > package is moved to make the order of installation better (see the bug > referenced in the comment), and if the requirement version is higher > than the one scheduled to be installed, we're out of luck (but I've > tweaked the error message a bit). >