building clang-3.4 on 10.6.8
ryandesign at macports.org
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:
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 build.jobs=1
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