amd64 debianstretchにcheck:i386をインストールする方法は? [閉鎖]

amd64 debianstretchにcheck:i386をインストールする方法は? [閉鎖]

amd64 Debian GNU/Linux 9.3(stretch) virtualbox vm の使用に問題があります。テスト中のプログラムは32ビットにコンパイルする必要があるため、32ビットバージョンのlibcheck(C単位のテストフレームワーク)を使用したいと思います。したがって、現在のビルドは次のように失敗します。

/usr/bin/ld: skipping incompatible //usr/lib/x86_64-linux-gnu/libcheck.a when searching for -lcheck
/usr/bin/ld: cannot find -lcheck

32ビット版のlibcheckをインストールするには、次のようにしました。

dpkg --add-architecture i386
apt-get update
apt-get install gcc-multilib
apt-get install check:i386

最後のコマンドは次のとおりです。

...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 check:i386 : Depends: libsubunit-dev:i386 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

希望通りに餌を与えれば、次のような結果になります。

sudo apt-get install check:i386 libsubunit-dev:i386 libsubunit0:i386 libc6:i386 install-info:i386 libgcc1:i386 gcc-6-base:i386

それから私は何をしたいのですか?これは明らかに間違っています。私の質問は次のとおりです

  1. 私は何が間違っていましたか?
  2. aptが何をしたいのかをどのように理解していますか?

resources.listでテストを有効にすると、gcc 7がインストールされ、すべてがうまく機能するため、これがうまくいくと確信しています。問題は、この仮想マシンでテストしたくないので、状態を拡張に戻すことです。

答え1

問題は混合ストレッチ+テストシステムにありました。一部のlibc関連パッケージをダウングレードした後、すべてがうまく機能しました。したがって、check:i386のインストールについて説明したプロセスは正確です。ただシステムがめちゃくちゃだということだけです。指導してくれたDe Robertに感謝します。

関連情報