概要
Ubuntu 20.04 LTS 64bit版にlibzipをインストールしようとしたら、困ったので備忘録として残す。
結論
これでうまくいった。少なくとも手元のzip.hをインクルードしたC言語ソースはビルドエラー出ない。
世の中の試行と結果をみると何かのパッケージのインストール状態が影響していて1つの方法に定まっていないのかもしれない。(根拠なし)
sudo apt install libzip5
過程
検索したら以下のコマンドでインストール!とあったので試したらダメだった。
sudo apt install libzip-dev
出てきたエラー
以下のパッケージには満たせない依存関係があります:
libzip-dev : 依存: zlib1g-dev しかし、インストールされようとしていません
E: 問題を解決することができません。壊れた変更禁止パッケージがあります。
では、zlib1g-devをインストールしよう。
sudo apt install zlib1g-dev
結果
以下のパッケージには満たせない依存関係があります:
zlib1g-dev : 依存: zlib1g (= 1:1.2.11.dfsg-2ubuntu1) しかし、1:1.2.11.dfsg-2ubuntu1.2 はインストールされようとしています
E: 問題を解決することができません。壊れた変更禁止パッケージがあります。
zlib1g をインストールしてみると?
sudo apt-get install zlib1g
想定通りエラー
zlib1g はすでに最新バージョン (1:1.2.11.dfsg-2ubuntu1.2) です。
インストールすることができないパッケージがありました。おそらく、あり得
ない状況を要求したか、(不安定版ディストリビューションを使用しているの
であれば) 必要なパッケージがまだ作成されていなかったり Incoming から移
動されていないことが考えられます。
以下の情報がこの問題を解決するために役立つかもしれません:
一度アンインストールしてみるか?
sudo apt-get remove zlib1g
が、多くのパッケージが依存しているとしてエラーが出た。まぁそうなるだろうね…
debならどうか?
sudo dpkg -i libzip-dev_1.5.1-0ubuntu1_amd64.deb
やはりダメ
libzip-dev:amd64 (1.5.1-0ubuntu1) を展開しています...
dpkg: 依存関係の問題により libzip-dev:amd64 の設定ができません:
libzip-dev:amd64 は以下に依存 (depends) します: zlib1g-dev ...しかし:
パッケージ zlib1g-dev はまだインストールされていません。
dpkg: パッケージ libzip-dev:amd64 の処理中にエラーが発生しました (--install):
依存関係の問題 - 設定を見送ります
libzipでググっているとlibzip4とかlibzip5というキーワードが出てくる。
サイト/ページの目的はこちらとはちょっとずれているようだが、もしや?
sudo apt install libzip5
インストールは完了した。
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが新たにインストールされます:
libzip5
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
46.7 kB のアーカイブを取得する必要があります。
この操作後に追加で 134 kB のディスク容量が消費されます。
取得:1 http://jp.archive.ubuntu.com/ubuntu focal/universe amd64 libzip5 amd64 1.5.1-0ubuntu1 [46.7 kB]
46.7 kB を 1秒 で取得しました (83.5 kB/s)
以前に未選択のパッケージ libzip5:amd64 を選択しています。
(データベースを読み込んでいます ... 現在 243077 個のファイルとディレクトリがインストールされています。)
.../libzip5_1.5.1-0ubuntu1_amd64.deb を展開する準備をしています ...
libzip5:amd64 (1.5.1-0ubuntu1) を展開しています...
libzip5:amd64 (1.5.1-0ubuntu1) を設定しています ...
libc-bin (2.31-0ubuntu9.7) のトリガを処理しています ...
findするとzip.hがある。念のためOS再起動もしておく。
zip.hをインクルードしたC sourceがエラーを吐かなくなったのでよしとする。
感想
結構ヒットする libzip-dev のインストールでなぜエラーが出るのか分からない。
以上