Zrythmをソースからビルドする

いくら探してもmeson.buildに書いてあるcarlaライブラリの2.6.0は存在しなかったため2.5.8に修正する。
GTK4をソースからビルドする。
gtksourceviewer5をソースからビルドする。GTK4の開発版にしかない型定義がなぜか5.0.0に存在していたためエラーログが示しているファイル(XMLだったはず)のAccessibleTextが含まれている行を削除した。その後はbrewで逐次依存関係を解決していった。
ソースに問題があるようで、いくつか修正が必要であった。まず、schemeスクリプト関連のコードに問題があるので、オプションで無効化した。
schemeを無効化したところビルドが進んだが、途中未定義エラーが発生したためソースを読んだところ、たしかに未定義のPLUGIN_CLAPという定数が使われていたため、周辺のreturn文の定義元を参照して以下のように修正した。


未定義だった部分
14を割り当てた。意味はまったくわからないけどビルドが進んだ。

そうすると、最終的にリンクするところまで進んだのだが、最後の最後で以下のようなエラーが発生した。

ld: library 'yaml' not found
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
zsh ~/Downloads/zrythm/build $ ls /opt/homebrew/Cellar/libcyaml/1.4.1/lib
libcyaml.1.4.1.dylib libcyaml.1.dylib     libcyaml.a           libcyaml.dylib       pkgconfig
zsh ~/Downloads/zrythm/build $ ln -s /opt/homebrew/Cellar/libcyaml/1.4.1/lib/libcyaml.dylib /opt/homebrew/Cellar/libcyaml/1.4.1/lib/libyaml.dylib

meson.buildを読むとlibcyamlを参照しており、brewで間違いなく導入していたため完全一致がうまくいっていないと推測し、シンボリックリンクを同じディレクトリに張ったところビルドが成功した。


成功したのだが、新規プロジェクトを作るとセグメンテーション違反を起こすのでやはり修正したソースのどこかが間違っているのかもしれない

いいなと思ったら応援しよう!