|
|
837行目: |
837行目: |
| | | |
| # ...略 | | # ...略 |
| <br><br>
| |
|
| |
| == QtWebEngineのビルドおよびインストール ==
| |
| 上記のセクションでは、QtWebEngineモジュールを無効にしている。<br>
| |
| これは、QtWebEngineのビルドには多くの時間とディスクスペースが必要なためである。<br>
| |
| <br>
| |
| 勿論、QtWebEngineとQtを同時にビルドすることも可能であるが、ビルドに失敗する場合はビルド全体が失敗したことになるため、<br>
| |
| まず、ベースとなるQt 5を個別にビルドした後、QtWebEngineを個別にビルドすることを推奨する。<br>
| |
| <br>
| |
| ==== 依存関係のライブラリのインストール ====
| |
| <center>
| |
| {| class="wikitable" style="background-color:#fefefe;"
| |
| |+ 必須およびオプションのライブラリ
| |
| |-
| |
| ! style="background-color:#00ffff;" |
| |
| ! style="background-color:#00ffff;" | ライブラリ名
| |
| ! style="background-color:#00ffff;" | 備考
| |
| |-
| |
| | 必須 || flex bison gperf libre2-dev libnss3-dev ||
| |
| |-
| |
| | X11対応に必要 || libdrm-dev libxdamage-dev || XCB / X11を使用する場合、<br>これらのライブラリが必要である。
| |
| |-
| |
| | オプション || libxml2-dev libxslt1-dev libminizip-dev libjsoncpp-dev liblcms2-dev<br>libevent-dev libprotobuf-dev protobuf-compiler libwebp-dev libpoppler-cpp-dev || 追加サポートとして便利である。
| |
| |-
| |
| | (オプション)<br>システム構築ツール || ninja-build re2c || ninjaビルドツールを使用することで、<br>ビルドを高速化できることがある。
| |
| |-
| |
| | 使用できないライブラリ || libopus-dev libvpx-dev || OpusとVPXメディアのサポートが追加されるが、<br>Raspbian busterで利用するには古すぎる。
| |
| |}
| |
| </center>
| |
| <br>
| |
| ==== QtWebEngineのダウンロード ====
| |
| Qtの公式Webサイトから、QtWebEngineをダウンロードする。<br>
| |
| https://download.qt.io/official_releases/qt/x.x/x.x.x/submodules/qtwebengine-everywhere-src-x.x.x.tar.xz<br>
| |
| <br>
| |
| ==== QtWebEngineのビルド設定 ====
| |
| ダウンロードしたQtWebEngineのビルド設定を編集する。<br>
| |
| <br>
| |
| QtWebEngineでのジャンボビルドを無効化する。<br>
| |
| 標準のジャンボビルドシステムでは、コンパイル時に不明のエラーが出力されるため、無効にする。<br>
| |
| sed -i -e 's|use_jumbo_build=true|use_jumbo_build=false|' /<QtWebEngineのソースコードがあるディレクトリ>/src/buildtools/config/common.pri
| |
| <br>
| |
| ==== QtWebEngineのビルドとインストール ====
| |
| 次に、QtWebEngineのConfigureスクリプトを実行する。<br>
| |
| /opt/Qt/5.15.2/bin/qmake /<QtWebEngineのソースコードがあるディレクトリ> -- -no-webengine-geolocation
| |
| <br>
| |
| 正常に終了する時、以下のようなサマリが表示される。<br>
| |
| Qt WebEngine:
| |
| Embedded build ......................... no
| |
| Full debug information ................. no
| |
| Pepper Plugins ......................... yes
| |
| Printing and PDF ....................... yes
| |
| Proprietary Codecs ..................... no
| |
| Spellchecker ........................... yes
| |
| Native Spellchecker .................... no
| |
| WebRTC ................................. yes
| |
| Use System Ninja ....................... yes
| |
| Geolocation ............................ no
| |
| WebChannel support ..................... yes
| |
| Use v8 snapshot ........................ yes
| |
| Kerberos Authentication ................ no
| |
| Support qpa-xcb ........................ yes
| |
| Use ALSA ............................... yes
| |
| Use PulseAudio ......................... no
| |
| Optional system libraries used:
| |
| re2 .................................. yes
| |
| icu .................................. no
| |
| libwebp, libwebpmux and libwebpdemux . no
| |
| opus ................................. no
| |
| ffmpeg ............................... no
| |
| libvpx ............................... no
| |
| snappy ............................... no
| |
| glib ................................. yes
| |
| zlib ................................. yes
| |
| minizip .............................. yes
| |
| libevent ............................. yes
| |
| jsoncpp .............................. yes
| |
| protobuf ............................. yes
| |
| libxml2 and libxslt .................. yes
| |
| lcms2 ................................ yes
| |
| png .................................. yes
| |
| JPEG ................................. yes
| |
| harfbuzz ............................. no
| |
| freetype ............................. yes
| |
| Required system libraries:
| |
| fontconfig ........................... yes
| |
| dbus ................................. yes
| |
| nss .................................. yes
| |
| khr .................................. yes
| |
| glibc ................................ yes
| |
| Required system libraries for qpa-xcb:
| |
| x11 .................................. yes
| |
| libdrm ............................... yes
| |
| xcomposite ........................... yes
| |
| xcursor .............................. yes
| |
| xi ................................... yes
| |
| xtst ................................. yes
| |
| <br>
| |
| 最後に、QtWebEngineをビルドする。<br>
| |
| もし、ビルドするPCのメモリが8[GB]以下の場合、NINJAJOBSを4以下にして、Ninjaの並列ビルドの量を制限する必要がある。<br>
| |
| make -j $(nproc)
| |
| または
| |
| make -j 4 NINJAJOBS=-j4
| |
|
| |
| make install
| |
| <br>
| |
| ==== QtWebEngineのビルド時に発生する問題 ====
| |
| 下表は、QtWebEngineで見つかった問題とビルドの問題を集めたものである。<br>
| |
| <center>
| |
| {| class="wikitable" style="background-color:#fefefe;"
| |
| |+ ビルド時の問題点と解決策
| |
| |-
| |
| ! style="background-color:#00ffff;" | QtWebEngineのバージョン
| |
| ! style="background-color:#00ffff;" | 問題
| |
| ! style="background-color:#00ffff;" | 解決策
| |
| |-
| |
| | 5.15.2 || Internal Compiler Error, gcc 8.30<br><br>internal compiler error: in convert_move, at expr.c:218<br> static void exec_ops(const Op* ops, const void** args, || [https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96206 GCC Bugzilla bug report]<br><br>Build for ARMv7<br>Patch the source to disable optimization
| |
| |-
| |
| | 5.15.2 || fatal error: xcb/dri3.h: No such file or directory || 以下のライブラリをインストールする。<br><code>sudo apt-get install libxcb-dri3-dev</code>
| |
| |-
| |
| | 5.15.2 || Broadcom EGLを使用するQtのビルドに失敗する。<br><br>qtwebengine-everywhere-src-x.x.x/src/3rdparty/chromium/ui/gl/gl_bindings_autogen_egl.h:201:5:<br>error: ‘EGLDeviceEXT’ has not been declared || Broadcom EGLの代わりに、<br>VC4 / KMSを使用してビルドする。
| |
| |}
| |
| </center>
| |
| <br><br> | | <br><br> |
|
| |
|