ubuntu ogre kinect sampleappsinbad openni nite

一年くらい前にポーティングしたOpenNI/NITE のデモSampleAppSinbad をUbuntu 11.10 x86_64 の環境で動かしてみた。

Ubuntu 11.10 x86_64 (Linux kernel 3.0.0-16)
OpenNI/NITE 1.5.2
avin2-sensor 5.1.0.25
Ogre3d 1.7.3
gcc/g++ 4.6.1
codeblocks 10.05

ソースコードとロードモジュール: https://github.com/ktkr3d/sample-app-sinbad

Sample_Character.so のビルド時に以下のエラーがでるようになったけれど、

コンパイル中: src/CharacterSample.cpp
リンク中 動的ライブラリ: ../bin/Sample_Character.so
/usr/bin/ld: obj/Release/src/CharacterSample.o: relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
obj/Release/src/CharacterSample.o: could not read symbols: Bad value
collect2: ld はステータス 1 で終了しました
プロセスはステータス 1 で終了しました (0 分 10 秒)
0 個のエラー、 0 個の警告

-fPIC オプションをつけたらビルドできた。

コンパイル中: src/CharacterSample.cpp
リンク中 動的ライブラリ: ../bin/Sample_Character.so
出力サイズは 232.84 KB
プロセスはステータス 0 で終了しました (0 分 5 秒)
0 個のエラー、 0 個の警告