Building ld64 failed

Ryan Schmidt ryandesign at
Fri Sep 26 07:05:48 PDT 2014

On Sep 26, 2014, at 3:53 AM, René J.V. Bertin wrote:

> On Friday September 26 2014 15:40:54 Andreas Engelbert wrote:
>> I have access to an old Mac-pro running OS X 10.5.8. with Xcode 3.1.2
>> and was using MacPorts in order to simplify the installation of a build
>> environment for my own little project to run on Macs too. And all was
>> fine until yesterday.
> I don't know what that own little project of yours is about, but if it doesn't specifically require supporting pre 10.6 OS X set-ups you'd be better off ...
> upgrading that Mac.
> OK, so that was an intended quip. You don't have to upgrade the existing install. You'd have to check with the owner if s/he is OK with booting the machine off an external disk or (better) to install another harddisk in its belly, but once you do that you can go ahead and run the 10.9 installer on that disk without touching anything on the existing bootdisk. You could try to buy a 10.6 license, too, if they're still being sold and you want to support that OS version.
> The MP should run better under 10.6 than under 10.5, not sure about 10.9 if it's a 32bit machine as your build log seems to imply.

There is no such thing as a 32-bit Mac Pro. All Mac Pros have used 64-bit Intel Xeon processors.

I agree with René that you would be better off upgrading this machine to the latest version of OS X.

Nevertheless, ld64 should build on Mac OS X 10.5, and 10.4; it did for me. However, the errors in the log give a clue as to the problem. They are a bit hard to read, since because of parallel building the errors are overlapping each other, but they seem to include these lines:

error: mach-o/compact_unwind_encoding.h: No such file or directory

error: libunwind.h: No such file or directory

This strongly suggests to me that you need to install the libunwind-headers port. After that, clean ld64 and try again:

sudo port install libunwind-headers
sudo port clean ld64

libunwind-headers was until 6 days ago listed as a dependency of the ld64 port, however the presence of libunwind-headers causes problems when building the gcc ports, and the maintainer of the ld64 port didn't know why the libunwind-headers port was listed as a dependency of the ld64 port so he removed it in r125552. I guess now we know why it was there, and perhaps it should be conditionally re-added for Mac OS X 10.5 and earlier.

More information about the macports-users mailing list