数回のインストールと削除を行った後、AtlasとOpenBLASを互いに友だちにしようとすると、この更新代替エラーが発生します。これは、実際にはマスタースレーブデッドロックと考えられます。一部のシンボリックリンクはスレーブであるべきですが、実際にはマスターです。これを修正する方法を教えてください。
私の設定:ubuntu 12.04
Sudo apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up libatlas3gf-base (3.8.4-3build1) ...
update-alternatives: error: alternative libatlas.so.3gf can't be slave of libblas.so.3gf: it is a master alternative.
dpkg: error processing libatlas3gf-base (--configure):
subprocess installed post-installation script returned error exit status 2
Errors were encountered while processing:
libatlas3gf-base
E: Sub-process /usr/bin/dpkg returned an error code (1)
Sudo dpkg --configure -a
Setting up libatlas3gf-base (3.8.4-3build1) ...
update-alternatives: error: alternative libatlas.so.3gf can't be slave of libblas.so.3gf: it is a master alternative.
dpkg: error processing libatlas3gf-base (--configure):
subprocess installed post-installation script returned error exit status 2
Errors were encountered while processing:
libatlas3gf-base
編集:
$ update-alternatives --query libblas.so.3gf
update-alternatives: error: no alternatives for libblas.so.3gf.
$ update-alternatives --query libatlas.so.3gf
Link: libatlas.so.3gf
Status: auto
Best: /usr/local/lib/libopenblas.so
Value: none
Alternative: /usr/local/lib/libopenblas.so
Priority: 50
私は自分のマスタースレーブデッドロックを修正しました。これが魔法のラインです。
Sudo dpkg --remove --force-remove-reinstreq libatlas3gf-base
その後、 'Sudo apt-get -f install'を発行しましたが、これ以上問題はありませんでした。
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
注:別の投稿( http://ubuntuforums.org/showthread.php?t=947124 )で誰かが提案しました
"Sudo dpkg --remove -force --force-remove-reinstreq package name"
「-force」は本当に必要ありません。
私はhoraceTの答えを得ることができませんでした。代わりに、次のコマンドを発行しましたが、不満はありましたが、apt-get install
の失敗を停止しました。
Sudo update-alternatives --config liblapack.so.3gf
Sudo update-alternatives --config libblas.so.3gf
記憶のためだけに: この答え を作成することをお勧めします
Sudo update-alternatives --remove-all liblapack.so.3gf
Sudo apt-get install -f
これは私の場合に役立ちました。