Skip to content
閲覧中:
QGIS install

Ubuntu 22 + QGIS 3.26.3 ソースインストール完全手順まとめ

対象:

  • Ubuntu 22.04
  • QGIS 3.26.3
  • source build
  • ~/.local/src に clone
  • ~/.local/qgis に install
  • ~/.local/bin/qgis で起動

最終構成

Text Only
~/.local/
├── bin/
│   └── qgis
├── qgis/
│   ├── bin/
│   ├── lib/
│   ├── share/
│   └── plugins/
└── src/
    └── qgis/

1. 依存パッケージインストール

基本パッケージ

Bash
sudo apt update

sudo apt install -y \
git \
cmake \
ninja-build \
build-essential \
ccache \
qtbase5-dev \
qtchooser \
qt5-qmake \
qtbase5-dev-tools \
qttools5-dev \
qttools5-dev-tools \
qtpositioning5-dev \
libqt5svg5-dev \
libqt5serialport5-dev \
python3-dev \
python3-pyqt5 \
python3-pyqt5.qtsql \
python3-pyqt5.qtsvg \
python3-pyqt5.qtwebkit \
python3-pyqt5.qtxmlpatterns \
python3-pyqt5.qsci \
python3-pyqt5.sip \
pyqt5-dev \
pyqt5-dev-tools \
python3-sip-dev \
sip-dev \
libgdal-dev \
gdal-bin \
libgeos-dev \
libproj-dev \
proj-bin \
libsqlite3-dev \
libspatialindex-dev \
libspatialite-dev \
libpq-dev \
libfcgi-dev \
libqca-qt5-2-dev \
libqwt-qt5-dev \
libqscintilla2-qt5-dev \
qtkeychain-qt5-dev \
libqt5webkit5-dev \
protobuf-compiler \
libprotobuf-dev \
grass-dev \
libexiv2-dev \
libzip-dev \
libgsl-dev \
flex \
qt3d5-dev \
qt3d-assimpsceneimport-plugin \
qt3d-defaultgeometryloader-plugin \
bison

2. ソースコード取得

Bash
mkdir -p ~/.local/src

cd ~/.local/src

git clone https://github.com/qgis/QGIS.git qgis

cd qgis

3. QGIS 3.26.3 に切り替え

Bash
git checkout final-3_26_3

確認:

Bash
git describe --tags

4. build ディレクトリ作成

Bash
mkdir build

cd build

5. cmake

Python bindings は Ubuntu 22 標準 SIP 環境と相性問題があったため無効化。

Bash
cmake .. \
-G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$HOME/.local/qgis \
-DWITH_SERVER=OFF \
-DWITH_3D=TRUE \
-DWITH_BINDINGS=OFF

6. build

Bash
ninja -j4

CPU余裕があれば:

Bash
ninja -j$(nproc)

7. install

Bash
ninja install

8. 起動スクリプト作成

シンボリックリンクではなくスクリプト化する

Bash
mkdir -p ~/.local/bin

rm -f ~/.local/bin/qgis

cat > ~/.local/bin/qgis <<'EOF'
#!/bin/bash

export LD_LIBRARY_PATH="$HOME/.local/qgis/lib:$LD_LIBRARY_PATH"

exec "$HOME/.local/qgis/bin/qgis" "$@"
EOF

chmod +x ~/.local/bin/qgis

9. PATH 確認

Bash
echo $PATH

以下が含まれていること:

Text Only
/home/yossym/.local/bin

不足時:

Bash
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bash_aliases

source ~/.bash_aliases

10. 起動

Bash
qgis

または:

Bash
~/.local/bin/qgis

発生したエラーと対応


1. Protobuf 不足

エラー

Text Only
Could NOT find Protobuf

対応

Bash
sudo apt install -y \
protobuf-compiler \
libprotobuf-dev

2. Qt5WebKit 不足

エラー

Text Only
Could not find Qt5WebKit

対応

Bash
sudo apt install -y \
libqt5webkit5-dev

3. QSCINTILLA_INCLUDE_DIR-NOTFOUND

エラー

Text Only
QSCINTILLA_INCLUDE_DIR-NOTFOUND

対応

Bash
sudo apt install -y \
libqscintilla2-qt5-dev

4. QTKEYCHAIN_INCLUDE_DIR-NOTFOUND

エラー

Text Only
QTKEYCHAIN_INCLUDE_DIR-NOTFOUND

対応

Bash
sudo apt install -y \
qtkeychain-qt5-dev

5. PyQt5.Qsci 不足

エラー

Text Only
No module named 'PyQt5.Qsci'

対応

Bash
sudo apt install -y \
python3-pyqt5.qsci

6. SIP 定義不足

エラー

Text Only
sip: Unable to find file "QtCore/QtCoremod.sip"
sip: Unable to find file "QtXml/QtXmlmod.sip"

原因

Ubuntu 22 標準環境では:

Text Only
/usr/share/sip/PyQt5

が存在しない。

対応

Python bindings を無効化。

Bash
-DWITH_BINDINGS=OFF

7. libqgis_app.so.3.26.3 not found

エラー

Text Only
error while loading shared libraries:
libqgis_app.so.3.26.3

原因

LD_LIBRARY_PATH 未設定。

対応

起動スクリプト化。

Bash
export LD_LIBRARY_PATH="$HOME/.local/qgis/lib:$LD_LIBRARY_PATH"