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-multilib
と g++-multilib
パッケージをインストールする必要があった。
sudo apt-get install gcc-multilib g++-multilib