明日にはでっかい太陽が昇るかもしれません。

「覚悟」とは!! 暗闇の荒野に!!進むべき道を切り開く事だッ!

Ubuntu 14.04 64bit で 32bit アプリを動作させる方法

最近は Docker にもハマッているので、サーバ構築はもっぱら Ubuntu 14.04 64bit なのですが、クロスコンパイル環境などで提供されている32bitアプリが動作させるのに苦労したためメモします。

以前のバージョンでは、 ia32-libs パッケージをインストールすればよかったのですが、13.xx からサポートされなくなったらしい。(それ以前に更新が2009年から止まっていたらしい。。。)

色々調べると、13.xx のリポジトリから無理やり ia32-libs をインストールする方法なども見つかったが、いかんせん無理矢理感が強すぎるし、何かあったらどうしようもないので、正攻法を探してみるとやはりあった!!

64 bit - How to run 32-bit app in Ubuntu 64-bit? - Ask Ubuntu


sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386

これで、32bit環境のライブラリが追加できた。

どうやら、 :i386 をつけると32bit用のパッケージがインストールできるっぽいので、もし足りないライブラリなんかがあったら、同様の方法で対応できそう。


あと、64bit環境で32bit向けのコンパイルを行う場合は、 gcc-multilibg++-multilib パッケージをインストールする必要があった。

sudo apt-get install gcc-multilib g++-multilib