Changes between Initial Version and Version 1 of Ticket #52468, comment 45


Ignore:
Timestamp:
Oct 19, 2016, 1:57:05 PM (8 years ago)
Author:
ken-cunningham-webuse
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #52468, comment 45

    initial v1  
    88  a. '''Stick with ports that are known to work with the default toolchain and hope for someone to fix clang-3.7 someday.''' This is safest, but you won't be fully up-to-date with the world with every port, which may or may not matter to you. If you decide to do this, set up a local repository for ports (as I described in comment8 above). This takes 2 minutes to do. Move the older portfile for gtk3 @3.20.9_0 into there, with it's folder structure (gnome/gtk3). You are done. gtk3 will never again try to update. All other ports will move along. As you come across ports that won't update any longer, move them in there too. I have set up repositories like this for Tiger, Leopard, and SnowLeopard, and shared them on github. You can use mine if you want, or make your own.
    99  b. '''Use the default toolchain for most things, but when a port like gtk3 won't update, if you need the update, try a newer gcc'''. This works, as above (comment 28). `$ sudo port -v install gtk3 configure.compiler=macports-gcc-6` will force gtk3 to install using the compiler of your choice, in this case gcc6. it will override any blacklisting in the portfile. If it builds successfully, which it does in this case, you won't know for certain if you might have a problem with c++ libraries. I believe, actually, everything will probably usually work corrrectly, but I know 0.01% of what Jeremy knows and he says you could have problems with c++ libraries doing this. Basically they could speak slightly different dialects. Some things may not interact correctly, even if they build correctly. You'll have to test them yourself. You might have problems. You might not.
    10   c. '''use gcc6 to build mostly everything, but use the default toolchain when gcc6 won't work'''. This would solve the dialect problem, if everything built with gcc6. Most things do, as it turns out. Unfortunately, q few ports do not. To do this, you either need to uninstall all your ports and start over (yuck), or at least identify the c++ ports (see comment 17 above) uninstall those, and proceed as below:
     10  c. '''use gcc6 to build mostly everything, but use the default toolchain when gcc6 won't work'''. This would solve the dialect problem, if everything built with gcc6. Most things do, as it turns out. Unfortunately, a few ports do not. To do this, you either need to uninstall all your ports and start over (yuck), or at least identify the c++ ports (see comment 17 above) uninstall those, and proceed as below:
    1111
    1212