/var/log

技術系のあれこれ。※内容は個人の発言であり、所属する組織を代表するものではありません。

libdc1394/fftw3

実はまだ大学院生でして

研究室ではfirewireのカメラを使ったり,フーリエ解析を行うこともあるので
たまにタイトルのような名称のライブラリを使う必要があります.



僕が
ネ申とあがめている教官(今はこうは呼ばない?)がマカーなので,研究室でもMacを使っています.


libdc1394やらfftw3はもともと純正(?)Linux用に
書かれているライブラリなのでMacに入れるにはパッケージ管理のソフトに任せるのが楽です.

MacだとLinuxのパッケージを入れる為には
Macports
Fink
という有名なパッケージ管理プログラムがあります.
(他にもありますか?よく知りません)



ちなみに,僕はソースからコンパイルして入れるのが好き(笑

./configure
make
sudo meke install


みたいな感じでコマンド打つのカッコイイと思ってますwww



/////////////////////////////////////////////////////////

少し話がかわって...

Apple
少し前にSnow LeopardというOSをリリースしました.

例に漏れず
僕の所属する研究室もupgradeしてる最中なんですが...

いかんせん,
64bitなのかそうでないのかよく分からない状態なのでトラブルだらけです(ーー;
(まぁ大概ちょっとがんばりゃ,僕でもなんとかなるので
ほんとのhackerさんたちにすれば問題ないというレベルだと思う)


Leopard時代に
作った研究用のプログラムも一部動かなくなってます.


Macなんで,開発にXcodeを使っているのですが
Xcodeインストール時に一緒に入るgccコンパイラgcc-4.2になっていて
勝手に64bitのバイナリを吐いてしまう...

そして
インストールした対象のマシンがMacProやらMacBookProなので
64bitの環境と思い込んでしまうようです.


32bit環境で作った
プログラムのコンパイル
    +
ライブラリへのリンク

がうまくいく訳がない...ですよね?



/*----------------------------------------
実際のところ
64bitと32bitの違いも完璧には理解してないのですが...

メモリ空間が広がるので

より精度の高い演算が可能
      +
プログラムコードを実メモリに展開可能な場合が多くて高速


ぐらいの考えしかないです
-------------------------------------*/



それもあってか
Leopardで動いてたものが動かなくて困ってました.

一応の解決策は見つけたので
libdc1394もfftw3も64bit環境(?)で動きます.


巷ではソースからコンパイルするときに

./configure CC="gcc-4.0" CXX="g++-4.0"
make
sudo make install

で強制的に32itでモノを作って,
自分のプログラムも32bitコンパイルするようしてる人が多い気がします.


でも,
自分でソースから作るのは...と思う人にはあまり納得のいく解決策じゃないと思います.

なんでー
後日finkを使ってどうにかする方法を書きます.
(つってもミソは64bitのfink使うだけだけどw)

原因は特定できてないかもしれないですが...







ちなみに研究室では
計算機に32bit動作のFinkでパッケージを管理しているからややこしい話になってるのかな?
というのが現時点での僕の理解です.


////////////////////////////////////////////////////////////

64bitになるのはいいけど
僕は,あんまし,恩恵をえられてないよなぁ〜

PhotoshopIllustratorみたいに
メモリをバンバカ使用するソフト使ってる人は
体感速度として早くなってるかもしれないけど...




まぁなにより現時点では
「6」と「4」のキーを押さないと64bitカーネルで起動しないから意味なしw