On 11.09.2012, at 22:58, Peng Yu <pengyu...@gmail.com> wrote:

>>> I don't find a way to let port install multiple independent ports in
>>> parallel to maximally use the cores on a machine. Is there a way to do
>>> so? Thanks!
>> 
>> This used to be allowed (unintentionally, I think) and would sometimes work, 
>> as long as the ports you were installing were truly independent of one 
>> another (including their complete dependency chains). But as soon as you 
>> started trying to do simultaneous port installs where parts of the 
>> dependency chains overlapped, and some of those overlapping dependencies 
>> were outdated or not installed yet, things did not work. Confusing error 
>> messages were printed that users often did not understand.
>> 
>> We "fixed" the problem a few versions of MacPorts by introducing a lock 
>> mechanism that ensures that you can only install one port at a time. I miss 
>> the parallel install capability we used to have, but appreciate that this 
>> reduces the number of confusing problems our users could encounter, and thus 
>> decreases the number of problem reports we receive, which frees up our time 
>> to work on more interesting problems.
> 
> There are many tools out there to handle dependencies for compiling
> software and for many other purpose as well. For example, GNU make,
> cmake, ant, maven, etc. I think that there should be (at least
> theoretically) some way of harness some of these tools to handle
> parallel builds of multiple ports even if they share dependency
> chains. Whether it is easy to implement is another issue and I don't
> know the answer.

The problem is not that something you want to build has the same already 
installed dependencies but when the same dependencies are needed to be 
installed first. Imagine you are installing two ports that depend on library 
foobar. Both are starting to install the same dependency, maybe at the same 
time which is a big problem. Or not at the same time but at the time you 
started the process foobar wasn't installed and while the one install process 
successfully installed it, the other might suddenly stall because something it 
thought didn't exist suddenly exists...

Take care

Dom
_______________________________________________
macports-users mailing list
macports-users@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo/macports-users

Reply via email to