2013年10月26日土曜日

Mac OS X 10.8 (Mountain Lion) -> 10.9 (Mavericks) アップグレードしてみた

新しいOSが出たらすぐにアップデート派なので、
発表されてすぐに10.8 (Mountain Lion) -> 10.9 (Marvericks)アップグレードしました。

当然新しいOSにはトラブルがつきもので、
もちろん覚悟はしていたのですが以外に無くてびっくりしています。
また機能的にはデスクトップやマルチモニタ環境の改善がすごく気に入っています。

が、しかし、100%問題無いということは無いので、アプリケーションの対応状況について実際に動作させて気になった点をご紹介いたします。

以下クリーンインストールではなく10.8からのアップデートという前提となります。

まずは致命的な所からのご紹介です。


Intel HAXM [×]

http://software.intel.com/en-us/forums/topic/477793

Intel HAXMのように致命的なものもあったりするので、仕事で使っているMacの場合は、使用しているアプリケーションが正式対応するまで待った方が安全かと思います。ちなみに実際に試してみましたがIntel HAXMを使用しているエミュレータ等を起動するとカーネルパニックになって電源OFF,ONしか復旧できません。Titanium MobileとかTizenなど開発に影響が出ているようです。

でも、こちらも中の人が反応してくれているので、
近いうちに10.9対応版がリリースするのではないかと思います。

追記 2013-10-29
Intel HAXM teamがMavericksとWindows8.1対応版をテスト中らしいです。

アンインストール方法

sudo /System/Library/Extensions/intelhaxm.kext/Contents/Resources/uninstall.sh

追記 2013-11-06
Mavericks用のhotfix(バージョン1.0.7)を適用したら動作しました。
http://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager


MacPorts [△]
対応しているバージョンは、2.2.1以上ですね。
しかも、再ビルドが必要な場合が多いようです。
けっこうな手間ですが、今後のために再構築します。

ソースコード
https://distfiles.macports.org/MacPorts/MacPorts-2.2.1.tar.bz2
パッケージ
https://distfiles.macports.org/MacPorts/MacPorts-2.2.1-10.9-Mavericks.pkg

いろいろ問題はあるようでこちらにまとめられています。
http://trac.macports.org/wiki/MavericksProblems

ソースコードをビルドすると次のようにtclで止まります。おそらくオプションつければいけるとは思いますが、ここは素直にパッケージで導入しました。
checking for Tcl configuration... configure: error: Can't find Tcl configuration definitions

VMWare Fusion [△〜◯]

4系は動作しないという情報も目にしたのですが、私の場合は、動作しています。
WindowsXPもWindows8.1も動作上は問題ないですね。

追記 2013-10-29
既存環境が動作する分には問題ないですが、設定変更などができませんでした。

5系は、仕事用のMacで使用していて、こちらはまだアップデートしていないのですが、Marvericksのマルチモニタ機能には対応していないようですが、動作しないということはなさそうですね。
https://discussionsjapan.apple.com/message/100804960#100804960

6系で正式に対応ってことですね。

追記 2013-10-29
正式にMavericksとWindows8.1対応版がリリースされました。
http://t.co/y0Aazo1vyn

VirtualBoxとVagrant [◯]

以前バージョンでは下記のようなエラーが出て起動しませんでした。
こちらも最新バージョンにアップデートして解決しました。

VirtualBox 4.3
https://www.virtualbox.org/wiki/Downloads
追記 2013-11-02
インストーラに含まれるVirtualBox_Uninstall.toolで前のバージョンをアンインストールしてから4.3.2をインストールする

直らない場合は、次のコマンドで回避できそう。私の環境は不要でした。
sudo launchctl load /Library/LaunchDaemons/org.virtualbox.startup.plist

Vagrant 1.3.5
http://downloads.vagrantup.com/tags/v1.3.5

VirtualBoxバージョンアップ前
vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
[default] Setting the name of the VM...
[default] Clearing any previously set forwarded ports...
[default] Creating shared folders metadata...
[default] Clearing any previously set network interfaces...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["hostonlyif", "create"]

Stderr: 0%...
Progress state: NS_ERROR_FAILURE
VBoxManage: error: Failed to create the host-only adapter
VBoxManage: error: VBoxNetAdpCtl: Error while adding new interface: failed to open /dev/vboxnetctl: No such file or directory

VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component HostNetworkInterface, interface IHostNetworkInterface
VBoxManage: error: Context: "int handleCreate(HandlerArg*, int, int*)" at line 68 of file VBoxManageHostonly.cpp

Vagrantバージョンアップ前
$ vagrant up
Vagrant has detected that you have a version of VirtualBox installed
that is not supported. Please install one of the supported versions
listed below to use Vagrant:

プログラミング言語  [個人的に◎]

とりあえずバージョンをさらしてみます。
perl -v
This is perl 5, version 16, subversion 2 (v5.16.2) built for darwin-thread-multi-2level (with 3 registered patches, see perl -V for more detail)

php -v
PHP 5.4.17 (cli) (built: Aug 25 2013 02:03:38)

python --version
Python 2.7.5

ruby -v
ruby 2.0.0p247 (2013-06-27 revision 41674) [universal.x86_64-darwin13]
個人的にはどれもすぐに開発で使えるバージョンですね。
こういうの地味に助かるんじゃないでしょうか。

あと、Chrome, Firebox, Safari, Dropbox, Evernote, Office2011, SublimeText, Coda2, mi, などなど・・・今のところ問題なくアッグレードはすごく満足度が高いものとなりました。



2013年10月14日月曜日

OSX CPU情報の取得

OSXでCPU情報を取得する機会があったのでメモ

sysctl -a | grep cpu

かなりいろいろな情報が取れるがいくつかを抜粋すると

物理コア数
hw.physicalcpu: 8

論理コア数
hw.logicalcpu: 16

ブランド名
machdep.cpu.brand_string: Intel(R) Xeon(R) CPU           E5520  @ 2.27GHz

クロック数
hw.cpufrequency: 2260000000

system_profiler SPHardwareDataType
Hardware:

    Hardware Overview:

      Model Name: Mac Pro
      Model Identifier: MacPro4,1
      Processor Name: Quad-Core Intel Xeon
      Processor Speed: 2.26 GHz
      Number of Processors: 2
      Total Number of Cores: 8
      L2 Cache (per Core): 256 KB
      L3 Cache (per Processor): 8 MB
      Memory: 6 GB
      Processor Interconnect Speed: 5.86 GT/s
      Boot ROM Version: MP41.0081.B07
      SMC Version (system): 1.39f5
      SMC Version (processor tray): 1.39f5
      Serial Number (system): ****************
      Serial Number (processor tray): ****************
      Hardware UUID: ********-****-****-****-************
こちらは[ユーティリティ]->[システム情報]で参照できる情報に近いですね。
同じものを参照しているのかもしれません。

詳しくはこちら https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man8/system_profiler.8.html
CPU以外にも取得できるデータ型は次のコマンドで確認できます。
system_profiler -listDataTypes

Available Datatypes:
SPParallelATADataType
SPUniversalAccessDataType
SPApplicationsDataType
SPAudioDataType
SPBluetoothDataType
SPCameraDataType
SPCardReaderDataType
SPComponentDataType
SPDeveloperToolsDataType
SPDiagnosticsDataType
SPDiscBurningDataType
SPEthernetDataType
SPExtensionsDataType
SPFibreChannelDataType
SPFireWireDataType
SPFirewallDataType
SPFontsDataType
SPFrameworksDataType
SPDisplaysDataType
SPHardwareDataType
SPHardwareRAIDDataType
SPInstallHistoryDataType
SPNetworkLocationDataType
SPLogsDataType
SPManagedClientDataType
SPMemoryDataType
SPModemDataType
SPNetworkDataType
SPPCIDataType
SPParallelSCSIDataType
SPPowerDataType
SPPrefPaneDataType
SPPrintersSoftwareDataType
SPPrintersDataType
SPConfigurationProfileDataType
SPSASDataType
SPSerialATADataType
SPSPIDataType
SPSoftwareDataType
SPStartupItemDataType
SPStorageDataType
SPSyncServicesDataType
SPThunderboltDataType
SPUSBDataType
SPNetworkVolumeDataType
SPWWANDataType
SPAirPortDataType

system_profiler SPHardwareDataType

2013年10月5日土曜日

pip listのAssertionError

メモから再開する逆襲のエンジニアブログ

久しぶりにOSXでpython環境を作成したところ、
いきなりpip listでAssertionError

追記 2013-10-06 Debian 7.1でも同様のAssertionErrorを確認
$ pip list
distribute (0.6.49)
pip (1.4.1)
Exception:
Traceback (most recent call last):
  File "/Users/foo/.pythonz/pythons/CPython-3.3.2/lib/python3.3/site-packages/pip-1.4.1-py3.3.egg/pip/basecommand.py", line 134, in main
    status = self.run(options, args)
  File "/Users/foo/.pythonz/pythons/CPython-3.3.2/lib/python3.3/site-packages/pip-1.4.1-py3.3.egg/pip/commands/list.py", line 80, in run
    self.run_listing(options)
  File "/Users/foo/.pythonz/pythons/CPython-3.3.2/lib/python3.3/site-packages/pip-1.4.1-py3.3.egg/pip/commands/list.py", line 127, in run_listing
    self.output_package_listing(installed_packages)
  File "/Users/foo/.pythonz/pythons/CPython-3.3.2/lib/python3.3/site-packages/pip-1.4.1-py3.3.egg/pip/commands/list.py", line 136, in output_package_listing
    if dist_is_editable(dist):
  File "/Users/foo/.pythonz/pythons/CPython-3.3.2/lib/python3.3/site-packages/pip-1.4.1-py3.3.egg/pip/util.py", line 347, in dist_is_editable
    req = FrozenRequirement.from_dist(dist, [])
  File "/Users/foo/.pythonz/pythons/CPython-3.3.2/lib/python3.3/site-packages/pip-1.4.1-py3.3.egg/pip/__init__.py", line 194, in from_dist
    assert len(specs) == 1 and specs[0][0] == '=='
AssertionError

もうstackoverflowなしじゃ生きていけない・・・
http://stackoverflow.com/questions/18542633/pip-list-error-124-installing-on-mac-os-x

というわけで、distributeをアップデートして対策完了
$ pip install -U distribute

$ pip list
distribute (0.7.3)
pip (1.4.1)
setuptools (0.6c11)
stevedore (0.12)
virtualenv (1.10.1)
virtualenv-clone (0.2.4)
virtualenvwrapper (4.1.1)