2021/08/31(火) [n年前の日記]
#1 [povray][ubuntu] kpovmodelerを試用
kpovmodeler という、POV-Ray専用モデリングツールがあるらしい。
_KpovModeler - KDE Store
_kpovmodeler - Home (WebArchive)
KDEのアプリケーション群の一つだそうで、*NIX上でしか動かない。更に、今時の KDE は 4.x とか 5.x になっているから kpovmodeler は含まれておらず、KDE 3.5 からフォークした TDE (Trinity) なら、まだかろうじて kpovmodeler が含まれている状態っぽい。
_Trinity (デスクトップ環境) - Wikipedia
_KDE - Wikipedia
気になったので試用してみた。
環境は、Windows10 x64 21H1 + VMware Workstation 16 Player 16.1.0 build-17198959 + Ubuntu Linux 20.04 LTS x64。
_KpovModeler - KDE Store
_kpovmodeler - Home (WebArchive)
KDEのアプリケーション群の一つだそうで、*NIX上でしか動かない。更に、今時の KDE は 4.x とか 5.x になっているから kpovmodeler は含まれておらず、KDE 3.5 からフォークした TDE (Trinity) なら、まだかろうじて kpovmodeler が含まれている状態っぽい。
_Trinity (デスクトップ環境) - Wikipedia
_KDE - Wikipedia
気になったので試用してみた。
環境は、Windows10 x64 21H1 + VMware Workstation 16 Player 16.1.0 build-17198959 + Ubuntu Linux 20.04 LTS x64。
◎ TDEのインストール。 :
TDE (Trinity) 上でしか動かないらしいので、まずは TDE をインストールしないといけない。以下のページを参考にしてインストール作業をした。
_Ubuntu 20.04.1 をインストールして、TDE (Trinity) デスクトップを追加〈H98〉 - Linux あれこれ
_Ubuntu Trinity Repository Installation Instructions - Trinity Desktop Project Wiki
_Trinity Desktop Environment
ちなみに、リポジトリ設定を変更して TDE をインストールするわけだけど、変更後に sudo apt update をすると以下のエラーメッセージが出続ける。
Ubuntu Linux は i386 をサポートしなくなったのだけど、そのことが関係してるのだろうか…?
ググってみたら、「deb の直後に [arch=amd64] を追加せよ」という解決策に遭遇。
_Ubuntuでリポジトリのダウンロード失敗対処 - Libra Studio エンジニアブログ
試してみたら、件のエラーメッセージが出なくなった。助かった。
_Ubuntu 20.04.1 をインストールして、TDE (Trinity) デスクトップを追加〈H98〉 - Linux あれこれ
_Ubuntu Trinity Repository Installation Instructions - Trinity Desktop Project Wiki
_Trinity Desktop Environment
ちなみに、リポジトリ設定を変更して TDE をインストールするわけだけど、変更後に sudo apt update をすると以下のエラーメッセージが出続ける。
N: リポジトリ 'http://mirror.ppa.trinitydesktop.org/trinity/deb/trinity-r14.0.x focal InRelease' がアーキテクチャ 'i386' をサポートしないため設定ファイル 'main/binary-i386/Packages' の取得をスキップ N: リポジトリ 'http://mirror.ppa.trinitydesktop.org/trinity/deb/trinity-builddeps-r14.0.x focal InRelease' がアーキテクチャ 'i386' をサポートしないため設定ファイル 'main/binary-i386/Packages' の取得をスキップ
N: Skipping acquire of configured file 'main/binary-i386/Packages' as repository 'http://mirror.ppa.trinitydesktop.org/trinity/deb/trinity-r14.0.x focal InRelease' doesn't support architecture 'i386' N: Skipping acquire of configured file 'main/binary-i386/Packages' as repository 'http://mirror.ppa.trinitydesktop.org/trinity/deb/trinity-builddeps-r14.0.x focal InRelease' doesn't support architecture 'i386'
Ubuntu Linux は i386 をサポートしなくなったのだけど、そのことが関係してるのだろうか…?
ググってみたら、「deb の直後に [arch=amd64] を追加せよ」という解決策に遭遇。
_Ubuntuでリポジトリのダウンロード失敗対処 - Libra Studio エンジニアブログ
試してみたら、件のエラーメッセージが出なくなった。助かった。
sudo vi /etc/apt/sources.list
deb [arch=amd64] http://mirror.ppa.trinitydesktop.org/trinity/deb/trinity-r14.0.x focal main deb [arch=amd64] http://mirror.ppa.trinitydesktop.org/trinity/deb/trinity-builddeps-r14.0.x focal main deb-src [arch=amd64] http://mirror.ppa.trinitydesktop.org/trinity/deb/trinity-r14.0.x focal main deb-src [arch=amd64] http://mirror.ppa.trinitydesktop.org/trinity/deb/trinity-builddeps-r14.0.x focal main
◎ kpovmodelerのインストール。 :
パッケージ名は、kpovmodeler-trinity らしい。
当然ながら POV-Ray も利用するのでインストールしておく。POV-Ray 3.7 がインストールされる。
sudo apt install kpovmodeler-trinity
当然ながら POV-Ray も利用するのでインストールしておく。POV-Ray 3.7 がインストールされる。
sudo apt install povray povray-doc povray-examples
◎ kpovmodelerを試用してみる。 :
kpovmodeler は KDE のアプリケーションなので、KDE (TDE) が立ち上がってる状態じゃないと利用できない。Ubuntu Linux 20.04 LTS x64 のログイン時にTDEを選んでログインする。
スタートメニュー → グラフィックス → kpovmodeler、を選択すれば起動する。
見た目はかなりイイ感じ。
ところが、POV-Ray でレンダリングしようとしたらエラー発生。
まず、~/.povray/3.7/povray.conf が見つからないと言っている…。
ググったら、解決策に遭遇。
_povray - Using POV-Ray installed via the APT - Ask Ubuntu
/etc/povray/ 以下に該当ファイルが存在するらしい。ln でリンクを作れば解決しそう。
これで、~/.povray/3.7/povray.conf が無いというエラーは出なくなった。しかし、相変わらず以下のエラーが出る。
POV-Ray のニュースグループでも質問されていた。
_POV-Ray: Newsgroups: povray.beta-test: QR command line option
上記のやり取りによると、POV-Ray に QR というコマンドラインオプションは存在しないのに、kpovmodeler が指定しちゃってるらしい。POV-Ray 3.5 の時点でも、そんなオプションは無いのだとか。また、kpovmodeler は POV-Ray 3.1時代のアプリではないか、という話も出ている…。たしかに、画面のあちこちに「3.1」という表記が見える…。POV-Ray 3.1 時代なら QR というオプションにも意味があったのだろうか…?
POV-Ray (povray) に渡しているオプションをどこかの設定項目で指定しているのではないかと探してみたけど、それらしい設定は見当たらなかった。もしかすると kpovmodeler のソースコード内でハードコーディングされちゃってるのかもしれない。
何にせよ、古過ぎるから現状の POV-Ray と仕様が合ってなくて不具合が出るモデリングツール、ではあるらしいなと。まあ、このツールを使いたい時は、必ず KDE (TDE) の利用を強制されるあたりも、なんだかアレだけど…。
ちなみに、ファイル → エクスポート、で .pov を出力することはできた。出力された .pov を使って、端末上で povray hoge.pov と打ってやったらレンダリング結果は得られた。kpovmodeler から直接 POV-Ray を呼び出すのは無理だけど、.pov をエクスポートして云々という流れなら使えるのかもしれない。
スタートメニュー → グラフィックス → kpovmodeler、を選択すれば起動する。
見た目はかなりイイ感じ。
- ツールバー上のアイコンは、GIMP や blender のようなモノクロ1色の見分けにくいソレではなくて、それぞれにちゃんと色がついているので視認性が高い。
- オブジェクトのプロパティはツリー表示されているので、どこに、何が、どんな順番で含まれているのかがとても分かりやすい。
ところが、POV-Ray でレンダリングしようとしたらエラー発生。
povray: cannot open the user configuration file /home/USERNAME/.povray/3.7/povray.conf: No such file or directory Problem with option setting povray +W800 +H600 +Q9 -QR +A +AM0 +A0.300 -J +R2 +UA +I/tmp/tde-mieki256/kpovmodelerSlz0Tc.pov +O- +FT +K0.0 +KFI1 +KFF1 +KI0.0 +KF0.0 +SF1 +EF1 -KC -D Failed to parse command-line option
まず、~/.povray/3.7/povray.conf が見つからないと言っている…。
ググったら、解決策に遭遇。
_povray - Using POV-Ray installed via the APT - Ask Ubuntu
/etc/povray/ 以下に該当ファイルが存在するらしい。ln でリンクを作れば解決しそう。
ln -s /etc/povray ~/.povray
これで、~/.povray/3.7/povray.conf が無いというエラーは出なくなった。しかし、相変わらず以下のエラーが出る。
Problem with option setting povray +W800 +H600 +Q9 -QR +A +AM0 +A0.300 -J +R2 +UA +I/tmp/tde-mieki256/kpovmodeler1hN41c.pov +O- +FT +K0.0 +KFI1 +KFF1 +KI0.0 +KF0.0 +SF1 +EF1 -KC -D Failed to parse command-line option
POV-Ray のニュースグループでも質問されていた。
_POV-Ray: Newsgroups: povray.beta-test: QR command line option
上記のやり取りによると、POV-Ray に QR というコマンドラインオプションは存在しないのに、kpovmodeler が指定しちゃってるらしい。POV-Ray 3.5 の時点でも、そんなオプションは無いのだとか。また、kpovmodeler は POV-Ray 3.1時代のアプリではないか、という話も出ている…。たしかに、画面のあちこちに「3.1」という表記が見える…。POV-Ray 3.1 時代なら QR というオプションにも意味があったのだろうか…?
POV-Ray (povray) に渡しているオプションをどこかの設定項目で指定しているのではないかと探してみたけど、それらしい設定は見当たらなかった。もしかすると kpovmodeler のソースコード内でハードコーディングされちゃってるのかもしれない。
何にせよ、古過ぎるから現状の POV-Ray と仕様が合ってなくて不具合が出るモデリングツール、ではあるらしいなと。まあ、このツールを使いたい時は、必ず KDE (TDE) の利用を強制されるあたりも、なんだかアレだけど…。
ちなみに、ファイル → エクスポート、で .pov を出力することはできた。出力された .pov を使って、端末上で povray hoge.pov と打ってやったらレンダリング結果は得られた。kpovmodeler から直接 POV-Ray を呼び出すのは無理だけど、.pov をエクスポートして云々という流れなら使えるのかもしれない。
◎ KDEを使わない版も一時期作られていたらしい。 :
関連情報をググっていたら、一時期、kpovmodeler からKDE関係の記述を削除して、Qt で置き換えてビルドできるようにしてみた方が居たと知った。
_POV-Ray: Newsgroups: povray.programming: povmodeler
_eticre/povmodeler: povray modeler
_POV-Ray: Newsgroups: povray.programming: povmodeler
_tribad/povmodeler: povray modeler
_POV-Ray: Newsgroups: povray.tools.general: building povmodeler?
_dickbalaska/qtpovmodeler: povray modeler
ビルドできるか試してみる。
cmake ../ を走らせたらエラーが出た。CMakeCache.txt を削除しろと言ってるな…。
make をしたら「libxml/parser.h が見つからない」とエラーが出た。
_linux - Compiler can't find libxml/parser.h - Stack Overflow
libxml2-dev をインストールしないといかんらしい。
make が先に進むようになったが、最後でエラー。
「xmlFree xmlGetProp link error ubuntu」でググってみたけど、よく分からん…。
_POV-Ray: Newsgroups: povray.programming: povmodeler
_eticre/povmodeler: povray modeler
_POV-Ray: Newsgroups: povray.programming: povmodeler
_tribad/povmodeler: povray modeler
_POV-Ray: Newsgroups: povray.tools.general: building povmodeler?
_dickbalaska/qtpovmodeler: povray modeler
ビルドできるか試してみる。
mkdir pkg cd pkg mkdir povmodeler cd povmodeler git clone https://github.com/tribad/povmodeler.git cd povmodeler mkdir build cd build cmake ../ make
cmake ../ を走らせたらエラーが出た。CMakeCache.txt を削除しろと言ってるな…。
rm ../CMakeCache.txt cmake ../ make
make をしたら「libxml/parser.h が見つからない」とエラーが出た。
_linux - Compiler can't find libxml/parser.h - Stack Overflow
libxml2-dev をインストールしないといかんらしい。
sudo apt install libxml2-dev libxml2-doc
make が先に進むようになったが、最後でエラー。
[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:584: src/modeller/povmodeler] エラー 1 make[1]: *** [CMakeFiles/Makefile2:320: src/modeller/CMakeFiles/povmodeler.dir/all] エラー 2 make: *** [Makefile:152: all] エラー 2
「xmlFree xmlGetProp link error ubuntu」でググってみたけど、よく分からん…。
◎ 別の版をビルドしてみた。 :
qtpovmodeler にリネームした版もあるらしいので、ビルドできるか試してみた。
_POV-Ray: Newsgroups: povray.tools.general: building povmodeler?
_dickbalaska/qtpovmodeler: povray modeler
こちらはビルドできたっぽい。qtpovmodeler という実行ファイルが作成された。./qtpovmodeler で実行してみたところ、画面が表示された。
プリミティブもカメラもグレーアウトしていて、何も追加できない…。なかなか厳しい。
_POV-Ray: Newsgroups: povray.tools.general: building povmodeler?
_dickbalaska/qtpovmodeler: povray modeler
mkdir qtpovmodeler cd qtpovmodeler git clone https://github.com/dickbalaska/qtpovmodeler.git cd qtpovmodeler qmake make
こちらはビルドできたっぽい。qtpovmodeler という実行ファイルが作成された。./qtpovmodeler で実行してみたところ、画面が表示された。
プリミティブもカメラもグレーアウトしていて、何も追加できない…。なかなか厳しい。
◎ 20201/09/01追記。 :
ビルド済みの qtpovmodeler をDLして試してみたけのだけど。
Qt 5.13 を強要されるようで、Ubuntu Linux 20.04 LTS 上では動作しなかった。残念。
そもそも、Ubuntu 20.04 LTS でインストールされる Qt5 って、バージョンはいくつなんだろう…。
_Ubuntu18.04 LTSにQt5をインストールしよう! - IT徒然草
qtbase5-dev のバージョンを確認すればいいのかな。
5.12.8 らしい。
wget http://www.buckosoft.com/tmp/qtpovmodeler.bz2 bunzip2 qtpovmodeler.bz2 chmod +x qtpovmodeler ./qtpovmodeler
$ ./qtpovmodeler ./qtpovmodeler: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.13' not found (required by ./qtpovmodeler)
Qt 5.13 を強要されるようで、Ubuntu Linux 20.04 LTS 上では動作しなかった。残念。
そもそも、Ubuntu 20.04 LTS でインストールされる Qt5 って、バージョンはいくつなんだろう…。
_Ubuntu18.04 LTSにQt5をインストールしよう! - IT徒然草
sudo apt install qtbase5-dev qttools5-dev-tools qt5-default
qtbase5-dev のバージョンを確認すればいいのかな。
$ sudo apt show qtbase5-dev Package: qtbase5-dev Version: 5.12.8+dfsg-0ubuntu1 ...
5.12.8 らしい。
[ ツッコむ ]
以上です。