私のプロジェクトには最新のG ++が必要ですが、すべてのチュートリアルはソースをダウンロードしてコンパイルし、「簡単に」インストールして使用するように指示します。これは再現性が悪いので、私は望んでいません。
しかし、Debianのリポジトリには、私が保持して共有できる最新のパッケージ(bullseye、テスト、不安定など)があります。これはほとんどFrankenDebianを得ることができることを知っていますが、ソースコードやあいまいなリポジトリを使用するよりもはるかに優れています(一部のチュートリアルではDebian用のppaの使用をお勧めします...)。
私もDebian BusterのG ++を使い続けたいと思います。なぜなら、多くのことは間違いなくそれを使用し、次のエラーを回避するからです。
/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.30' not found (required by /lib/x86_64-linux-gnu/libselinux.so.1)
error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
ここでは間違いなく頭痛を避けることができます。
インストール方法などについても聞きましたが、まず正しいパッケージをインストールする必要があります。
これは私の問題です。:ソースコードに従わずにDebianバスターに別のG ++をインストールする方法は?
ベストアンサー1
これは現在可能です(そしてDebian 11がリリースされる前に凍結されたので、間違いなく残りますgcc
)g++
。たとえば、BusterバックポートとBullseyeをソースに追加し、ピンを適切に設定する必要があります。
Package: *
Pin: release n=buster
Pin-Priority: 500
Package: *
Pin: release n=buster-updates
Pin-Priority: 500
Package: *
Pin: release n=buster-backports
Pin-Priority: 110
Package: *
Pin: release n=bullseye
Pin-Priority: 100
その後、またはアップグレードをgcc-10
必要としないをインストールできます。依存関係を解決するのは困難でしたが、よく管理されています(私のテストには22のアップグレードパッケージ、ほとんどのGCCまたはbinutilsパッケージ)。libc6
libstdc++6
apt
aptitude
g++-10
別の話です。アップデートが必要で、libstdc++6
アップグレードにはデフォルトでテストアップグレードが含まれます。
あなたが言ったように、このような状況にもかかわらず会議schroot
結果は「FrankenDebian」なので、Debianのテスト設定やコンテナの使用を検討できますdebian:11
。