ローカルリポジトリからDebian 9にFreeRadius 3.0.16をインストールしようとしています。
しかし、インストールしようとすると、次のエラーが発生します。
The following packages have unmet dependencies:
freeradius : Depends: libssl1.0.0 (>= 1.0.1e-2+deb7u5) but it is not installable
犯人は元のソースコードにありますfreeradius-server/debian/rules
。
# Add dependency on distribution specific version of openssl that fixes Heartbleed (CVE-2014-0160).
ifeq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes),yes)
SUBSTVARS = -Vdist:Depends="libssl1.0.0 (>= 1.0.1f-1ubuntu2)"
else
SUBSTVARS = -Vdist:Depends="libssl1.0.0 (>= 1.0.1e-2+deb7u5)"
endif
Debian 9をチェックすることは、複数のDebianバージョンに合わせてコンパイルできるため、理想的な状況ではありません。
もしそうなら、Debianのバージョンをチェックすることに加えて、Defines for DebianをDefinesの代わりに定義する他の方法はありますかlibssl1.1 (>= 1.1)
?
答え1
これらのコード行を削除すると、単一のパッケージで他のパッケージを安全にアップグレードできなくなります。
見たらDebian パッケージrules
、そんなことがないことがわかります。とにかく指摘したように、Debian 9はOpenSSLに別のパッケージ名を使用しているため、依存関係は機能しません。
(適切なパッケージのアップグレードを強制するために分離を理解することは可能ですが、努力する価値はないと思います。)