64bit環境のArch Linuxで32bitアプリケーションを動かす
2016-02-17
2016-02-17
こんにちは。今回のテーマは『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]