MacのOctaveでPTBを起動する

よく分からないけど,突然MacのPTBが使えなくなったので検索すると以下のページが出てきた.

4 MacのOctaveでPTBを動かすときの注意点

これによるとOctaveを起動する前にDYLD_LIBRARY_PATHの設定が必要なようだ. 僕の環境の場合,HomebrewでOctaveをインストールしたので,

>> export DYLD_LIBRARY_PATH=/usr/local/lib/octave/3.8.X

とすれば良かった.

いちいち打つのが面倒な場合は,~/.bashrcや~/.zshrcなどに

alias octave="DYLD_LIBRARY_PATH=/usr/local/lib/octave/3.8.X; octave"

と追記する.

ちなみにiMac 5K retinaだと,PTBは,Screen(0, 'OpenWindow') で引っかかって動かないけど,外部ディスプレイにすれば一応使える. あと,tmux上で起動するとPTB-Warningが何個か出る.

Fatal Python error: PyThreadState_Get: no current thread

Mac OS 10.10上のAnaconda python2.7でSPAMS (SPArse Modeling Software) をインストールするとタイトルのエラーが出てpythonが終了する. 次のようにsetup.pyを書きなおしてインストールすると,とりあえず動いた.

if osname.startswith("macosx"):
    cc_flags = ['-fPIC', '-fopenmp','-m32']
    # link_flags = ['-m32', '-framework', 'Python']
    link_flags = ['-m32']
    libdirs = ['/anaconda/lib'] # 自分の環境のanacondaのパスにする

再びインストールするには,

>> rm -r build
>> python setup.py install

とすれば良い.

Time Machineのフルバックアップ

4年弱使用したMacBook Pro 13からMacBook Pro 13 retinaに移行した.

新たな気持ちで新しいMacは使いたいから,移行アシスタントなんて使わない」

という人がネット上に散見されるけど,「相当暇なのかな」と思う.

 

もちろん僕は移行アシスタントを使って,データの引き継ぎを行ったのだけど,なぜかハマってしまい,まる2日位かかってしまった(ほとんど待ってただけだけど).

 

やりたかったこと

  • MacではUSB外付けHDDを使ってTime Machineを使っていた
  • Macの初期セットアップ時に,その外付けHDDを接続し,移行アシスタントを使いたい

症状

  • 初期セットアップ時に,外付けHDDが転送元の候補として出てこない(「移行元を検索中」と出てから先に進めない)
  • 「電源+Command R」でリカバリーモードで起動から復元を試みるも,復元も過去のバックアップ(約1年前)からしか選べない(HDDは壊れていない?)

解決

MacにおけるTime Machineの不具合が原因だった.

以下の記事が参考になった.

10.9 Mavericksインストール時TimeMachineから移行できない。 | Apple サポートコミュニティ

日々兼ねて思いつくところをせいといたしおり申候: OS X (Mavericks)の完全バックアップが作成できない場合

 

 

以下の手順で,旧Macにおけるバックアップを行い,移行アシスタントを利用する.

com.apple.timemachine.plistを編集

/Library/Preferences/com.apple.timemachine.plistのExcludeByPathから以下の項目を削除する.

  • /Applications
  • /Library
  • /System
  • /bin
  • /private
  • /sbin
  • /usr 

com.apple.timemachine.plistは削除するだけでもリセットするという噂もあるが,僕の場合は直接編集しないと削除できなかった.

このplistはルート権限なので,直接は編集できない.

なので,一度どこかにコピーして,編集後,元の位置に戻すか,コマンドライン上で編集すれば良い.

 sudo vi /Library/Preferences/com.apple.timemachine.plist

 

Time Machineのバックアップを実行

再起動後,Time Machineを実行する.

かなり時間がかかる.

僕の場合は5時間ほどかかった(USB2.0).

再び移行アシスタント

外付けHDDを接続して,初期セットアップを行うと,なんの問題も無くデータが転送された.

所要時間は1時間半ほど(USB3.0).

まとめ

Time Machineでバックアップをとっているからと言って安心してはいけない

latexdiffでの改行コードによるエラー

latexdiffがエラーばっかり吐いているので,それの対処法.


いつの間にかtexの改行コードがLFからCRに変更してしまったらしく,

Missing characters near word 1352 character index: 8492-8497 Length: 4 Match: |The | (expected match marked above).

というようなエラーを大量に吐くようになってしまった.



改行コードを直したらすぐ治りました.
nkfだと,

nkf -Lu --overwrite hoge.tex

という感じで改行コードを変更することが出来る.