🤕

usbmuxdインストール時に依存するlibimobiledevice-glue-1.0パッケージが無いとエラーが出た場合の対処方法

2021/10/03に公開1

こんにちは!
つい最近職場のエンジニアの方よりFlutterの魅力を教えてもらいアプリ開発にも興味があったため、入門してみました!

実機でホットリロードしながら開発をしたいと思い必要なパッケージのインストール等しているときに出たエラーの対処方法について備忘録で残しておきます。

私が実機開発するために参考にした記事はこちらです
https://qiita.com/tocomi/items/34949d64de9677c1e697

記事のとおりに環境構築を行っていたのですが、usbmuxdのインストール時にこけてしまいました

brew install --HEAD usbmuxd

そのときに出たエラー。

Package requirements (libimobiledevice-glue-1.0 >= 1.0.0) were not met:
No package 'libimobiledevice-glue-1.0' found

依存モジュールの libimobiledevice-glue-1.0 が足りないというエラーでした。

依存関係を確認する実装には確かに libimobiledevice-glue-1.0 が必要だと明記されておりました。
https://github.com/libimobiledevice/usbmuxd/blob/master/configure.ac#L21

そこで色々調べているとこのようなissueを見つけました。

libplist -> libusbmuxd -> libimobiledevice -> usbmuxd, ifuse, ideviceinstaller, ...

https://github.com/libimobiledevice/usbmuxd/issues/10#issuecomment-39726205

当時のコメントではこのようになっておりますが、 libimobiledevice-glue のインストールには libplistが必要ということが分かりました。
https://github.com/libimobiledevice/libimobiledevice-glue/blob/master/configure.ac#L33

libplist -> libimobiledevice-glue -> libusbmuxd -> libimobiledevice -> usbmuxd

なので上記の順に必要なパッケージのインストールを手動で行いました

# libplistのインストール
cd ~ \
&& git clone https://github.com/libimobiledevice/libplist.git \
&& cd libplist \
&& ./autogen.sh \
&& make \
&& sudo make install \
&& rm -rf ~/libplist

# libimobiledevice-glueのインストール
cd ~ \
&& git clone https://github.com/libimobiledevice/libimobiledevice-glue.git \
&& cd libimobiledevice-glue \
&& ./autogen.sh \
&& make \
&& sudo make install \
&& rm -rf ~/libimobiledevice-glue

# libusbmuxdのインストール
cd ~ \
&& git clone https://github.com/libimobiledevice/libusbmuxd.git \
&& cd libusbmuxd \
&& ./autogen.sh \
&& make \
&& sudo make install \
&& rm -rf ~/libusbmuxd

# libimobiledeviceのインストール
cd ~ \
&& git clone https://github.com/libimobiledevice/libimobiledevice.git \
&& cd libimobiledevice \
&& ./autogen.sh \
&& make \
&& sudo make install \
&& rm -rf ~/libimobiledevice

ですがこけていた下記のコマンドをその後に実行してみたのですが結果は変わらず。。
(brewの環境パス配下でしか依存関係確認していないのかな?。。。

brew install --HEAD usbmuxd

そこでusbmuxdも手動でインストールを試みたところ無事にエラーが出ること無く完了しました!

# usbmuxdのインストール
cd ~ \
&& git clone https://github.com/libimobiledevice/usbmuxd.git \
&& cd usbmuxd \
&& ./autogen.sh \
&& make \
&& sudo make install \
&& rm -rf ~/usbmuxd

flutter doctor しても問題なかったのでこれで環境構築周りは一旦終わって一安心😊

Discussion

ksks

こんにちは。Google検索から来たのですが、sudo make installの後のスペースが全角スペースになっているのでそのままコピペしただけではうまく動きませんでした。よろしければ修正をお願いします。