MacOS/jp: Difference between revisions
mNo edit summary |
|||
| Line 17: | Line 17: | ||
=== MacPorts === | === MacPorts === | ||
{{warning/jp|1=前提条件となるライブラリーを管理するためにHomebrewを使う場合は、MacPorts或いは<code>sudo port</code>に関わるコマンドは使用しません}} | |||
以下の手順はバージョン10.9及びそれ以降のOS Xでテスト済です。 | 以下の手順はバージョン10.9及びそれ以降のOS Xでテスト済です。 | ||
* ''' | * '''前提条件:''' | ||
** | ** Xcode デベロッパーツール | ||
** | ** コマンドラインツール | ||
** MacPorts | ** MacPorts | ||
*** MacPortsとXcode | *** MacPortsとXcode デベロッパーツールの詳細設定は[https://www.macports.org MacPorts website]のウェブサイトで見ることが出来ます。 | ||
*** Appleが提供している専用システムコンパイリングは非常に古いものでOpenMPをサポートしていませんので使わないようにします。MacPortsの最新の安定したコンパイラを使います-その方がRawTherapeeの動作が速くなります。 | *** Appleが提供している専用システムコンパイリングは非常に古いものでOpenMPをサポートしていませんので使わないようにします。MacPortsの最新の安定したコンパイラを使います-その方がRawTherapeeの動作が速くなります。 | ||
* '''MacPortsの構成:''' | * '''MacPortsの構成:''' | ||
: 以下のラインを/opt/local/etc/macports/variants.confに追加します。 | : 以下のラインを/opt/local/etc/macports/variants.confに追加します。 | ||
:: <code>+quartz -x11 -gnome</code> | :: <code>+quartz -x11 -gnome</code> | ||
* '''ディペンデンシー:''' | |||
: ディペンデンシーをインストールするには, ターミナルから実行します: | |||
:: <code>sudo port install git clang-9.0 ++-mp libomp gtk3 gtkmm3 gtk-osx-application-gtk3 adwaita-icon-theme libsigcxx2 lcms2 libiptcdata fftw-3-single lensfun</code> | |||
: Xcode 9.2上でコンパイルする場合は、以下を追加する必要があります: | |||
:: <code>sudo port install ld64 +ld64_xcode</code> | |||
* '''MacPortsのコンパイルシステムの構成''' | |||
: <code>cmake</code> コマンドに以下のフラッグを追加: | |||
:: <code>-DLOCAL_PREFIX=PATH:"/opt"</code> | |||
=== libiconvパッチ === | === libiconvパッチ === | ||
Revision as of 12:19, 26 February 2020
本項はmacOSシステムでRawTherapeeをコンパイルする説明をしています。Linux と Windows でコンパイルする説明は別項にあります。 ここにはコンパイルの際に何を、どうするのかという詳細が書かれています。何故及びこれらコマンドの説明、ディペンデンシーのリスト、CMakeオプション、その他の情報に関しては、 Linux を参考にして下さい。
不明な点があれば、IRCに参加して、他の参加者に聞いてみて下さい。
ソースコードのクローン作成、ブランチの選択、CMakeの構成、実際のコンパイルの手順に関しては、 Linuxの同じセクションを参照して下さい。以下の情報はそれに追加されたものです。
ディペンデンシー
ディペンデンシーのリストはLinuxのディペンデンシーを参照して下さい。
Homebrew
以下のコマンドでRawTherapeeに関するディペンデンシーをインストールします:
brew install gtk+3 gtkmm3 gtk-mac-integration adwaita-icon-theme libsigc++ little-cms2 libiptcdata fftw lensfun wget llvm cmake expat pkgconfig libomp
MacPorts
前提条件となるライブラリーを管理するためにHomebrewを使う場合は、MacPorts或いはsudo portに関わるコマンドは使用しません |
以下の手順はバージョン10.9及びそれ以降のOS Xでテスト済です。
- 前提条件:
- Xcode デベロッパーツール
- コマンドラインツール
- MacPorts
- MacPortsとXcode デベロッパーツールの詳細設定はMacPorts websiteのウェブサイトで見ることが出来ます。
- Appleが提供している専用システムコンパイリングは非常に古いものでOpenMPをサポートしていませんので使わないようにします。MacPortsの最新の安定したコンパイラを使います-その方がRawTherapeeの動作が速くなります。
- MacPortsの構成:
- 以下のラインを/opt/local/etc/macports/variants.confに追加します。
+quartz -x11 -gnome
- ディペンデンシー:
- ディペンデンシーをインストールするには, ターミナルから実行します:
sudo port install git clang-9.0 ++-mp libomp gtk3 gtkmm3 gtk-osx-application-gtk3 adwaita-icon-theme libsigcxx2 lcms2 libiptcdata fftw-3-single lensfun
- Xcode 9.2上でコンパイルする場合は、以下を追加する必要があります:
sudo port install ld64 +ld64_xcode
- MacPortsのコンパイルシステムの構成
cmakeコマンドに以下のフラッグを追加:-DLOCAL_PREFIX=PATH:"/opt"
libiconvパッチ
libiconv.2.dylibにはパッチの適用が必要です、そうしないとRawTherapeeが起動時にクラッシュします。パッチはtools/osx/libiconv_1.15_rt.patchから入手出来ます。
Libiconvのパッチ適用とコンパイルの手順は:
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz
tar xf libiconv-1.15.tar.gz
cd libiconv-1.15
wget https://raw.githubusercontent.com/Beep6581/RawTherapee/dev/tools/osx/libiconv_1.15_rt.patch
patch -p1 < libiconv_1.15_rt.patch
mkdir build
cd build
buildDir="$(pwd)"
../configure --prefix=/opt/local --disable-static 'CFLAGS=-arch x86_64 -mmacosx-version-min=10.9' 'LDFLAGS=-arch x86_64 -mmacosx-version-min=10.9' CXXFLAGS="-arch x86_64 -mmacosx-version-min=10.9"
make
make DESTDIR="$buildDir" install
cd /opt/local/lib
sudo cp ./libiconv.2.dylib ./libiconv.2.dylib.backup # backup MacPorts dylib
sudo cp "${buildDir}/opt/local/lib/libiconv.2.dylib" /opt/local/lib/libiconv.2.dylib
5.5-devにおけるDistribution Bundle Framework Libraryのバージョン
| package | 5.5 version | status | 5.6 version | status | 5.6-dev version | status |
|---|---|---|---|---|---|---|
| gtk+ | 3.22.26-168-g63f534f4b3 | on branch gtk-3-22
|
3.22.30 | prev. 3.24.0 | 3.24.8 | |
| gtkmacintegration-gtk3 | 2.0.8 | 2.1.3-6-g3e1d4a3 | ||||
| gdk-pixbuf | 2.36.11 | 2.38.0-115-g0b959ad2e | ||||
| cairo | 1.14.8 | PATCHED[1] | 1.17.2 | patch applies | ||
| cairomm | 1.12.2 | cairomm-1-14 | ||||
| cairo-gobject | 1.14.10 | 1.17.2 | ||||
| pango | 1.40.12 | 1.42.4 | 1.43.0 | |||
| pangomm | 2.40.1 | 2.42.0 | ||||
| gtkmm | 3.22.2 | 3.24.1 | ||||
| atk | 2.26.1 | ATK_2_31_92-5-ga2bff76 | master | |||
| atkmm | 2.24.2 | |||||
| glib/gio | 2.54.2 | 2.58.3 | ||||
| glibmm/giomm | 2.54.1-15-ge9330a8e | On branch glibmm-2-54
|
2.56.1 | |||
| libsigc++-2.0 | 2.10.0 | 2.10.1 | ||||
| TIFF | 4.0.9 | |||||
| pixman | 0.34.0 | pixman-0.38.4 | ||||
| PNG | 1.6.33 | 1.6.37 | ||||
| expat | 2.2.4 | R_2_2_6-61-g5e2859f | master | |||
| lcms2 | 2.8 | lcms2.9rc1-45-g65c63bf | master | |||
| JPEG | 9b | 8.4.0-4-g6c0fcb8 | master | |||
| harfbuzz | 1.4.7 | 2.4.0-3-gb292772e | ||||
| epoxy | 1.4.3 | 1.5.3-4-gd536f78 | ||||
| pcre | 8.4.1 | 8.4.2 | master | |||
| lensfun | 0.3.2.0 | v0.3.95-221-g8de8fbb7 | master | |||
| libiconv2 | 1.15 | PATCHED | ||||
| iptcdata | 1.0.4 | |||||
| fontconfig | 2.12.4 | 2.13.1-81-gfd2e155 | master | |||
| freetype2 | 20.0.14 | VER-2-10-0-15-gd74106e23 | master | |||
| libz | 1.2.11 | system libz | ||||
| graphite2 | 1.3.0.1 | 1.3.13 | ||||
| fftw | 3.3.7 | |||||
| libffi | 3.2.1 | v3.3-rc0-36-gd1e9b4b | ||||
| libiomp5 | 20160808_oss[2] | REPLACES libomp from clang [3] |
コンパイル
ソースコードの“クローン”の作り方、“ブランチ”の選び方、“CMakeの構成の仕方に関しては、手動コンパイリングを参照して下さい。但し、その中の”RawTherapeeをコンパイルする“に記述されているコードは無視して、以下の説明にあるコードを使います。
ビルドをアップロードする、或いは第三者とシェアする場合には、以下を使う必要があります、
-DPROC_TARGET_NUMBER="1"
そして、設定によりプロセッサラベルを手動で行います
-DPROC_LABEL="generic processor"
自分用にコンパイルする場合は以下を使います、
-DPROC_TARGET_NUMBER="2"
プロセッサラベルの設定は重要ではないのでスキップします。
貴方のビルドにコードサイニングを施す場合は、CMakeコマンドに詳細を追加します:
-DCODESIGNID="Developer ID Application: Firstname Lastname (XXXXXXXXXX)"
Appと生成されたdmg (Apple Disk Image)がコードサインされます。
貴方のコードサインしたビルドに公証を受けるため、Cmakeコマンドに貴方のappの固有の承認情報を入れます:
-DNOTARY="--username user@mail.com --password abcd-efgh-ijkl-mnop"
Appとdmgが公証され(悪意のあるアプリかどうかの確認)、綴じられます(公証チケットが貼り付けられます)。
RawTherapeeをコンパイルする
これでコンパイルの準備が出来ました:
cd ~/repo-rt
rm -rf build
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE="release" \
-DPROC_TARGET_NUMBER="1" \
-DPROC_LABEL="generic processor" \
-DCACHE_NAME_SUFFIX="5-dev" \
-DCMAKE_C_COMPILER="clang-mp-3.9" \
-DCMAKE_CXX_COMPILER="clang++-mp-3.9" \
-DWITH_LTO="OFF" \
-DLENSFUNDBDIR="./share/lensfun" \
..
make -j4 install
make macosx_bundle
Homebrewのディペンデンシーを使ってLiwm clan 8でコンパイルするのであれば、以下のCMakeコマンドを使います:
export PKG_CONFIG_PATH=/usr/local/opt/libffi/lib/pkgconfig:/usr/local/opt/expat/lib/pkgconfig && \
cmake .. -DCMAKE_BUILD_TYPE="release" \
-DPROC_TARGET_NUMBER="2" \
-DCACHE_NAME_SUFFIX="5.6-dev" \
-DCMAKE_C_COMPILER="clang"\
-DCMAKE_CXX_COMPILER="clang++" \
-DWITH_LTO="ON" \
-DLENSFUNDBDIR="./share/lensfun" \
-DCMAKE_BUILD_TYPE=Release \
-DOpenMP_C_FLAGS=-fopenmp=libomp \
-DOpenMP_CXX_FLAGS=-fopenmp=libomp \
-DOpenMP_C_LIB_NAMES="libomp" \
-DOpenMP_CXX_LIB_NAMES="libomp" \
-DOpenMP_libomp_LIBRARY="/usr/local/lib/libomp.dylib" \
-DOpenMP_CXX_FLAGS="-Xpreprocessor -fopenmp /usr/local/lib/libomp.dylib -I/usr/local/include" \
-DOpenMP_CXX_LIB_NAMES="libomp" \
-DOpenMP_C_FLAGS="-Xpreprocessor -fopenmp /usr/local/lib/libomp.dylib -I/usr/local/include" \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DCMAKE_EXE_LINKER_FLAGS="-L/usr/local/opt/libffi/lib -L/usr/local/lib" \
-DCMAKE_AR="/usr/local/Cellar/llvm/8.0.0/bin/llvm-ar" \
-DCMAKE_RANLIB="/usr/local/Cellar/llvm/8.0.0/bin/llvm-ranlib"
From-Scratchでコンパイルする方法
- オプションで、この [4] 完全なコマンドリストは、from-scratch方式によるRawTherapeeのコンパイルとmacOS10.14.6/Xcode 11.1の実行に使うことが出来ます。
- JDKをインストールする必要があります。
- Xcode 11.1 をインストールする必要があります。
RawTherapeeの実行とシェア
ビルドディレクトリーの中にディスクイメージを見つけることが出来るでしょう;これはビルドがディストリビューション用であり、前述したvariants.confで貴方が特定したアーキテクチャー要件を満たすコンピューターであればどれでもビルドを実行することが出来ます。
RawTherapeeのプロジェクトに貴方のビルドを提供するために、dmgとAboutThisBuild.txtファイルをzipで圧縮して下さい。そして、以下のテンプレートに従ってそのzipファイルに名前を付けます:
- RawTherapee_OSX_<minimum supported macOS version>_64_<RawTherapee version>.zip
例えば、貴方のビルドがRawTherapee 5.2-dev-g1a2b3c4dのmacOS 10.12用であれば、その名前は:
- RawTherapee_OSX_10.12_64_5.2-dev-g1a2b3c4d.zipとなります。
そのzipアーカイブをhttp://filebin.net/にアップロードし、open a new issue on our GitHub pageにそのリンクを貼り付けて下さい、そうすれば私たちがウェブサイトにアップロードできます。
macOS 10.15
- macOS 10.15 Catalina 上で実行する場合は以下が必要です:
- Appをコピーし
/Applicationsフォルダーから実行します。 /bin/shをSystem Preferences > Security & Privacy > Privacy > Full Disk Accessに追加します。プログラムを起動した最初の時だけ、自動的にこれが行われるよう要求されます。
- Appをコピーし