mieki256's diary



2021/09/01(水) [n年前の日記]

#1 [povray][ubuntu][debian] qtpovmodelerを動かせないか実験中

POV-Ray専用モデリングツール kpovmodeler からKDE関連の記述を削除して Qt に置き換えたらしい qtpovmodeler を、Ubuntu Linux 20.04 LTS 上で動かせないものか実験中。

_dickbalaska/qtpovmodeler: povray modeler
_POV-Ray: Newsgroups: povray.tools.general: building povmodeler?

ビルドの仕方は以下…だと思う。たぶん。
sudo apt install libfreetype6 libfreetype6-dev libqt5x11extras5 libqt5x11extras5-dev libqt5opengl5 libqt5opengl5-dev

mkdir qtpovmodeler
cd qtpovmodeler

git clone https://github.com/dickbalaska/qtpovmodeler.git
cd qtpovmodeler
qmake
make -j4
./qtpovmodeler

ビルドは通ったし、画面も表示されたけど、プリミティブを何一つ追加できないのが気になるわけで。惜しい。もうちょっとで動きそうな感じに見えるのだけどな…。

起動時に baseinsertrules.xml が見つからないと言っているのが気になる。ファイル名からして、基本形状の挿入時に必要になるファイルではないのだろうか…。

_POV-Ray: Newsgroups: povray.tools.general: building povmodeler?: Re: building povmodeler?

上記のやり取りで、「/usr/share/povmodeler/ 内に以下のファイル群が入っている」みたいな話をしているように見える。

作者さんは、他の版の .deb をインストールしてから qtpovmodeler 本体を制作しているので、必要な関連ファイルは .deb でインストール済みであることを前提にしている模様。ただ、その .deb ファイルは404なんだよな…。

各ファイルは、git clone してビルドした際のディレクトリの中に、いくつか存在している。であれば、/usr/share/povmodeler/ を作成して、コピーしてやれば済むのではないか…? 試してみる。

sudo mkdir /usr/share/povmodeler
sudo cp baseinsertrules.xml /usr/share/povmodeler
sudo cp -r examples /usr/share/povmodeler
sudo cp povraydocmap.xml /usr/share/povmodeler
sudo cp questionmark.png /usr/share/povmodeler
library とやらは見当たらなかったのでコピーできなかった。

この状態で qtpovmodeler を実行してみたところ、プリミティブが追加できるようになった。また、POV-Ray でレンダリングすることもできた。

qtpovmodeler_ss01.png

qtpovmodeler_ss02.png

雑感。 :

いくつか気になる点はあるけれど…。
  • ツールバー上からレンダリングボタンが無くなっていて、View → Render を選ばないとレンダリングできない。地味に面倒臭い。
  • .pov をエクスポートする際、毎回保存先フォルダを指定し直さないといけない。地味に面倒臭い。
  • 端末上から実行すると、ガンガン警告メッセージが出てくる。結構不具合を抱えた状態でどうにか動いてるらしい。

それでも、GUIでプリミティブ配置を確認しつつ作業していけるあたりはイイ感じだなと。

また、レンダリングする直前、POV-Ray 3.7 に渡すコマンドラインオプションを編集できるダイアログを表示してくれるので、本家 kpovmodeler のように、利用できないオプションを勝手に出力されて POV-Ray 3.7 がエラーを出して終わりというトホホな状況も避けられる。 *1

何より、KDE (TDE) をインストールしてない環境でも動いてくれるのはありがたい…。

povmodelerの種類についてメモ。 :

POV-Ray公式のニュースグループ上のやり取りによると、kpovmodeler のフォーク版は、少なくとも3種類あるようで。

  • eticreさんが作った povmodeler。
  • simbad(tribad)さんが作った povmodeler。
  • Dick Balaskaさんが作った qtpovmodeler。

_eticre/povmodeler: povray modeler
_POV-Ray: Newsgroups: povray.programming: povmodeler

_tribad/povmodeler: povray modeler
_POV-Ray: Newsgroups: povray.programming: povmodeler

_dickbalaska/qtpovmodeler: povray modeler
_POV-Ray: Newsgroups: povray.tools.general: building povmodeler?

eticre版 povmodeler は、kpovmodeler からKDE関連を削除してQtに置き換えてみた最初のフォーク版。cmakeを使用する。まだ一部にKDE関連の記述が残っているらしい。

simbad(tribad)版 povmodeler は、eticre版を元にして、UIデザインを変更、KDE関連の記述を更に削除、一部のバグを修正した版。これも cmakeを使用する。一時期は .debファイルも配布していたが、現在それらの .debファイルは404になってる。

dickbalaska版 qtpovmodeler は、おそらく eticre版を元にして、qmakeを使用するようにした版。povmodeler という名前は eticre版や simbad(tribad)版で既に使っているという理由で、qtpovmodeler にリネームしたらしい。一度ビルドが通った後は、qtcreator を使って開発作業を進めてるとのこと。

ちなみに、手元の環境、Ubuntu Linux 20.04 LTS x64上では、dickbalaska版 qtpovmodeler しかビルドできなかった。eticre版 povmodeler と simbad(tribad)版 povmodeler はビルドが通らなかった。

もしかすると、Debian Linux上なら、eticre版やsimbad(tribad)版もビルドが通ったりするのだろうか…?

Debian Linux 11 bullseye上で試してみた。 :

Windows10 x64 21H1 + VMware Workstation 16 Player 上で Debian Linux 11 64bit bullseye をインストールして試してみた。debian-11.0.0-amd64-netinst.iso を使ってインストールしようとしたけれど、パッケージのダウンロードが遅くて遅くて3時間ぐらいかかった…。

さておき、ビルドに必要になりそうなパッケージをインストール。
apt install build-essential cmake git
apt install libfreetype6 libfreetype6-dev libqt5x11extras5 libqt5x11extras5-dev libqt5opengl5 libqt5opengl5-dev
apt install libx11-dev xorg-dev libglu1-mesa libglu1-mesa-dev libgl1-mesa-glx libgl1-mesa-dev libglfw3 libglfw3-dev libglew-dev
apt install libxml2-dev
apt install povray

simbad(tribad)版 povmodeler を git clone して cmake。
mkdir povmodeler
cd povmodeler

git clone https://github.com/tribad/povmodeler.git
cd povmodeler
mkdir build
cd build
cmake ..
make -j4

エラーが出た。
[100%] Linking CXX executable povmodeler
/usr/bin/ld: missing --end-group; added as last command line option
/usr/bin/ld: ../modelifc/libmodelifc.so: undefined reference to `xmlFree'
/usr/bin/ld: ../modelifc/libmodelifc.so: undefined reference to `xmlGetProp'
collect2: error: ld returned 1 exit status
make[2]: *** [src/modeller/CMakeFiles/povmodeler.dir/build.make:603: src/modeller/povmodeler] エラー 1
make[1]: *** [CMakeFiles/Makefile2:339: src/modeller/CMakeFiles/povmodeler.dir/all] エラー 2
make: *** [Makefile:171: all] エラー 2
Ubuntu Linux 20.04 LTS で試したときと同じエラー。

Debian ならビルドが通るわけでもないみたいだなと…。

eticre版povmodeler はどうだろう。そちらも試してみた。
git clone https://github.com/eticre/povmodeler.git
cd povmodeler
mkdir build
cd build
cmake ..
make -j4

警告メッセージが色々出てきたけど、こちらはビルドが通った。つまり、比較的素の状態に近い Debian Linux 上なら、eticre版 povmodeler もビルドできそう、ということになるのだろうか。

make install をしたら、 ~/.local/share/povmodeler/ 以下にインストールされた。中に入ってたファイル群は以下。
$ ls ~/.local/share/povmodeler/
baseinsertrules.xml
examples/
liblpovmodeler.a
libpovmodelerpart.a
library/
org.povmodeler.xml
povmodeler
povmodeler.desktop
povraydocmap.xml
questionmark.png

libraryフォルダがある…。qtpovmodeler も、この libraryフォルダを /usr/share/povmodeler/ にコピーすればいいのかな。

それはともかく、~/.local/share/povmodeler/povmodeler を実行したら画面が表示された。POV-Ray でレンダリングもできた。しかし、POV-Ray のウインドウを閉じることができない…。povmodeler を終了させて、killall povray でプロセスを殺すしかないな…。

今のところ、dickbalaska版 qtpovmodeler が、一番イイ感じで動いてくれた印象。関連ファイルを手動でコピーしてやる必要はあるけれど…。

*1: もっとも、コマンドラインオプションを一旦ダイアログで表示する機能は将来削除したい、みたいな話も出ていたようだけど…。それをやると、kpovmodeler と同じトラップが将来発動すると思うんだけどな…。

以上、1 日分です。

過去ログ表示

Prev - 2021/09 -
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project