OS再インストールに伴い再びML上にXcode 3を入れる機会が巡ってきた。
やはりカーネルパニックで強制シャットダウンは気持ちのいいものではないので、調べてみたらKPを回避してインストールする方法を見つけた。素敵過ぎる。
cp -R /Volumes/Xcode\ and\ iOS\ SDK/ ~/Desktop/Xcode
【145行目付近】 function isDevToolsCompatible() { if ( system.env.COMMAND_LINE_INSTALL == 1 ) { return true; } if( system.compareVersions(my.target.systemVersion.ProductVersion, '10.6.6') >= 0 && system.compareVersions(my.target.systemVersion.ProductVersion, '10.7') < 0 ) { return true; } return false; } ↓ function isDevToolsCompatible() { return true; } -------- 【182行目を削除】 <line choice="XcodeExtrasHIDDEN"/> ↓ (削除) -------- 【425〜433行目を削除】 <choice id="XcodeExtrasHIDDEN" customLocation = '/' customLocationAllowAlternateVolumes = 'YES' start_visible='false' > <pkg-ref id="com.apple.pkg.Xcode_MacOSX10.6_Extras"/> </choice> ↓ (削除) -------- 【528〜529行目を削除】 <pkg-ref id="com.apple.pkg.Xcode_MacOSX10.6_Extras" auth='root'>file:../Packages/Xcode_MacOSX10.6_Extras.pkg</pkg-ref> ↓ (削除) -------- 【650行目を削除】 <pkg-ref id='com.apple.pkg.Xcode_MacOSX10.6_Extras' installKBytes='14742'/> ↓ (削除)
OS X v10.8にXcode 3.2.6を強制インストールしようとすると、途中で突然Macがブラックアウトし再起動中に再び落ちるという、お顔真っ青ループに陥る。
Xcode 3に含まれるカーネル拡張が悪さをしてるので、当該kextを削除してやればおkという訳で、作業の覚書。といってもここの手順に従うだけ。
先述したが、インストール中に問答無用で落ちるので、他のアプリなどが動いていない状態で実行した方が良い。あと自己責任で。消してるkextから想像するに、プロファイラ系のツールが使えなくなるかもしれない(激しく未確認→やはりプロファイラが使えなくなっていた)。
fsck -fy mount -uw / rm -rf /System/Library/Extensions/AppleProfileFamily.kext rm -rf /System/Library/Extensions/CHUD*.kext
(2013-04-03追記) スクリプトファイルを作ったら chmod +x /path/to/repair-script で実行属性を付ける。
cd "/Volumes/Xcode and iOS SDK" COMMAND_LINE_INSTALL=1 open "Xcode and iOS SDK.mpkg"
/path/to/repair-script reboot
以上で、無事Macが立ち上がるようになり、Xcode 3も使えるようになる。あぼーんしてたらごめんなさい。
どうでもいいけど、Xcode 4って使いづらくないっすか。どーも1ウィンドウに全てを押しこむインタフェースは好きじゃない。
デバッガが使いにくくて死にそう。“3が付く”某ゲーム機のデバッガを彷彿とさせる使いにくさ。