$ sudo gem install cocoapods-deintegrate cocoapods-clean $ pod deintegrate $ pod clean $ rm Podfile
iMac の HD を新しい SSD に置換したので、 OS を入れようとした時に欲しかったので作った。
ローカルに Sierra のアップデータがちょうど残っていたので、それを利用。多分 El Captin でも High Sierra でも同じなんだろう
後で詳細は書くとして、とりあえずメモ。 Windows 10 Pro, VMWare Workstation 12 Pro, Unlocker 2.0.8, Mac OS X 10.11, DELL XPS 15
Mac で App Store から El Capitan をダウンロード。
ダウンロードされたものは /Applications/Install OS X El Capitan.app に保存されている。
その中から /Applications/Install OS X El Capitan.app/Contents/SharedSupport/InstallESD.dmg を取り出しておく。
この DMG ファイルは自動でブートせずにうまく実行されないので、以下のコマンドを実行して、自動ブートするようにする。 http://www.insanelymac.com/forum/topic/308533-how-to-create-a-bootable-el-capitan-iso-fo-vmware/
#!/bin/bash # Mount the installer image hdiutil attach /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/SharedSupport/InstallESD.dmg -noverify -nobrowse -mountpoint /Volumes/install_app # Create the ElCapitan Blank ISO Image of 7316mb with a Single Partition - Apple Partition Map hdiutil create -o /tmp/ElCapitan.cdr -size 7316m -layout SPUD -fs HFS+J # Mount the ElCapitan Blank ISO Image hdiutil attach /tmp/ElCapitan.cdr.dmg -noverify -nobrowse -mountpoint /Volumes/install_build # Restore the Base System into the ElCapitan Blank ISO Image asr restore -source /Volumes/install_app/BaseSystem.dmg -target /Volumes/install_build -noprompt -noverify -erase # Remove Package link and replace with actual files rm /Volumes/OS\ X\ Base\ System/System/Installation/Packages cp -rp /Volumes/install_app/Packages /Volumes/OS\ X\ Base\ System/System/Installation/ # Copy El Capitan installer dependencies cp -rp /Volumes/install_app/BaseSystem.chunklist /Volumes/OS\ X\ Base\ System/BaseSystem.chunklist cp -rp /Volumes/install_app/BaseSystem.dmg /Volumes/OS\ X\ Base\ System/BaseSystem.dmg # Unmount the installer image hdiutil detach /Volumes/install_app # Unmount the ElCapitan ISO Image hdiutil detach /Volumes/OS\ X\ Base\ System/ # Convert the ElCapitan ISO Image to ISO/CD master (Optional) hdiutil convert /tmp/ElCapitan.cdr.dmg -format UDTO -o /tmp/ElCapitan.iso # Rename the ElCapitan ISO Image and move it to the desktop mv /tmp/ElCapitan.iso.cdr ~/Desktop/ElCapitan.iso
入れたら、 unlocker を使って、 Mac イメージを作れるようにパッチ。
http://www.insanelymac.com/forum/files/file/339-unlocker/
2.0.8 を使用した。
展開して win-install.cmd を administrator で実行。
後は VMWare Workstation でイメージを作成する。
Installer disc image file (iso) に作った ISO をしてして、標準の設定で作成する。
そのままだとエラーが出てブートしないので、イメージ設定ファイルの .vmx ファイルを開き以下の行を追加。
smc.version = 0
これで後はインストールすればおしまい。インストール後に VMWare Tools を入れれば、マウスの動きもディスプレーサイズも快適になります。
重要ファイルは全て暗号化した dmg にして保存しているので、これをクリックしてマウントするかわりに、コマンドラインでできないか探した所、 hdiutil というのがあるらしい。
hdiutil attach /path/to/diskimage.dmg
xcode 周りでちょっと便利なコマンドをメモ。
SDK のプロパティやパスを調べるのに便利。例えば、 SDK のパスを見るには
$ xcrun --show-sdk-path
使い方はいまいちまだ分かってないが、手動で command line tool なんかを入れることができる。
$ xcode-select --install
他のバージョンに切り替える。
$ sudo xcode-select --switch /Applications/Xcode601.app/Contents/Developer/
毎回 eclipse をアップグレードするたびについでに subsclipse もアップグレードして、その度 javahl を動かすのに苦労するのでメモ。
一番簡単なのはマニュアルにもある通り、 mac-ports か brew でインストールする方法だけど、どっちも使わずに全てコンパイルしているので、 subversion をコンパイルしてインストールし、 eclipse に認識させるところまで。
マニュアル通りやる場合はこちらを参照。
今回やった環境は以下の通り。
以前 rvm を Mac OSX にインストールして、いざ rails を実行すると、以下のようなリンクエラーが出る。
$ ./script/server start dyld: lazy symbol binding failed: Symbol not found: _libiconv_open Referenced from: /usr/local/rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/i686-darwin10.7.0/iconv.bundle Expected in: flat namespace dyld: Symbol not found: _libiconv_open Referenced from: /usr/local/rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/i686-darwin10.7.0/iconv.bundle Expected in: flat namespace Trace/BPT trap
これは要するに iconv.bundle がリンクしている先の libiconv ライブラリに存在すべきシンボルが無いという旨のエラー。発生する原因は色々あると思うけど、多いのは独自にライブラリを ports や コンパイルなどでインストールして複数存在する場合に起こる事が多いと思う。
例えば今回の場合は、独自に libiconv を /usr/local にインストールしていたため、 rvm インストール時に使用されたライブラリと、いざ実行したさいにロードしようとしているライブラリが違ってしまっているためエラーが発生する。
解決方法がいくつかあったので、それをメモ。
$ sudo -u postgres /Library/PostgreSQL/9.0/bin/pg_ctl -D /Library/PostgreSQL/9.0/data/ start
$ sudo -u postgres /Library/PostgreSQL/9.0/bin/pg_ctl -D /Library/PostgreSQL/9.0/data/ stop
Mac に LAMP もとい MAMP 環境を構築したときのメモ。いろいろと癖もあったりはまったところもあったけど、とにかくできました。
構築する上でのポリシーとしては、
Mac にインストールされているライブラリと DarwinPorts で入れたものを混合するとコンパイルでエラーを起こすことが多いっぽい。
環境は以下の通り。
Mac OS X 10.5.6
mysql-5.1.33
postgresql-8.3.7
apache-2.2.11
php-5.2.9
最近 Mac 上で darwin port を使ったパッケージ管理に嫌気を感じ、全部コンパイルしてインストールし始めてみた。今の Macbook は Core 2 なので、せっかくだから i386 と x86_64 両方の architecture に対応したライブラリを作ってみた。
作ってみたというよりは、実際過去に i386 でコンパイルした物があり、それにリンクしているライブラリが x86_64 をインストールしたことで動かなくなったので、やらざるをえなかったわけだけど。
例としてここでは openssl-0.9.8o をインストールしてみる。コンパイラは gcc-4.5.1 を使用。
Mac には ldd コマンドの代わりに otool というのがあるらしい。
$ otool -L file_name
で、ダイナミックライブラリのリンク情報が見れる。
Mac で ISO イメージをマウントするには、以下のコマンドをターミナルで実行すれば良い。
$ hdiutil mount file_name.iso
デジタルビデオの映像を DVD に焼いてもらったので、それをファイルに抽出した時のメモ。
手軽に使えるフリーソフトも存在するみたいですが、見つけられなかったので mplayer でやりました。
まず mplayer のインストール。 darwin ports で。
$ sudo port install mplayer
そして mencoder 。以下がその時のコマンド。
$ mencoder dvd://1 \ -ss 00:00:03 -endpos 00:00:48 \ -aspect 4:3 -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=9800 \ -vf crop=640:480:0:0 -oac mp3lame -lameopts abr:br=96:vol=9 -o mazatlan05-visit.avi;
dvd:// でデバイス ID を指定
-ss はトリミングしたい場合にスタートポジションを指定
-endpos で同様にエンディングポジションを指定。実際はポジションではなく、スターティングからの時間(例の場合は 3 秒目から 48 秒)
-aspect アスペクト比を指定
lavc でエンコーディングタイプを指定。 vbitrate などは出直したいファイルサイズに合わせてうまい事調整
-vf もしクロッピングが必要ならサイズ、ポジションを w:h:x:y で指定(たぶん)
mp3lame でオーディオ設定。 br でビットレート指定。ボリュームは vol でコントロール可能
-o で出力ファイル名指定。
この前 MySQL をパッケージでインストールしたら、 Mac 起動時に mysqld が勝手に起動する。これを起動しないようにするには、 /etc/hostconfig を修正すれば良い。
$ sudo vi /etc/hostconfig
AFPSERVER=-NO- AUTHSERVER=-NO- AUTOMOUNT=-YES- NFSLOCKS=-AUTOMATIC- NISDOMAIN=-NO- TIMESYNC=-YES- QTSSERVER=-NO- WEBSERVER=-NO- SMBSERVER=-NO- SNMPSERVER=-NO- MYSQLCOM=-NO-
ちなみにスタートアップスクリプトの場所は、
/Library/StartupItems/MySQLCOM/MySQLCOM
/usr/local/mysql/support-files/mysql.server
なので、これを使って起動したいときは、
$ sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
$ sudo /usr/local/mysql/support-files/mysql.server start
Mac/MacBook 特有のショートカットキーで、 Windows と違うものだけとりあえず書いておく。少しずつ慣れてきた。
覚えちゃえば見ないだろうけど。
Windows の CTL 系ショートカットは CMD キーを代わりに使えば効くことが多い。
あと、 Terminal はコントロールキーがそのままコントロールキーとして働く。で CMD キーを併用すればコピーアンドペイストもできて便利。
ブラウザは Safari 。
Mac の標準ではドットファイルやシステムファイルが Finder 上に表示されない。これを表示させるコマンドは以下の通り。
$ defaults write com.apple.finder AppleShowAllFiles TRUE $ killall Finder
戻すには TRUE を FALSE にして実行すればよい。
実は safari には標準で firebug のような機能がついていて、標準ではこれが無効になっているだけだったりする。これを有効にするには、 com.apple.safari プロパティに WebKitDeveloperExtras を追加してやれば良い。
$ defaults write com.apple.Safari WebKitDeveloperExtras -bool true
もしくは Finder で ~/Library/Preferences/com.apple.Safai.plist を開いて、さっきのプロパティを追加しても OK 。
これで確認したいエレメントを右クリックすれば、Inspect Element っていうのが確認できるはず。