building clang-3.4 on 10.6.8

Ryan Schmidt ryandesign at
Mon Jan 13 13:18:06 PST 2014

Remember to Reply All so that the conversation stays on the mailing list.

On Jan 13, 2014, at 04:08, René J.V. Bertin  wrote:

> On Sunday January 12 2014 22:48:08 you wrote:
>>> sudo port clean clang-3.4
>>> sudo port -s destroot clang-3.4
> OK, replacing destroot with the path of my choice I presume?

…no, run the commands exactly as I showed. “destroot” is a MacPorts command, just like “install” or “clean”. “destroot” means do everything up to destroot, but do not install.

>>> If this fails, you’ll have a main.log file you can attach to a ticket. If it succeeds and you want to replace your existing gcc-4.8-compiled clang-3.4 with this one, you can then:
>>> sudo port -f uninstall clang-3.4
>>> sudo port -s install clang-3.4
> Is there an advantage to replacing the version built with gcc-mp-4.8 with a gcc-4.2 built version? Such as making future updates easier? I never checked the clang build process in detail, but I presume it does something similar as gcc does, i.e. deliver a final product that has been compiled purely by itself?

If your clang-3.4 is working fine compiled with gcc 4.8 then you could leave it. Next time you upgrade the port it will rebuild with the default compiler. I was only trying to get you to rebuild it so that you could get a log file so that you could report the bug to the port’s maintainer so that he could work on fixing it. But since I was able to reproduce the problem on my system I was able to do that part for you.

>> I also see a build failure on Snow Leopard, for which I filed this ticket:
>> Maybe this is the same problem you were seeing.
> That is indeed the problem (as well as the solution) I encountered with gcc-mp-4.8 . Is it possible to disable parallel builds on a port-by-port basis

Yes; if parallel building does not work, the maintainer of the port should add the line:

use_parallel_build no

to the Portfile. Better yet, the bug in the build system should be fixed so that parallel building is possible.

> (or indeed via the port command, so that the brunt of the build process is done in parallel, and only the failed part in series after relaunching the upgrade/install command ;) )

Yes you can disable parallel building at the command line, e.g.:

sudo port install clang-3.4

However, parallel building will be disabled not only for clang-3.4 but also any other dependencies that might need to be installed first.

More information about the macports-users mailing list