mieki256's diary



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。

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 をすると以下のエラーメッセージが出続ける。
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 らしい。
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、を選択すれば起動する。

kpovmodeler_ss01.png

見た目はかなりイイ感じ。
  • ツールバー上のアイコンは、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

ビルドできるか試してみる。

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

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

こちらはビルドできたっぽい。qtpovmodeler という実行ファイルが作成された。./qtpovmodeler で実行してみたところ、画面が表示された。

プリミティブもカメラもグレーアウトしていて、何も追加できない…。なかなか厳しい。

20201/09/01追記。 :

ビルド済みの qtpovmodeler をDLして試してみたけのだけど。
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 らしい。

以上です。

過去ログ表示

Prev - 2021/08 - Next
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 31

カテゴリで表示

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


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

Powered by hns-2.19.6, HyperNikkiSystem Project