[2024.11 お知らせ]
下に、トラブルシューティングを追加しました。うまく ART がビルドできない方はご参照ください。
[2024.8.25 お知らせ]
CTL スクリプト対応部分の記述等を修正。
[2023.1.19 お知らせ]
うっかり Lensfun をコンパイルする部分の翻訳を落としていたので、修正しました。その他追加説明を付加しました。
-----------------
以下の情報は、Danny Heijl氏による、Ubuntuにおける、ARTをコンパイルしてインストールする手順です。開発ツールを除いて、最新のものが必要な Libraw, exif2, mimaloc, OCIOをソースコードからコンパイルしてインストールすることを前提としたものです。それを翻訳して転載します。私のように Linux でソースコードからバイナリーをビルドする方法に疎く、よくわからないけれど呪文を打ち込んでいるというレベルのユーザーにもわかるように、分かりにくいところに原文にない補足を入れています。
なお、東アジア言語版 Ubuntu で ART をインストールする場合は、バイナリーを使わず、コンパイルしたほうが良いので (Alberto が提供するバイナリーは iBus の入力に難があります)、有用な情報だと思います。
原文は以下にあります。
https://bitbucket.org/agriggio/art/wiki/BuildUbuntu
前提条件
これらの手順は、Ubuntu 20.04 および 22.04 (Linux Mint 20 および 21) でテストしたので、Debian ベースのディストリビューションで動作するはずです。
・ 必要な開発パッケージをインストールします。
sudo apt install autoconf libtool
sudo apt install git build-essential cmake curl pkg-config libgtk-3-dev libgtkmm-3.0-dev librsvg2-dev liblcms2-dev libfftw3-dev libiptcdata0-dev libtiff5-dev libcanberra-gtk3-dev
・最新の gcc を使用する場合は、次のように、他のファイルをコンパイルする前に gcc-12 と g++12 を最初にインストールします。
https://www.linuxcapable.com/install-gcc-compiler-build-essential-on-ubuntu-2:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
sudo apt update && sudo apt upgrade
sudo apt install gcc-12 g++-12
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100 --slave /usr/bin/g++ g++ /usr/bin/g++-12 --slave /usr/bin/gcov gcov /usr/bin/gcov-12
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 60 --slave /usr/bin/g++ g++ /usr/bin/g++-11 --slave /usr/bin/gcov gcov /usr/bin/gcov-11
gcc –version
sudo update-alternatives --config gcc
※訳注: OS のバージョンによってはすでに gcc-11 がインストールされていないので、
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 60 --slave /usr/bin/g++ g++ /usr/bin/g++-11 --slave /usr/bin/gcov gcov /usr/bin/gcov-11
コマンドでエラーが発生する場合があります。
・Canon CR3 をサポートするには、最近の LibRaw のインストールが必要です。以下は、Github から現在の LibRaw バージョンをインストールする方法です。
・github から最新の libraw を複写して(git clone https://github.com/LibRaw/LibRaw.git)インストールします。
※訳注 以下、githubからソースコードを取ってくる場合は、その前にホームディレクトリに戻り、ホームディレクトリ直下にソースコードを入れたディレクトリを置くものとします。次のツールを git clone する前に cd ~/ でホームディレクトリに戻ってください。
・複製した LibRaw フォルダーに移動し( cd ~/LibRaw )、LibRaw をコンパイルしてインストールします。
autoreconf --install
./configure
sudo make install
sudo ldconfig
・それから最新の liblensfun も必要になります。
・Github からソースコードを複製し ( git clone https://github.com/lensfun/lensfun )、複製した Lensfun フォルダに移動 ( cd ~/lensfun ) したら、Lensfun をコンパイルして下さい。
mkdir build cd build cmake -DCMAKE_BUILD_TYPE=Release ../ make sudo make install sudo ldconfig
※訳注 OS デフォルトの Python を使用していると、Python上で setuptools が import できないといってエラーメッセージが出ることがあります。この場合は、
$ sudo apt install python3-pip
で、Python に pip をインストールすると使えるようになります。
---------
・ART 1.20 では、exiv2 0.27.maintenance ブランチの代わりに、exiv2 メイン (1.00.xx) ブランチまたは最新リリース (0.28.x) ブランチを使用できます。 exiv2 から Canon CR3 サポートを取得するには、最新の exiv2 バージョンを使用する必要があります (最新の exiv2 ライブラリがリンクされていない場合は、Canon CR3 をサポートするため exiftool をインストールする必要があります: sudo apt install exiftool)。
・古い exiv2 パッケージがインストールされている場合は、今すぐ削除してください: sudo apt remove exiv2 libexiv2-dev
・0.28.x 以降、tests はデフォルトでビルドされなくなったため、ctest ステップをスキップする必要があります。
・github から exiv2 (メイン ブランチまたは 0.28.x) を複製してインストールし*1、複製された exiv2 フォルダーに cd で移動します ( cd ~/exiv2 )。
sudo rm -rf build mkdir -p build cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DEXIV2_ENABLE_BMFF=On cmake --build build sudo cmake --install build sudo ldconfig
・ART には MIMALLOC が必要なので、Github から複製して ($ git clone https://github.com/microsoft/mimalloc) インストールします。
※訳注 やはり cd ~/mimalloc で複製したソースコードディレクトリに移動してください。
mkdir -p out/release
cd out/release
cmake ../..
make
sudo make install
sudo ldconfig
・ART の最近のバージョンには OpenColorIO が含まれているため、GitHub リポジトリを複製して($ git clone https://github.com/AcademySoftwareFoundation/OpenColorIO )インストールします:
※訳注 やはり cd ~/OpenColorIO で複製したソースコードディレクトリに移動してください。
mkdir /tmp/ociobuild
cd /tmp/ociobuild
cmake -DOCIO_INSTALL_EXT_PACKAGES=ALL -DOCIO_BUILD_PYTHON=OFF ~/Documenten/GitHub/OpenColorIO/ ~/OpenColorIO
※上記は、ソースコードを保存したディレクトリが ~/OpenColorIO であることを前提
make -j 4
sudo make install
・同様に、 CTL scripts を使う場合、CTL インタープリターをビルドしてインストールしなければなりません:
sudo apt install libilmbase-dev libopenexr-dev git clone https://github.com/ampas/CTL.git cd CTL mkdir build && cd build cmake .. make sudo make install
ARTのインストール
・ https://bitbucket.org/agriggio/art/src/master/tools/build-art から build-art スクリプト (オリジナル) をダウンロードします。
・すでに、古いバージョンの build がある場合は、次のコマンドで削除してください: rm -r programs/art ptograms/code-art
※訳注: programs/art ptograms/code-art
にバージョンアップ前のバージョンのソースコードが残っているためです。前のバージョンのソースコードが残っているところへ新しいソースコードを上書きダウンロードすると、上書きされず残ったコードによりコンパイルエラーが起こることがあります。
なお、前のバージョンがある場合は、コンパイルに失敗した場合に備えて、前のバージョンのバイナリのあるディレクトリを消去せずに別の名前で保存しておくことをお勧めします。
・build-art に実行権限を付与し、実行します。
chmod +x ./build-art
./build-art
※訳者補足
CTL スクリプト機能を有効にする場合は、./build-art 実行前に build-art ファイルの cmake に関する記述を以下のように修正してください。
変更前
cmake \
-DCMAKE_BUILD_TYPE="$buildType" \
-DPROC_TARGET_NUMBER="2" \
-DBUILD_BUNDLE="ON" \
-DBUNDLE_BASE_INSTALL_DIR="${installDir}" \
-DOPTION_OMP="ON" \
-DWITH_LTO="OFF" \
-DWITH_PROF="OFF" \
-DWITH_SAN="OFF" \
-DWITH_SYSTEM_KLT="OFF" \
-DWITH_BENCHMARK="OFF" \
-DENABLE_LIBRAW="ON" \
-DENABLE_OCIO="ON" \
"$HOME/programs/code-${prog}" || exit 1
変更後
cmake \
-DCMAKE_BUILD_TYPE="$buildType" \
-DPROC_TARGET_NUMBER="2" \
-DBUILD_BUNDLE="ON" \
-DBUNDLE_BASE_INSTALL_DIR="${installDir}" \
-DOPTION_OMP="ON" \
-DWITH_LTO="OFF" \
-DWITH_PROF="OFF" \
-DWITH_SAN="OFF" \
-DWITH_SYSTEM_KLT="OFF" \
-DWITH_BENCHMARK="OFF" \
-DENABLE_LIBRAW="ON" \
-DENABLE_OCIO="ON" \
-DENABLE_CTL="ON" \
-DCTL_INCLUDE_DIR="/usr/local/include/CTL" \
"$HOME/programs/code-${prog}" || exit 1
なお、 -DCTL_INCLUDE_DIR キーで CTL スクリプトインタープリターの位置を指定しますが、Linux のディストロによってこの位置が変わる場合がありますので、その場合は適宜変えてください。
いずれにせよデフォルトの build-art では CTL サポート機能が有効になりません。
・これにより、~/programs/art に ART がインストールされます。
build-art スクリプトを再実行すると、git リポジトリからソース コードが更新され、ART が再構築されます。 作者 Alberto がコンパイル オプションで何かを変更した場合、build-art を再ダウンロードし、必要な変更を build-art スクリプトに再度適用する必要がある場合があります。
・最新の liblensfun データを取得するには、次を実行します。
sudo lensfun-update-data
※訳注: ARTの メニューからの起動リンクの作り方は、以下の記事の 5) 起動リンクの作成をご覧ください。
----------------
もしソースコード付属の build-art を使ってインストールしようとしてトラブルが起こる場合は、以下の方法をお試しください。
方法1: 別の build-art を使ってインストールする
方法2: build-art を使わずにインストールする。
https://yasuo-ssi.hatenablog.com/entry/2024/11/08/203000
*1:$ git clone https://github.com/Exiv2/exiv2.git