開発環境の設定
ビルド要件
ビルド要件 を参照してください
Vagrant
Vagrant は,VirtualBox などの仮想化製品と連携して再現可能な開発環境を作成するツールです.GDAL には,包括的な依存関係を持つ Ubuntu 仮想マシンを設定する Vagrant 構成ファイルが含まれています.
Vagrant がインストールされ, GDAL ソースがダウンロードされたら,ソースルートディレクトリから以下を実行して仮想マシンを設定できます:
# VAGRANT_VM_CPU=number_of_cpus
vagrant up
ソースルートディレクトリは仮想マシン内で /vagrant
に公開されているため,ホストで GDAL ソースファイルを変更すると,VM内で変更が反映されます.ソースファイルを変更した後に GDAL を再構築するには,VMに接続してビルドコマンドを再実行できます:
vagrant ssh
cmake --build .
ホスト上に以下のディレクトリが作成されます(不要になった場合は削除できます):
../apt-cache/ubuntu/jammy64
: VM の Ubuntu パッケージのキャッシュを含み,VM の再構築を高速化しますbuild_vagrant
: CMake ビルドディレクトリccache_vagrant
: CCache ディレクトリ
Docker
GitHub Actions で GDAL のビルドとテストに使用される Linux 環境は,開発用の任意のマシンにプルできる Docker イメージで定義されています.各ビルドに使用される Docker イメージは, linux_build.yml で指定されています.例として,以下のコマンドを GDAL ソースルートから実行して, GitHub Actions で使用されている環境と同じ環境で clang アドレスサニタイザ(ASAN) を使用して GDAL をビルドおよびテストできます:
docker run -it \
-v $(pwd):/gdal:rw \
ghcr.io/osgeo/gdal-deps:ubuntu20.04-master
cd /gdal
mkdir build-asan
cd build-asan
../.github/workflows/asan/build.sh
../.github/workflows/asan/test.sh
ビルドされたオブジェクトが root に所有されるのを避けるために,上記の docker run
コマンドに -u $(id -u):$(id -g) -v /etc/passwd:/etc/passwd
を追加すると便利です.
Windows で Conda 依存関係と Visual Studio を使用してビルド
vcpkg を使用するなどの他の方法よりも, GDAL のデバッグビルドには適していません.
git のインストール
git をインストールします
miniconda のインストール
miniconda をインストールします
Visual Studio のインストール
Visual Studio をインストールします.Visual Studio インストーラの Workloads タブで Desktop development with C++ をチェックします.最新の Community Edition (2022) のみが利用可能です.
GDAL の依存関係のインストール
利用可能なコンソールでCondaを開始し, c:\dev ディレクトリがあると仮定します
cd c:\dev
conda create --name gdal
conda activate gdal
conda install --yes --quiet curl libiconv icu git python swig numpy pytest zlib
conda install --yes --quiet -c conda-forge compilers clcache
conda install --yes --quiet -c conda-forge \
cmake proj geos hdf4 hdf5 \
libnetcdf openjpeg poppler libtiff libpng xerces-c expat libxml2 kealib json-c \
cfitsio freexl geotiff jpeg libpq libspatialite libwebp-base pcre postgresql \
sqlite tiledb zstd charls cryptopp cgal librttopo libkml openssl xz
注釈
compilers
パッケージは,cmake が適切な環境を選択するために vs2019_win-64
(執筆時点) をインストールします.インストールされている場合は,Visual Studio 2022 とも機能します.
GDAL ソースのチェックアウト
cd c:\dev
git clone https://github.com/OSGeo/gdal.git
GDAL のビルド
Conda が有効なコンソールから
conda activate gdal
cd c:\dev\gdal
cmake -S . -B build -DCMAKE_PREFIX_PATH:FILEPATH="%CONDA_PREFIX%" \
-DCMAKE_C_COMPILER_LAUNCHER=clcache
-DCMAKE_CXX_COMPILER_LAUNCHER=clcache
cmake --build build --config Release -j 8
開発環境変数の設定
GDAL がビルドされると,ビルドディレクトリの C++ または Python ユーティリティを実行したり,テストを実行するために,いくつかの環境変数を設定する必要があります.
これは,ビルドディレクトリから以下のソースを実行することで行えます:
. ../scripts/setdevenv.sh
(ビルドディレクトリが GDAL ソースルートのサブディレクトリでない場合は,上記のパスを調整してください).
Windows の場合,類似の scripts/setdevenv.bat
スクリプトが存在します(現在は Release ビルドを想定しています).
cd c:\dev\gdal\build
..\scripts\setdevenv.bat
環境変数が正しく設定されているかどうかを確認するには, GDAL バイナリのバージョンで確認できます:
gdalinfo --version
# GDAL 3.7.0dev-5327c149f5-dirty, released 2018/99/99 (debug build)
および Python バインディングで確認できます:
python3 -c 'from osgeo import gdal; print(gdal.__version__)'
# 3.7.0dev-5327c149f5-dirty