Linuxを日常的に使う実験ブログ

64bit環境のArch Linuxで32bitアプリケーションを動かす

 2016-02-17

 Arch Linux

こんにちは。今回のテーマは『64bit環境のArch Linuxで32bitライブラリを使う』です。これまで筆者はArch Linuxを32bit環境で使っていたのですが、今回64bit環境に切り替えました。32bit環境の時には気が付かなかったトラブルがいくつか起こりましたので、64bit環境でArch Linuxを使う際のトラブル事例とともにMultilibリポジトリの使い方などを記事にしました。 [adsense02] 【目次】 Multilibリポジトリを有効にする 64bitシステムでBrotherプリンターを使う際の注意 64bitマシンでAndroid開発をする際の注意

Multilibリポジトリを有効にする

リポジトリの有効化

Arch Linuxを64bit環境でインストールした直後にはMultilibリポジトリが有効になっていません。以下の操作でリポジトリを有効にしましょう。まずはエディタで/etc/pacman.confを編集します。今回はvimを使っていますが、エディタはお好みのものでどうぞ。

$ sudo vim /etc/pacman.conf

以下の部分をアンコメントします。(#を消します)

[multilib] Include = /etc/pacman.d/mirrorlist

Pacmanのリポジトリ更新

以下コマンドで設定したリポジトリを有効にしておきましょう。

$ sudo pacman -Syy

64bitシステムでBrotherプリンターを使う際の注意

Brother製のプリンタードライバーは32bit用のライブラリが必要です。このライブラリが入っていないと印刷が出来ません。(ドライバーのインストールは問題なく可能です)もし、64bitシステムをお使いで、ドライバのインストールもOKでCUPSも問題なく動いているのに印刷できない場合は32bit用ライブラリがインストールされているか確認して下さい。

lib32-libstdc++5をインストール

以下コマンドでlib32-libstdc++5 をインストールします。

$ sudo pacman -S lib32-libstdc++5

これでBrother製プリンタ用のドライバは正常に機能すると思います。Arch LinuxでBrother製のプリンターを使用する方法はArch LinuxでBrother製プリンターを使うをご覧ください。

64bitマシンでAndroid開発をする際の注意

もし以下のようなエラーが出たら32bit用ライブラリがインストールされていないのが原因の可能性があります。

error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory

以下のコマンドでライブラリをインストールしておきましょう。

$ sudo pacman -S lib32-libstdc++5 lib32-zilb

最後に

Arch Linuxの64bit環境はManjaroを使うことで慣れていたつもりですが、Manjaroの場合は予めMultilibリポジトリが有効となっており、32bit用のライブラリも入っていたようで特段問題なく動いてくれました。今回は32bit用のライブラリに関する問題に立て続けに遭遇したために記事にしました。何かのお役に立てば幸いです。 【関連記事】 Arch Linuxのインストール後の環境設定まとめ Arch LinuxでBrother製プリンターを使う [adsense]