ia32-libsパッケージはどうなりましたか?


104

このia32-libsパッケージは、64ビットシステムのUbuntu 12.04リポジトリに存在しなくなりました。ダウンロード可能な代替パッケージはありますか?



2
+1、まったく同じ質問をするだけでした。SOには本当に素晴らしい質問の提案があります!
ウリトコ

回答:


97

ia32-libsパッケージは、64ビットインストールに32ビットパッケージをインストールするためのハックでした。Ubuntuバージョン11.10(Oneiric)以降、Multi Archが追加されました。その目的の1つは、ia32-libsパッケージを削除することです。代わりに、以下を使用してパッケージの32ビットライブラリをインストールする必要があります。

sudo apt-get install package-name:i386

標準リポジトリ内のwineパッケージ(パッケージなど)については、これについて心配する必要はありません。外部ソフトウェアの場合、依存関係を手動で見つける必要があるため、少し難しくなります。その場合は、お気に入りの検索エンジンを使用して、必要なライブラリを見つけてください。

ia32-libsはまだ存在しているようですが、一般的な32ビットライブラリを含めるための単なる便利なパッケージです。このパッケージでは、Multi Archを使用して32ビットパッケージを正しくインストールするようになりました。


17
さて、どのようにしてすべての依存関係を見つけて、それらの最初の:i386をインストールするのでしょうか?
-user117

10
@wingman Run ldd、引数としてバイナリへのパスを渡します。出力にのような行が含まれている場合は、libz.so.1 => not foundを見つける必要がありますlibz.so.1packages.ubuntu.comを使用するかapt-file search、そのファイルを含むパッケージを見つけることができます。上記の例では、をインストールする必要がありますzlib1g:i386
-Lekensteyn

1
私はubuntu 10.10のコンピューターにいます。アンドロイド開発に関するいくつかのチュートリアルに従って、ia32-libsをインストールする必要があります。あなたの答えは11.10について話していますが、このコンピュータの場合は?私がしなければならないこと?
nkint

1
@nkint 10.10はサポートされなくなりました。続行する場合は、パッケージソースを変更する必要があります。10.10では、ia32-libsをインストールする必要があります。しかし、それでもアンドロイドSDKがそれで動作するという保証はありません。
-Lekensteyn

1
@FelipeMicaroniLalli package-name実際の名前に置き換える必要があります。使用ldd上の第2のコメントを参照して、把握します。
-Lekensteyn

43

Ubuntu 13.10

どうした?

ia32-libsパッケージは完全に置き換えられましたlib32z1 lib32ncurses5 lib32bz2-1.0。他のパッケージに機能が残っているため、これは問題になりません。ただし、誰もがパッケージを保守し、すべてのソフトウェアがFLOSSである理想的な世界には住んでいません。そのため、一部のパッケージはまだia32-libsに依存しています。

ia32-libsに依存するパッケージxをインストールする方法

2つの方法があります。

  1. それに依存しないように手動で再パッケージ化できia32-libsます。(推奨)
  2. ia32-libsはUbuntu 13.04(Raring Ringtail)リポジトリからインストールできます(最初の方法が機能しない場合のみ、まったく推奨されません!

1.古いパッケージを再パッケージ化する

例としてcitrixレシーバーを使用しますが、このメソッドは任意の.debパッケージに使用できます。

最初に、ウェブサイトからcitrixレシーバーの.debパッケージをダウンロードし、一時ディレクトリにハッキングを実行させます。

mkdir ica_temp

パッケージを抽出する

dpkg-deb -x icaclient_13.0.0.256735_amd64.deb ica_temp
dpkg-deb --control icaclient_13.0.0.256735_amd64.deb ica_temp/DEBIAN

gedit(またはお気に入りのエディター)でファイルを開きます

sudo -H gedit ica_temp/DEBIAN/control

で始まる行を見つけますDepends:...。削除ia32-libsして追加lib32z1 lib32ncurses5 lib32bz2-1.0

変更されたパッケージを再構築する

dpkg -b ica_temp icaclient-modified.deb

そしてそれをインストールする

sudo dpkg -i icaclient-modified.deb
sudo apt-get install -f

citrixレシーバーをインストールするには、ハッキングも必要です。Ubuntu wikiで完全なインストール手順を見つけることができます

これは、まだia32-libsに依存している古い.debパッケージで実行できます。

2. raringリポジトリからia32-libsをインストールします

古いパッケージをインストールすることは非常に悪い習慣であることに注意してください!残念なことに、一部のバイナリインストーラーでは、他に選択肢はありません。

ia32-libsパッケージはraringリポジトリからダウンロードできます。ダウンロードして手動でインストールすると、依存関係が解決されます。


「FOS」とは何ですか?私が試した:acronyms.thefreedictionary.com/FOS
ビュー

1
@Elipticalview「無料でオープンソース」。より一般的なFLOSS(Free / Libreおよびオープンソースソフトウェア)に変更しました。
ガルガレシュ

「古いパッケージの再パッケージ化」は主にUbuntu 16.04 Xenialで機能します。パッケージ名にいくつかの適応を追加するだけで、通常はパッケージ名の最後に「:i386」-名前空間を追加します。パッケージのいくつかはlibbz2-1.0のように、あまりにも異なる名前を持っている:I386
クリスチャンBenke

6

ia32-libs-multiarch代わりにパッケージをインストールすることになっていると読みました。しかし、それは私にとってはうまくいかず、このエラーが発生します

ia32-libs-multiarch:i386 : Depends: libgphoto2-2:i386 but it is not going to be installed.

私のために働いた解決策は、次のパッケージをインストールすることでした:

sudo apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386 libstdc++6:i386

また、基本OSのルナのための作品集
キャメル記法

4

このエラーが発生した場合は、次を試してください。

sudo apt-get update

それからもう一度試してください:

sudo apt-get install ia32-libs

12.04の新規インストールを行ったところ、そのパッケージはまだリポジトリで利用可能です。実際、アップデートを実行する前に自分でそのエラーを受け取りました。その後、うまくいきました。


1

この特定のユースケースは、パッケージ「lib32z1 lib32ncurses5 lib32bz2-1.0 lib32asound2」に置き換えられたと思います。これは、「multi-archを使用できます」と言うよりも、より具体的かつ有用な答えでしょう。


2
何?この質問には特定のユースケースはありません。
gertvdijk

1
@gertvdijk:パッケージ自体は限られたユースケースを表します。より一般的な目的のためにマルチアーチを使用できますが、以前にこの特定のパッケージを使用していた人にとっては、マルチアーチを使用せずにインストールできる「lib32z1 lib32ncurses5 lib32bz2-1.0 lib32asound2」に置き換えられたようです:これは、前のパッケージと同じユースケースを対象としています。本質的に、これらの回答は役に立たないことがわかりました.ia32-libsが存在するためにマルチアーチが過剰であり、より直接的なドロップイン置換が存在しないことに驚いており、これをさらに調査しても失望しませんでした。
-saurik

これは私にとって同様の問題を解決した最も簡単な答えでした。示されているライブラリは、一般的なバイナリの起動とは関係がないように見えますが、機能していました。
ナイットあたり

-2

ia32-libsを次のようにインストールしました(64ビットマシンでUbuntu 13.04 Raring Ringtailを実行しています):

独自のアーキテクチャを確認します。

$ dpkg --print-architecture

外部アーキテクチャがインストールされているかどうかを確認します。

$ dpkg --print-foreign-architectures

上記の2つのコマンドの結果によっては、次の3つのコマンドが機能する場合があります(私の場合、処理に時間がかかりました)。

$ sudo dpkg --add-architecture i386 && sudo apt-get update && sudo apt-get install ia32-libs

4
取得:Package ia32-libs is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source However the following packages replace it: lib32z1 lib32ncurses5 lib32bz2-1.0
foob​​arbecue
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.