Dependency Hell..

1 view
Skip to first unread message

Daniel Hölbling

Sep 6, 2010, 9:44:25 AM9/6/10
Hi Guys,

I'm pretty frustrated right now so I thought I'd share my frustration.

Try doing:

nu install fluentnhibernate
nu install castle.windsor

This alone will bring down 3 different versions of castle.core
FNH is built against NH 2.1.2 and that in turn runs against castle.core
Windsor 2.5 then is built against castle.core 2.5 and windsor 2.1 is built against 1.2
So the only compatible version of Windsor and FNH is Windsor + NH
I could run with NH 3.0.0 alpha but FNH is nut built against that so I'm screwed again.

Well: As you can see, I'm back in dependency hell, manually looking through gems trying to figure out which 2 versions of some framework share the same dependency.. 

We really need some way to level the dependencies so that you can actually get a working set of assemblies together without having to hunt around for compatible builds of everything.

As long as this issue is not fixed, nu is just a glorified wget :(

A short term fix to this would be to create meta packages of "stacks" so we could have a "Windsor+FNH" package that pulls down the right versions that work together.. but this breaks down quickly if you look at what options there are (Windsor + Pure NH, Windsor + FNH, Structuremap + FNH/NH ..... )

greetings Daniel

Brendan Erwin

Sep 6, 2010, 10:24:10 AM9/6/10
Vote it up! I use votes to prioritize my hacking time...

(I agree, btw, this is a pretty fundamental thing.)

Rob Reynolds

Sep 6, 2010, 10:27:35 AM9/6/10

That's the textbook example I've been using since we started this whole project... :(

There is a compatible set, but right now you have to follow fluent nhibernate down to see what its most recent version uses for NH and then what that version uses for castle.core. Last time I did this I used rubygems site to walk the dependency chain.

The pain has always been there. Now that we are seeing the pain in a different context (package mgmt) instead of just after going out and downloading things and then finding out we have incompatibilities, we can start to think of ways we can helping the community solve these issues.

"Be passionate in all you do"

Daniel Hölbling

Sep 6, 2010, 11:06:26 AM9/6/10
Wow that Vote button is hidden quite well :)
Reply all
Reply to author
0 new messages