[OpenFrameworks] ofxSyphon追加時の dyld: Library not loaded: @loader_path … のエラー

LINEで送る
Pocket

少しはまっていたのでメモ。

SyphonとはMac OSX用の、アプリケーション間の画面を共有するためのフレームワークです。

これを使うとアプリAで映像を加工し、アプリBで別の映像を加工したものをアプリCでミックスする、といったようにアプリケーション間で映像を再利用することが簡単にできる非常に便利なものです。

Modul8やMadMapper、確かGrandVJなどの主要VJソフトも対応しています。

通常のSDKもあるのですが、ofxSyphonというOpenFrameworksのアドオンも開発されています。

今回はそれを追加しようとしたときに発生したエラーとその解決方法を残しておきます。

単純にofxSyphonのアドオンを addonsフォルダに追加し、ビルドすると、アプリが起動するときに突然このエラーで落ちてしまうという問題が起きました。

dyld: Library not loaded: @loader_path/../Frameworks/Syphon.framework/Versions/A/Syphon
Referenced from: /Users/artcoreface/utopia/vj/kinect/openframeworks_0062/apps/examples/ofxKinect_fft_syphon/bin/ofxKinectDebug.app/Contents/MacOS/ofxKinectDebug
Reason: image not found
sharedlibrary apply-load-rules all

下記のURLに書いているのですが、これはSyphon.frameworkがビルド時にコピーされないために実行時にあるはずのファイルが存在しなくなり、起きているエラーです。

こういうエラーが発生した場合は、Syphon.frameworkが正しくコピーされるようにしないといけません。

プロジェクトファイルを選択肢、「Build Phases」の「Copy Files」にSyphon.frameworkをドラッグ&ドロップするとビルド時に正しくコピーされるようになり、エラーが解消されます。

ofxsyphon

http://forums.v002.info/topic.php?id=52

※マシン間での通信はできないそうです。また、対応させる予定もしていないようです。

Lionにmacportsをインストールできない

LINEで送る
Pocket

新しくMacBookを買ったりして、普通にLionがインストールされているだけの場合、macportsをインストールできないことがあります。

バイナリの場合は、「このMacにはインストールできません」といわれ、ソースコードの場合は ./install.shしたときに「no acceptable C compiler found in $PATH」といわれます。

この場合、XCodeをインストールすると問題なくインストールできるようになります。

Lionにしたらhelpdがメモリを圧迫してる件

LINEで送る
Pocket

先日からMacをOSX 10.7 Lion にしたのですが、どうやらSnow Leopardの時に比べると画面が動かなくなる事が多くなりました。

あまりにも頻繁にこの現象が怒るからアクティビティモニタで調べてみると、helpdというプロセスがメモリを圧迫していました。(実メモリで800MB程度、仮想メモリで1GB以上)

で、helpdってなに?と思って調べてみると、どうやらLionでも同じ現象が発生しているようで、Appleのサポートコミュニティにも投稿がありました。

なにかのソフトのヘルプで使ってるらしいです。
僕の環境ではXCodeのヘルプでAPIをみる事が多いのでそれも原因だった可能性があります。
これは僕のマシンはそろそろ対象外、というか古い機種になったって事なんでしょうね。。。

Appleのサポートコミュニティ記事はこちらです。
https://discussionsjapan.apple.com/message/100606044#100606044

KinectをOpenNI / Macで使ったときにはまった事1

LINEで送る
Pocket

KinectをOpenNIを使えばunstable版ではありますが、Macでも使う事ができます。
で、普段のWebやPC、Mobileのアプリとは異なりハードウェア的な観点で注意しないと行けない事があり、ちょっとハマってしまった事があったので書いておきます。

今までまったくもって普通に動いていたアプリが突然すごくカクカクと動いてしまっていたのですが、ソースコード上の無駄をどれだけそぎ落としても、Kinectのデータ更新を別スレッドで行うようにしてもカクつきがまったく改善されなく、原因がわからなくて途方に暮れていたところ、試しにUSBの差し口を変更した所今までどおり高速に動作するようになりました。
どうやら状態によって通信速度が変わる事が考えられます。

MacBook ProのUSBポートは内部的には同じもののはずだからどちらに差したからと言って通信速度が変わることはないと思っていたのですが、そんな事も無かったです。

Kinect自身はUSBでPCと繋いでデータを受信します。KinectはXtion Proなどのデバイスとは違い、USBだけでは正しく動作しないのでコンセントにさす必要もあるのですが、電気の供給が不足しているときにも動きがカクカクしてしまう事がありました。

USBを差し替える前後の違いが分かるように動画をアップしましたので気になる方はご覧下さい。

はまりどころを抜けて、こんな感じのサンプルを作りました。

MacでのOpenNIのアンインストール

LINEで送る
Pocket

Windows上でのOpenNIのアップデートでは結構苦戦した経験があり、自分のMacでは更新しないようにしていたのですが、OpenNIのアップデートで治るのなら、という不具合に出会ってしまったのでこの度更新する事にしました。

基本的なところですが、そのときのアンインストールのやり方を残しておきます。

※ちなみに、新たにインストールする場合は、こちらのサイトを参考にして下さい。非常に分かりやすくまとめられています。

http://www.cyber.t.u-tokyo.ac.jp/~take/kinect/openni-mac-kinect.html

1. OpenNIのアンインストール

OpenNIをアンインストールします。Terminalで作業を行います。

  1. OpenNIをインストールしたフォルダ(OpenNI-Bin-v….の様な名前です。)に移動します。
  2. “sudo ./install.sh -u” と入力すると、OpenNIがアンインストールされます。

2. SensorKinectのアンインストール

ドライバであるSensorKinectをアンインストールします。

  1. SensorKinectをアンインストールしたフォルダに移動します。
  2. “sudo ./install.sh -u”と入力すると、アンインストールできます。

これで無事にアンインストールが完了しましたので、上記リンク先のサイトの通りにインストールを行って下さい。

./Ni-SimpleViewerなどが実行できるようになれば、インストール完了です。

[iOS] OSStatusの結果について

LINEで送る
Pocket

オーディオとかMIDIとかの場合は良くOSStatus err
とかして処理が成功しているかを確認すると思うのですが、エラーを出したときにいつも検索して調べてたので自分のために残しておきます。
せっかくなので、日本語にしておきました。ちょっと翻訳が怪しいところもあるので突っ込みがあれば頂けると助かります。

errSecSuccess = 0
成功(エラーなし)
errSecUnimplemented = -4
関数か操作が実装されていない
errSecParam = -50
関数に送っている一つ以上のパラメーターが不正。
errSecAllocate = -108
メモリの確保に失敗
errSecNotAvailable = -25291
利用可能なキーチェーンが存在しない。コンピューターの再起動をすすめます。(翻訳が怪しいかも?)
errSecDuplicateItem = -25299
特定のアイテムが既にキーチェーンに存在する
errSecItemNotFound = -25300
特定のアイテムがキーチェーンの中に見つけられなかった
errSecInteractionNotAllowed = -25308
ユーザーインタラクションが許されていない
errSecDecode = -26275
与えられたデータをデコードできない

完全にこちらのサイトを見させていただいて書きました。ありがとうございます。
http://d.hatena.ne.jp/feb-hare/20100729/1280359887

MAMPをセットアップ、PHPMyAdminでつまづく

LINEで送る
Pocket

今月はオフィスを離れて仕事をする事が増えるだろう、ということで、メインマシンである、MacBookで移動中も開発すべく、ローカルにMAMPをインストール。

で、PHPMyAdminの画面を開いても、エラーがでる。

『#2002 – サーバが応答しません (あるいはローカルの MySQL サーバのソケットが正しく設定されていません) 』

ってね。

うーん。。。。。とうなってると、原因はどうやら、PHPMyAdminで使うMySQLの設定が違ってたみたい。

/Applications/MAMP/bin/phpMyAdmin/config.inc.phpのこの箇所をこう記述。
$cfg[‘Servers’][$i][‘extension’] = ‘mysqli'; 

無事動く。

当たり前ですね。MySQLのバージョンが5.0.41なんだから。

ってかさいっしょっからその設定に変えておいてよ。

2008年2月3日23:36

Mac OS X でのJava

LINEで送る
Pocket

2007年6月27日21:56より

ActionScript3.0が大変Javaに似ている、そういう話しを聞いていたので、ちょっとだけjavaを触ってみることにしました。

で、MacではどこにJavaのファイルあるの?と思っていると、こんな記事。

http://developer.apple.com/jp/qa/qa2001/qa1170.html

『Mac OS X ではこれに相当するものは、常に /Library/Java/Home 』

メモですよ。