macports thinks xcode is not installed...?

Mihai Moldovan ionic at macports.org
Sun Aug 2 21:51:34 PDT 2015


On 03.08.2015 06:18 AM, Ryan Schmidt wrote:
> On Aug 2, 2015, at 10:50 PM, Mihai Moldovan wrote:
> 
>> On 03.08.2015 04:01 AM, Carlo Tambuatco wrote:
>>> I recently upgraded my harddrive to a hybrid SSD and had to reinstall OS X
>>> Yosemite then restore everything from Time Machine backup.
>>>
>>> I then re installed XCode albeit a newer version, this time I went with the
>>> XCode 7 beta 4 release.
>>
>> The problem is that you are using an unreleased, testing Xcode version.
> 
> While we don't support beta or pre-release versions of Xcode or OS X, merely using them is not necessarily a problem.

No, but they void your warranty and may well drown your kitten in a pool of blood.


>> OS X 10.11, as you may know, introduces the "rootless" mode, which means that
>> write access to locations such as /usr and /System (lest /usr/local) are
>> prohibited - even for the root user.
> 
> This is the first I'd heard of it. I like it. Thanks for letting us know.

That may sound cool for us (and the unsuspecting user, that cannot mess up the
system easily anymore), but it will inevitably break "legacy behavior", like
Xcode installing the CLTs in /usr.

I've seen this exact report (although I guess from a different user) on IRC a
few days ago, so the latest Xcode Beta version may have broken old behavior?


> I haven't had any problems building most ports under OS X 10.11 beta with Xcode 7 betas so I suspect something else is going on.
> 
> As far as I know, you should still run "xcode-select --install" to install the command line tools. I'm not aware of them being installed automatically.

While that may be true, it seems that at least Xcode 6 has always been installed
CLTs in /Library/Developer/CommandLineTools. I have that directory on my system.

The binaries installed in /usr *seem* to be mere shims that call the "real"
binaries in /L/D/CLT.

-rwxr-xr-x 1 root 37M Apr 20 03:26 /Library/Developer/CommandLineTools/usr/bin/clang
-rwxr-xr-x 1 root 14K Nov  4  2013 /usr/bin/clang


> You should also select the Xcode location, using "sudo xcode-select -s /Applications/Xcode-beta.app/Contents/Developer" (or wherever you put it).

The problem with that is that the CLTs are not installed there. Even Xcode 6
installed CLTs to /usr and left /Applications/Xcode.app alone. They (or their
shims) were still easily picked-up due to being in the default PATH location, so
nothing bad happened.

For instance, you won't find clang in
/Applications/Xcode-beta.app/Contents/Developer/usr/bin/.

With OS X 10.11, this situation could change dramatically...



Mihai

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 884 bytes
Desc: OpenPGP digital signature
URL: <https://lists.macosforge.org/pipermail/macports-users/attachments/20150803/dfc45998/attachment.sig>


More information about the macports-users mailing list