無効な libstdc++6 で発生する問題

無効な libstdc++6 で発生する問題

私がこれをするときsudo apt-get -f install私は得ます。

Preparing to unpack .../libstdc++6_8.1.0-5ubuntu1~14.04_amd64.deb ...
Unpacking libstdc++6:amd64 (8.1.0-5ubuntu1~14.04) over (5.4.0-6ubuntu1~16.04.10) ...
dpkg: error processing archive /var/cache/apt/archives/libstdc++6_8.1.0-5ubuntu1~14.04_amd64.deb (--unpack):
 trying to overwrite shared '/usr/share/doc/libstdc++6', which is different from other instances of package libstdc++6:amd64
Processing triggers for libc-bin (2.23-0ubuntu11) ...
Errors were encountered while processing:
 /var/cache/apt/archives/libstdc++6_8.1.0-5ubuntu1~14.04_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)}

Ubuntu 14.04.5を使用しています

これはlibstdc ++との競合によるものかもしれません。 (adobe acrobatをインストールしようとしたときに発生します)libstdc ++ 6の正しいバージョンをどのように/どこで見つけることができ、破損したバージョンを削除するにはどうすればよいですか?

の出力はapt-cache policy libstdc++6:i386次のとおりです。

libstdc++6:i386:
  Installed: 8.1.0-5ubuntu1~14.04
  Candidate: 8.1.0-5ubuntu1~14.04
  Version table:
 *** 8.1.0-5ubuntu1~14.04 500
        500 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu trusty/main i386 Packages
        100 /var/lib/dpkg/status
     5.4.0-6ubuntu1~16.04.11 8500
        500 http://mirror.****/ubuntu xenial-updates/main i386 Packages
     5.4.0-6ubuntu1~16.04.10 500
        500 http://mirror.****/ubuntu xenial-security/main i386 Packages
     5.3.1-14ubuntu2 500
        500 http://mirror.****/ubuntu xenial/main i386 Packages

(上記****と書いたときにIPアドレス全体を傍受しました)

$ dpkg --print-foreign-architectures is
i386

の出力はdpkg -l libstdc++6次のとおりです。

| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                 Version         Architecture    Description
+++-====================-===============-===============-==============================================
iU  libstdc++6:amd64     5.4.0-6ubuntu1~ amd64           GNU Standard C++ Library v3
iF  libstdc++6:i386      8.1.0-5ubuntu1~ i386            GNU Standard C++ Library v3

出力grep -v "#" /etc/apt/sources.list

deb http://mirror**/ubuntu/ xenial main restricted
deb-src http://mirror**/ubuntu/ xenial main restricted

など。
このファイルを手動で編集してxenialをtrustyに変更すると、問題は解決しますか? (実行してもapt-get-cleanこの問題を解決するのに役立ちません。)

私が実行すると、sudo apt-get install --reinstall libstdc++6:i386次のようになります。

Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 libstdc++-5-dev : Depends: libstdc++6 (>= 5.5.0-12ubuntu1~14.04) but 5.4.0-6ubuntu1~16.04.10 is to be installed
 libstdc++6 : Depends: gcc-5-base (= 5.4.0-6ubuntu1~16.04.10) but 5.5.0-12ubuntu1~14.04 is to be installed
              Breaks: libreoffice-core (<= 1:4.4.4~rc3-0ubuntu1) but 1:4.2.8-0ubuntu5.1 is to be installed
              Breaks: libstdc++6:i386 (!= 5.4.0-6ubuntu1~16.04.10) but 8.1.0-5ubuntu1~14.04 is to be installed
 libstdc++6:i386 : Breaks: libstdc++6 (!= 8.1.0-5ubuntu1~14.04) but 5.4.0-6ubuntu1~16.04.10 is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

apt-get -f installスレッドの冒頭で述べたのと同じ理由で実行することはできません。何ができるか教えてください。

答え1

/etc/apt/sources.listあなたは悪い状況に直面しているようです。何とかTrusty(14.04)システムでXenial(16.04)リポジトリを有効にしました。これは明らかに、このような奇妙なパッケージの競合につながる可能性があります。

ストレージ構成を変更/クリーンアップして実行するapt-get cleanと、すべてが再び機能し始めます。

答え2

最新 (16.04) libstdc++6 パッケージを削除するには、このコマンドを使用します。

sudo dpkg --remove --force-dependents libstdc++6:amd64

パッケージストアからtrusy(14.04)のlibstdc ++ 6バージョンをダウンロードしてください。 https://launchpad.net/ubuntu/trusty/amd64/libstdc++6/4.8.2-19ubuntu1

パッケージを解凍し、ダウンロードしたパッケージの3つのファイルをその場所にコピーします。

sudo cp libstdc++.so.6.0.19 /usr/lib/x86_64-linux-gnu/

sudo cp -P libstdc++.so.6 /usr/lib/x86_64-linux-gnu/

sudo cp -P libstdc++6 /usr/share/doc/

これでapt-getが機能します。 libstdc++6 を再インストールして依存関係を修正します。

sudo apt-get install --libstdc++6 再インストール sudo apt-get -f install

今正常に戻る必要があります

関連情報