これまでの記事で、Qtはフルインストールしたが、非常に重たい。そこで、必要なサブモジュールだけをインストールする方法について書いておく。

この辺りを参考にすると、まずはqtbaseのみをconfigureしてbuildし、その後各モジュールのディレクトリでqmakeすれば良いとなっている。

 

 

このやり方でOpenFOAMのmakeQtと連携が取れるかを確認した。何度か試したところ必要なモジュールはqtbaseは必須としてqttools、qtx11extras、qtsvg、qtxmlpatternsのようので、それぞれ公式ページ(https://download.qt.io/)からダウンロードする。zip版はなぜか改行コードのエラーが出るためtar.xzをダウンロード。ここで、各サブモジュールの上位に位置するsuper moduleが見当たらない。公式のGit Repository Browser(https://code.qt.io/cgit/qt/qt5.git/tree/?h=5.9)からsuper moduleのconfigureの内容を確認すると、qtbaseにcdしてconfigureを実行するだけのスクリプトのようなのでmakeQtから直接qtbaseのconfigureを実行させた。

user@instance-1:~/OpenFOAM/ThirdParty-v2012$ curl -O -L https://download.qt.io/archive/qt/5.9/5.9.3/submodules/qtbase-opensource-src-5.9.3.tar.xz

user@instance-1:~/OpenFOAM/ThirdParty-v2012$ curl -O -L https://download.qt.io/archive/qt/5.9/5.9.3/submodules/qttools-opensource-src-5.9.3.tar.xz

user@instance-1:~/OpenFOAM/ThirdParty-v2012$ curl -O -L https://download.qt.io/archive/qt/5.9/5.9.3/submodules/qtx11extras-opensource-src-5.9.3.tar.xz

user@instance-1:~/OpenFOAM/ThirdParty-v2012$ curl -O -L https://download.qt.io/official_releases/qt/5.9/5.9.3/submodules/qtsvg-opensource-src-5.9.3.tar.xz

user@instance-1:~/OpenFOAM/ThirdParty-v2012$ curl -O -L https://download.qt.io/official_releases/qt/5.9/5.9.3/submodules/qtxmlpatterns-opensource-sr

c-5.9.3.tar.xz

user@instance-1:~/OpenFOAM/ThirdParty-v2012$ xz -d qtbase-opensource-src-5.9.3.tar.xz

user@instance-1:~/OpenFOAM/ThirdParty-v2012$ tar xf qtbase-opensource-src-5.9.3.tar

user@instance-1:~/OpenFOAM/ThirdParty-v2012$ xz -d qttools-opensource-src-5.9.3.tar.xz

user@instance-1:~/OpenFOAM/ThirdParty-v2012$ tar xf qttools-opensource-src-5.9.3.tar

user@instance-1:~/OpenFOAM/ThirdParty-v2012$ xz -d qtx11extras-opensource-src-5.9.3.tar.xz

user@instance-1:~/OpenFOAM/ThirdParty-v2012$ tar xf qtx11extras-opensource-src-5.9.3.tar

user@instance-1:~/OpenFOAM/ThirdParty-v2012$ xz -d qtsvg-opensource-src-5.9.3.tar.xz 

user@instance-1:~/OpenFOAM/ThirdParty-v2012$ tar xf qtsvg-opensource-src-5.9.3.tar

user@instance-1:~/OpenFOAM/ThirdParty-v2012$ xz -d qtxmlpatterns-opensource-src-5.9.3.tar.xz 

user@instance-1:~/OpenFOAM/ThirdParty-v2012$ tar xf qtxmlpatterns-opensource-src-5.9.3.tar

user@instance-1:~/OpenFOAM/ThirdParty-v2012$ mv qtbase-opensource-src-5.9.3 qt-everywhere-opensource-src-5.9.3

user@instance-1:~/OpenFOAM/ThirdParty-v2012$ ./makeQt -qt-5.9.3

 

無事にqtbaseがビルドできたので、各サブモジュールをビルドする。

user@instance-1:~/OpenFOAM/ThirdParty-v2012$ cd qttools-opensource-src-5.9.3

user@instance-1:~/OpenFOAM/ThirdParty-v2012/qttools-opensource-src-5.9.3$ $WM_THIRD_PARTY_DIR/platforms/linux64Gcc/qt-5.9.3/bin/qmake 

Info: creating stash file /home/user/OpenFOAM/ThirdParty-v2012/qttools-opensource-src-5.9.3/.qmake.stash

Info: creating cache file /home/user/OpenFOAM/ThirdParty-v2012/qttools-opensource-src-5.9.3/.qmake.cache

user@instance-1:~/OpenFOAM/ThirdParty-v2012/qttools-opensource-src-5.9.3$ make

(省略)

user@instance-1:~/OpenFOAM/ThirdParty-v2012/qttools-opensource-src-5.9.3$ make install

(省略)

user@instance-1:~/OpenFOAM/ThirdParty-v2012/qttools-opensource-src-5.9.3$ cd ../qtx11extras-opensource-src-5.9.3

user@instance-1:~/OpenFOAM/ThirdParty-v2012/qtx11extras-opensource-src-5.9.3$ $WM_THIRD_PARTY_DIR/platforms/linux64Gcc/qt-5.9.3/bin/qmake 

Info: creating stash file /home/user/OpenFOAM/ThirdParty-v2012/qtx11extras-opensource-src-5.9.3/.qmake.stash

Info: creating cache file /home/user/OpenFOAM/ThirdParty-v2012/qtx11extras-opensource-src-5.9.3/.qmake.cache

user@instance-1:~/OpenFOAM/ThirdParty-v2012/qtx11extras-opensource-src-5.9.3$ make

(省略)

user@instance-1:~/OpenFOAM/ThirdParty-v2012/qtx11extras-opensource-src-5.9.3$ make install

(省略)

user@instance-1:~/OpenFOAM/ThirdParty-v2012/qttools-opensource-src-5.9.3$ cd ../qtsvg-opensource-src-5.9.3

user@instance-1:~/OpenFOAM/ThirdParty-v2012/qtsvg-opensource-src-5.9.3$ $WM_THIRD_PARTY_DIR/platforms/linux64Gcc/qt-5.9.3/bin/qmake

Info: creating stash file /home/user/OpenFOAM/ThirdParty-v2012/qtsvg-opensource-src-5.9.3/.qmake.stash

Info: creating cache file /home/user/OpenFOAM/ThirdParty-v2012/qtsvg-opensource-src-5.9.3/.qmake.cache

user@instance-1:~/OpenFOAM/ThirdParty-v2012/qtsvg-opensource-src-5.9.3$ make

(省略)

user@instance-1:~/OpenFOAM/ThirdParty-v2012/qtsvg-opensource-src-5.9.3$ make install

(省略)

user@instance-1:~/OpenFOAM/ThirdParty-v2012$ cd qtxmlpatterns-opensource-src-5.9.3

user@instance-1:~/OpenFOAM/ThirdParty-v2012/qtxmlpatterns-opensource-src-5.9.3$ $WM_THIRD_PARTY_DIR/platforms/linux64Gcc/qt-5.9.3/bin/qmake 

Info: creating stash file /home/user/OpenFOAM/ThirdParty-v2012/qtxmlpatterns-opensource-src-5.9.3/.qmake.stash

Info: creating cache file /home/user/OpenFOAM/ThirdParty-v2012/qtxmlpatterns-opensource-src-5.9.3/.qmake.cache

Running configuration tests...

Done running configuration tests.

Configure summary:

QtXmlPatterns:

  XML schema support ..................... yes

Qt is now configured for building. Just run 'make'.

Once everything is built, Qt is installed.

You should NOT run 'make install'.

Note that this build cannot be deployed to other machines or devices.

Prior to reconfiguration, make sure you remove any leftovers from

the previous build.

user@instance-1:~/OpenFOAM/ThirdParty-v2012/qtxmlpatterns-opensource-src-5.9.3$ make

(省略)

user@instance-1:~/OpenFOAM/ThirdParty-v2012/qtxmlpatterns-opensource-src-5.9.3$ make install

(省略)

 

これでParaViewのビルドに必要な最低限のQtモジュールがインストールできたはず。

再インストールしたら、fontのシンボリックリンク作成をもう一度行っておく。

user@instance-1:~$ ln -s /usr/share/fonts/truetype/dejavu \

OpenFOAM/ThirdParty-v2012/platforms/linux64Gcc/qt-5.9.3/lib/fonts