Linux/jp: Difference between revisions

From RawPedia
Jump to navigation Jump to search
Line 60: Line 60:
[[Linux/jp|コンパイル]]の項に進みます。
[[Linux/jp|コンパイル]]の項に進みます。


=== CentOS 7.0 ===
=== CentOS ===
 CentOS 7.0にはClearlooks GTK+2エンジンがないようです。他のGTK+2をインストールするか、RawTherapeeのインストール後、“環境設定→一般→デフォルトのテーマ”で、“システムのテーマを使う”を有効にする必要があります。
 CentOSは非常に古いパッケージで、現在のGCC、git、lensfun、libtiffをインストールするためには更なるステップが必要です。以下に記したステップはCentOS7.4.1708では確認されていますが、このパッケージでコンパイルするのは常に失敗のリスクが伴うでしょう。
<pre style="white-space: normal">sudo yum install bzip2-devel cmake curl exiv2-devel expat-devel fftw-devel gcc-c++ glibmm24-devel gtk2-devel gtkmm24-devel lcms2-devel libjpeg-turbo-devel libcanberra-devel libiptcdata-devel libpng-devel libtiff-devel mercurial sigc++20-devel zlib-devel</pre>
 
 GCC >=4.9.3:
 
<pre style="white-space: pre-wrap">sudo yum update
sudo yum install cmake git
sudo yum install centos-release-scl
sudo yum install devtoolset-7-gcc*
scl enable devtoolset-7 bash
source /opt/rh/devtoolset-7/enable</pre>
 
git >=2.7:
<pre style="white-space: pre-wrap">sudo yum install http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-2.noarch.rpm</pre>
 
lensfun:
<pre style="white-space: pre-wrap">
wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo rpm -ivh epel-release-latest-7.noarch.rpm</pre>
 
libtiff >=4.0.4:
<pre style="white-space: pre-wrap">sudo yum install ninja-build
mkdir ~/programs && cd ~/programs
wget http://download.osgeo.org/libtiff/tiff-4.0.9.tar.gz
tar zxvf tiff-4.0.9.tar.gz
mkdir tiff-4.0.9/libtiff-build && cd tiff-4.0.9/libtiff-build
cmake -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/libtiff-4.0.9 -DCMAKE_INSTALL_PREFIX=/usr -G Ninja ..
ninja-build
sudo ninja-build install
</pre>
 
他のディペンデンシーをインストールします。:
<pre style="white-space: pre-wrap">sudo yum install curl expat-devel fftw-devel gtk3-devel gtkmm30-devel lcms2-devel lensfun-devel libcanberra-devel libiptcdata-devel libjpeg-turbo-devel libpng-devel zlib-devel</pre>
 
シンボリックリンク:
<pre style="white-space: pre-wrap">sudo ln -s /usr/lib64/libatomic.so.1 /usr/lib64/libatomic.so</pre>
 
次のステップ、コンパイルに進むにあたって、<code>build-rawtherapee</code>のスクリプトを編集する必要があり、ファイルの最後の方にあるCMakeセクションに以下の3ステップを追加します。例えば、"$HOME"ラインの前にある"-DWITH_BENCHMARK"ラインの後に:
<pre style="white-space: pre-wrap">    -DTIFF_INCLUDE_DIR="$HOME/programs/tiff-4.0.9/libtiff" \
    -DTIFF_LIBRARY="$HOME/programs/tiff-4.0.9/libtiff-build/libtiff/libtiff.so" \
    -DCMAKE_CXX_FLAGS="-Wno-deprecated -Wno-parentheses" \
</pre>
[[Linux/jp#|Compilation|コンパイル]]の項に進みます。


=== Fedora ===
=== Fedora ===

Revision as of 13:03, 29 January 2019

Linux

 本ページは、GNU/LinuxシステムでRawTherapeeをコンパイルするためのインストラクションが詳述されています。WindowsMacOSのインストラクションは別項にあります。

 不明な点があれば、 IRC或いは或いはフォーラムに参加して他の参加者に聞いてみて下さい。

ディペンデンシー

 RawTherapeeをコンパイルするためには一連のツールと他のプログラムからのコードライブラリーが必要で、それらはディペンデンシーと呼ばれています。以下で最新のRawTherapeeのコンパイルに必要なディペンデンシーを一覧にしてあります:

ビルド時に必要なディペンデンシー:
パッケージ バージョン URL
CMake cmake>=2.8.8 https://cmake.org/
EXIV2 exiv2>=0.19 http://www.exiv2.org/
EXPAT expat>=2.1.0 https://libexpat.github.io/
FFTW3 fftw>=3.2.2 http://fftw.org/
GCC gcc>=4.9 https://gcc.gnu.org/
GLIB2 glib-2.0>=2.24 https://www.gtk.org/
GLIBMM glibmm-2.4>=2.24 https://www.gtkmm.org/
GTK+ gtk+-3.16 < 3.24.0 https://www.gtk.org/
GTKMM gtkmm-3.16 https://www.gtkmm.org/
JPEG libjpeg>=6b https://libjpeg-turbo.org/ https://jpegclub.org/ https://www.ijg.org/
LCMS2 lcms>=2.6 http://www.littlecms.com/
LENSFUN lensfun>=0.2 http://lensfun.sourceforge.net/
LIBCANBERRA libcanberra>=0.29 http://0pointer.de/lennart/projects/libcanberra/ (Linux only)
LIBIPTCDATA libiptcdata>=1.0.2 http://libiptcdata.sourceforge.net
PNG libpng>=1.2.44 http://www.libpng.org/
SIGC sigc++-2.0 https://github.com/libsigcplusplus/libsigcplusplus
TIFF libtiff>=4.0.4 http://libtiff.org/
ZLIB zlib>=1.2.3 http://www.zlib.net/

 これらディペンデンシー全てをインストールするには、コンソールを開いて該当セクションからそれらコードをコンソールにコピーします。

 これらコードはGTK3を必要とする最新のRawTherapeeに関するディペンデンシーです。2017年2月にリリースした"5.0-r1-gtk2"を最後に、私たちはGTK2のサポートを公式に終了しました。最近のディストリビューションを使っていれば、そのままコードをコピーして貼り付けるだけです。もし、GTK3をサポートしていない古いディストリビューションを使っている場合は、GTK2のアーカーブを参考にしながら、古い5.0-r1-gtk2タグをコンパイルします。

Arch/Manjaro

 Arch及びManjaroの現在のバージョンは特別な設定無しにコンパイルできます。17.1.2より古いバージョンをコンパイルする場合はGTK2のアーカイブを参考にします。

sudo pacman -S --needed cmake exiv2 expat fftw glib2 glibmm gtk3 gtkmm3 lcms2 lensfun libcanberra libiptcdata libjpeg-turbo libpng libsigc++ libtiff zlib

コンパイルの項に進みます。

CentOS

 CentOSは非常に古いパッケージで、現在のGCC、git、lensfun、libtiffをインストールするためには更なるステップが必要です。以下に記したステップはCentOS7.4.1708では確認されていますが、このパッケージでコンパイルするのは常に失敗のリスクが伴うでしょう。

 GCC >=4.9.3:

sudo yum update
sudo yum install cmake git
sudo yum install centos-release-scl
sudo yum install devtoolset-7-gcc*
scl enable devtoolset-7 bash
source /opt/rh/devtoolset-7/enable

git >=2.7:

sudo yum install http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-2.noarch.rpm

lensfun:

wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo rpm -ivh epel-release-latest-7.noarch.rpm

libtiff >=4.0.4:

sudo yum install ninja-build
mkdir ~/programs && cd ~/programs
wget http://download.osgeo.org/libtiff/tiff-4.0.9.tar.gz
tar zxvf tiff-4.0.9.tar.gz
mkdir tiff-4.0.9/libtiff-build && cd tiff-4.0.9/libtiff-build
cmake -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/libtiff-4.0.9 -DCMAKE_INSTALL_PREFIX=/usr -G Ninja ..
ninja-build
sudo ninja-build install

他のディペンデンシーをインストールします。:

sudo yum install curl expat-devel fftw-devel gtk3-devel gtkmm30-devel lcms2-devel lensfun-devel libcanberra-devel libiptcdata-devel libjpeg-turbo-devel libpng-devel zlib-devel

シンボリックリンク:

sudo ln -s /usr/lib64/libatomic.so.1 /usr/lib64/libatomic.so

次のステップ、コンパイルに進むにあたって、build-rawtherapeeのスクリプトを編集する必要があり、ファイルの最後の方にあるCMakeセクションに以下の3ステップを追加します。例えば、"$HOME"ラインの前にある"-DWITH_BENCHMARK"ラインの後に:

    -DTIFF_INCLUDE_DIR="$HOME/programs/tiff-4.0.9/libtiff" \
    -DTIFF_LIBRARY="$HOME/programs/tiff-4.0.9/libtiff-build/libtiff/libtiff.so" \
    -DCMAKE_CXX_FLAGS="-Wno-deprecated -Wno-parentheses" \

Compilation|コンパイルの項に進みます。

Fedora

sudo yum install bzip2-devel cmake exiv2-devel expat-devel fftw-devel gcc-c++ glib2-devel glibmm24-devel gtk+-devel gtkmm24-devel lcms2-devel libcanberra-devel libiptcdata-devel libjpeg-turbo-devel libpng-devel libsigc++20-devel libtiff-devel zlib-devel

Gentoo

sudo emerge -uva app-arch/bzip2 dev-cpp/glibmm dev-cpp/gtkmm dev-libs/expat dev-libs/glib dev-libs/libsigc++ dev-vcs/mercurial media-gfx/exiv2 media-libs/lcms media-libs/libcanberra media-libs/libiptcdata media-libs/libjpeg-turbo media-libs/libpng media-libs/tiff net-misc/curl sci-libs/fftw sys-libs/zlib x11-libs/gtk+x11-themes/gtk-engines

openSUSE

sudo zypper in cmake fftw3-devel gcc-c++ glib2-devel glibmm2-devel gtk2-devel gtkmm2-devel libbz2-devel libcanberra-devel libexpat-devel libiptcdata-devel libjpeg-devel liblcms2-devel libpng-devel libsigc++2-devel libtiff-devel zlib-devel

Ubuntu

Ubuntu 13.04, 13.10, 14.04 and 14.10

Ubuntu 13.04 Raring Ringtail, 13.10 Saucy Salamander, 14.04 LTS Trusty Tahr 及び 14.10 Utopic Unicorn: 12.10用のコマンドが、若干の変更、或いは変更なしで使えます。

Ubuntu 11.10, 12.04 and 12.10

Ubuntu 11.10 (Oneiric Ocelot), 12.04 LTS (Precise Pangolin) 、及び 12.10 (Quantal Quetzal):

sudo apt-get update
sudo apt-get install build-essential cmake curl libbz2-dev libcanberra-gtk-dev libexiv2-dev libexpat-dev libfftw3-dev libglibmm-2.4-dev libgtk2.0-dev libgtkmm-2.4-dev libiptcdata0-dev libjpeg8-dev liblcms2-dev libpng12-dev libsigc++-2.0-dev libtiff4-dev mercurial zlib1g-dev

Ubuntu 10.10 and 11.04

Ubuntu 10.10 (Maverick Meerkat) 、及び 11.04 (Natty Narwhal):

sudo apt-add-repository ppa:dasprid/rawtherapee
sudo apt-get update
sudo apt-get install cmake curl libbz2-dev libcanberra-gtk-dev libexiv2-dev libexpat-dev libglibmm-2.4-dev libgtk2.0-dev libgtkmm-2.4-dev libiptcdata0-dev libjpeg62 liblcms2-dev libnm-glib2 libpng12-dev libsigc++-2.0-dev libtiff4-dev mercurial zlib1g-dev

2つの方法

 コンパイルには2つの方法があります。労力と時間を節約するなら、自動スクリプトを使った自動コンパイリング、時間を持て余している方なら手動コンパイリングも選べます。

自動コンパイリング

 まず、次のリンクから自動スクリプトを入手します。http://rawtherapee.googlecode.com/hg/tools/buildRT

 これはBashスクリプトで、RawTherapeeのソースコードレポジトリーを自動的に複製し、ユーザーに入手可能なブランチ(例 ”default”)とビルドの種類(”release”と”debug”)を提示し、選択されたブランチと種類に合わせたビルドを自動的にコンパイルします。そして、構築されたビルド全てにZipアーカイブを作成します。コンパイルされたビルドは直ぐにでも使えます。但し、buildRTはディペンデンシーのチェックは行いませんので、このスクリプトを使用する場合はディペンデンシーの項目を前もって読んで下さい。

 端末を開き、スクリプトを手に入れ、実行可能にして起動します:

cd ~
wget http://rawtherapee.googlecode.com/hg/tools/buildRT
chmod +x ~/buildRT
./buildRT

 殆どの人が”release”タイプを使う”default”ブランチをコンパイルしますが、動作時間を犠牲にしても、エラーの原因を突き止めるためにデバッグをしたい人は”debug”ビルドを選びます。

 コンパイルしたRawTherapeeの正確な所在と作動方法がスクリプトに表示されますので注意して下さい。

 ../buildRT-hを使うと、buildRTがサポートする全てのオプションを説明したリストを見ることが出来ます。

 初めの数行に、buildRTのバージョンと日付が表示されています。約2ヶ月に1度の割合でbuildRTがアップデートされますので、時折チェックして下さい。また、コンパイリングに失敗した際は、バージョンが最新のものであるかチェックして下さい。最新版ではその問題が解決されていると思います。最新版であるかどうかのチェックは../buildRT-uで出来ます。

手動コンパイリング

 ここでは、上記で説明したような自動スクリプトを使わないで、手動でRawTherapeeをコンパイルする方法を説明します。

ソースを複製する

 初めに、RawTherapeeのソースコードレポジトリーの複製を作る必要があります。コンソールから以下を入力します:

cd ~
hg clone https://rawtherapee.googlecode.com/hg/ rt_repo
cd ~/rt_repo

ブランチを選択する

 ここで2つの選択肢があります:“default”と呼ばれるメインブランチの最新コードを選ぶか、開発者等がXMPのサポートのために使っている“xmp”ブランチなど、他のブランチのソースを選びますが、私達は、“default”ブランチの選択を奨めます。

 選択可能な全てのオープンブランチを見るためには、次をタイプします:

hg branches

クローズドブランチを含めた全てのブランチを見る場合は、次をタイプします:

hg branches -c

 デフォルトブランチは、当たり前ですが、”default”という名前で、推奨されるブランチです。ソースコードを複製しようとすると、”default”ブランチが自動的に選択されるので、他のブランチが必要な場合は特定する必要があります。しかし、異なるブランチのコンパイルを行いたい場合、例えば”xmp”ブランチ、は以下を入力してスイッチすることが出来ます:

hg update -C xmp

 注意:最近のシステムをご利用の場合、昔のディペンデンシーが欠けているため、RawTherapeeのバージョン3(或いはそれより以前のバージョン)のコンパイルは失敗することが多いと思います。

RawTherapeeをコンパイルする

 RawTherapeeを構築する際は、BUILD_TYPEを特定する必要があります。” debug”或いは” release”タイプの設定が可能です。”debug”ビルドは、RawTherapeeがクラッシュするような場合、GDBを通じて、有効なスタックバックトレースを手に入れられますので、それを私達に提出頂ければ、クラッシュの原因を突き止め、修復することが可能です。但し、その分スピードを犠牲にしますので、プログラムの動作が遅くなります。”release”タイプはクラッシュした際に有用な情報を提供してくれませんが、その分スピードを重視した工夫がされていますので、”debug”バージョンより何倍も速く動作します。通常的に使用する場合は、”release”タイプをビルドした方がいいと思います。バグによるクラッシュが度々発生するような場合に、”debug”タイプを構築し、私達にスタックバックトレース送って下さい(或いは、ご自身で修正し、そのパッチを送って頂けると幸いです)。

 タイプを指定するには、下に示したように"-DCMAKE_BUILD_TYPE="の後に“debug”或いは“release”と入力して下さい。

 ここまでで、貴方が最新コードの複製と、“default”ブランチの選択を終えているとします。次は、昔のファイルやその他を削除してから、RawTherapeeをコンパイルします。“-j8”というオプションは、幾つのスレッドを使うか設定するものです、下に示したケースでは8が入力されています(Intel i7 quad-coreには4つの物理的コアがあり、ハイパースレッドと合わせて8となるからです)。この数字はコンパイルするスピードに影響しますが、コンパイルされたRawTherapeeの動作時間には影響しません。どの数値を入力すれば良いか不明な場合は:

grep -c 'processor' /proc/cpuinfo

 -DCACHE_NAME_SUFFIXというオプションは、コンパイルされたRawTherapeeが使うキャッシュとコンフィギュレーションフォルダーの名前に付けられた接尾辞を書き取らせるものです-ファイルパスの説明を参照して下さい。 -DPROC_TARGET_NUMBERというオプションは最適なCPUタイプを指定するもので、“2”が安全な設定です。2は“ネイティブ”を意味し、最適であるタイプを自動的に設定します。更なる情報が、複製されたレポジトリーの中の"ProcessorTargets.cmake"にあります。

cd ~/rt_repo
hg pull && hg update
rm -rv rawtherapee; ./clean.sh
cmake -DCMAKE_BUILD_TYPE=release -DPROC_TARGET_NUMBER:STRING=2 -DCMAKE_INSTALL_PREFIX=rawtherapee -DBUILD_BUNDLE=ON -DBINDIR=. -DDATADIR=. -DCACHE_NAME_SUFFIX=4
make -j8 install
mv -v rawtherapee ~/

RawTherapeeを起動する

 RawTherapeeを起動するには:

~/rawtherapee/rawtherapee

 ソースコードリポジトリ―は~/rt_repoの中にあり、コンパイルされたプログラムは~/rawtherapeeの中にあります。

 ~/rt_repoは、問題なく消去することも可能です。コンパイルされたプログラムはまだ作動しますが、アップデートするには、上で説明したステップを繰り返す必要があります。寧ろ、リポジトリ-はそのままで、アップデートは後で行うことも出来ます。

RawTherapeeのアップデート

 RawTherapeeを最新のコードでアップデートしたい場合は、コンソールからホームディレクトリーに行き、上で説明した”RawTherapeeをコンパイルする”セクションのラインをコピー/貼り付けします。最新のコードがダウンロードされて、コンパイルされ、~/rawtherapeeに移動します。

更なる情報

 コードの入手と提示についての更なる情報は以下を参照して下さい:  http://code.google.com/p/rawtherapee/