ジャンカーな日々

こころのすさんだ管理人[る~]がAndroid/Windows/Linux/OSX/iOS/パーツなどの話題やお買い得商品を紹介していきます

Raspberry Pi RaspbianをWheezyからjessieにOSをアップデートしてGCC 4.8にする方法

最近ARM系もgcc/g++が4.8になっているパッケージが多くて、バイナリパッケージを持ってきて実行しようとすると、以下のようなエラーで起動しないです

jessieにアップデート済みであれば以下の現象は発生しないのですが…

※ちなみに、以下はMinecraftC++クローン、MCServerを実行したときのエラーです

./MCServer: /usr/lib/arm-linux-gnueabihf/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by ./MCServer)
./MCServer: /usr/lib/arm-linux-gnueabihf/libstdc++.so.6: version `GLIBCXX_3.4.19' not found (required by ./MCServer)

 では、さっそくアップデート方法へ
まず、aptのレポジトリ設定ファイルを開けて

vim /etc/apt/sources.list

 以下のレポジトリを最後に追加します

deb http://archive.raspbian.org/raspbian wheezy main contrib non-free rpi
deb-src http://archive.raspbian.org/raspbian wheezy main contrib non-free rpi
deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi
deb http://archive.raspbian.org/raspbian jessie main contrib non-free rpi
deb-src http://archive.raspbian.org/raspbian jessie main contrib non-free rpi

 次にリファレンスファイルを開いて(ない場合は新規作成)

vim /etc/apt/preferences

 以下の情報を追加

Package: *
Pin: release n=wheezy
Pin-Priority: 900
Package: *
Pin: release n=jessie
Pin-Priority: 300
Package: *
Pin: release o=Raspbian
Pin-Priority: -10

 OSのアップデートを実施

sudo apt-get update

パッケージのアップデートを実施

sudo apt-get install -t jessie gcc-4.8 g++-4.8
sudo update-alternatives --remove-all gcc 
sudo update-alternatives --remove-all g++
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 20
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50
sudo update-alternatives --config gcc
sudo update-alternatives --config g++

 以上で、アップデート完了です。jessieにないパッケージもあるので
しばらくはaptの設定はそのままでいいと思う…

ジャンカーな日々はamazon.co.jpを宣伝しリンクすることによって サイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。ちょっとだけ紹介ついでにお小遣いをいただいております(_ _)