MacOS/jp: Difference between revisions

From RawPedia
Jump to navigation Jump to search
(Created page with "<span style="color: #000000; background: none; overflow: hidden; page-break-after: avoid; font-size: 2.0em; font-family: Georgia,Times,serif; margin-top: 1em; margin-bottom: 0...")
 
mNo edit summary
Line 1: Line 1:
<span style="color: #000000; background: none; overflow: hidden; page-break-after: avoid; font-size: 2.0em; font-family: Georgia,Times,serif; margin-top: 1em; margin-bottom: 0.25em; line-height: 1.3; padding: 0; border-bottom: 1px solid #AAAAAA;">MacOS</span>
<div class="pagetitle">macOS</div>


 本項は'''macOS'''システムでRawTherapeeをコンパイルする説明をしています。[[Linux/jp|Linux]] と [[Windows/jp| Windows]] でコンパイルする説明は別項にあります。 ここにはコンパイルの際に'''何を'''、'''どうするのか'''という詳細が書かれています。'''何故'''及びこれらコマンドの説明、ディペンデンシーのリスト、CMakeオプション、その他の情報に関しては、[[Linux/jp| Linux]] を参考にして下さい。
 本項は'''macOS'''システムでRawTherapeeをコンパイルする説明をしています。[[Linux/jp|Linux]] と [[Windows/jp| Windows]] でコンパイルする説明は別項にあります。 ここにはコンパイルの際に'''何を'''、'''どうするのか'''という詳細が書かれています。'''何故'''及びこれらコマンドの説明、ディペンデンシーのリスト、CMakeオプション、その他の情報に関しては、[[Linux/jp| Linux]] を参考にして下さい。

Revision as of 11:41, 12 December 2019

macOS

 本項は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

 以下の手順はバージョン10.9及びそれ以降のOS Xでテスト済です。

  • 必要なもの:
    • AppleのXcode デベロッパーツール
    • Appleのコマンドラインツール
    • MacPorts
      • MacPortsとXcode デベロッパーツールの詳細設定はMacPortsのウェブサイトで見ることが出来ます。
      • Appleが提供している専用システムコンパイリングは非常に古いものでOpenMPをサポートしていませんので使わないようにします。MacPortsの最新の安定したコンパイラを使います-その方がRawTherapeeの動作が速くなります。
  • MacPortsの構成:
以下のラインを/opt/local/etc/macports/variants.confに追加します。
+quartz -x11 -gnome

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に追加します。プログラムを起動した最初の時だけ、自動的にこれが行われるよう要求されます。