dersh at alum.mit.edu
Thu Jan 5 13:51:38 CET 2017
> On Jan 4, 2017, at 10:02 PM, Ryan Schmidt <ryandesign at macports.org> wrote:
> On Jan 4, 2017, at 07:52, Adam Dershowitz wrote:
>> So, yes it seems that the on the new machine I ended up with gcc6 being universal, so then cctools, ld64-latest, llvm-3.9 etc are all universal. But, the strange thing is that gcc6 has no dependents, and I didn’t explicitly install it. So, I’m not sure what caused it to be installed. And, on the new machine it, and the chain down, installed +universal, while on the older machine it installed the default variant. Both computers installed gcc6 6.2.0_2.
>> So, my academic question is why did this happen? And, the related questions are what port would have installed gcc6? Since I see this:
>> $port dependents gcc6
>> gcc6 has no dependents.
> I don't know. If you don't need gcc6, don't install it / uninstall it.
It appears that build dependencies don’t show up with the dependencies command? So, some installed port might have required gcc6 to install, but doesn’t need it for runtime.
>> And, is there an easy way to figure out which ports don’t actually have to be universal and to uninstall them as universal and reinstall them as default, given the whole chain of dependents?
>> It seems to me that +universal end up much larger, and also take longer to build, since mostly the buildbots provide just default variants.
> There is no easy way to un-universal your ports after the have been installed with the universal variant. You'll have to identify them all and reinstall them without universal, if that's what you want.
The old machine, and myports.txt, both have the default gcc6. While the new machine ended up with gcc6, default, but not active, and an active gcc6 +universal. So, it looks like during the migration that something decided that it had to be universal, and forced it to be rebuilt.
But, if I understand you correctly, I would need to figure out all of the dependencies, and then, in the correct order, uninstall +universal, and reinstall default. It seems that about 15% of my ports are installed universal. I assume that some default to that, and then all of the dependencies of that port are then rebuilt as universal? But, there is no easy way to figure out which ones and what the order would be?
Any suggestions for how to clean this up?
More information about the macports-users