2019/05/12(日) [n年前の日記]
#1 [ubuntu][love2d][pyxel] IdeaPad S10-2 の Ubuntu 16.04 を 18.04 にアップグレードした
手元のネットブック機、Lenovo IdeaPad S10-2 にインストールしてあった、Ubuntu (Lubuntu) 16.04 LTS を、18.04 LTS にアップグレードした。
ちなみに、IdeaPad S10-2 は、大昔の Intel Atom (N270) が載ってる機種なので、64bit には未対応。Ubuntu は、32bit版しかインストールできない。そして、Ubuntu 17.10 から、32bit版のインストーラ自体が配布されなくなっているという状況。はたしてアップグレードできるのか…。
_第522回 Ubuntu 18.04 LTSの32ビットサポート事情とネットブック:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社
アップグレードの手順は以下。
一応、アップグレードはできたように見える。
ちなみに、IdeaPad S10-2 は、大昔の Intel Atom (N270) が載ってる機種なので、64bit には未対応。Ubuntu は、32bit版しかインストールできない。そして、Ubuntu 17.10 から、32bit版のインストーラ自体が配布されなくなっているという状況。はたしてアップグレードできるのか…。
_第522回 Ubuntu 18.04 LTSの32ビットサポート事情とネットブック:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社
アップグレードの手順は以下。
sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade sudo reboot sudo do-release-upgrade
一応、アップグレードはできたように見える。
◎ ssh利用時のログインメッセージ。 :
他のPCからsshでログインした際、Ubuntu 14.04 LTS が云々、というメッセージが表示されて首を捻った。何か古い設定ファイルが残ってそうだな…。
Ubuntu 18.04 LTS x64 をクリーンインストールした他の環境と比較してみたところ、今回アップグレードした環境には /etc/motd というファイルが存在していて、そのファイルの中に Ubuntu 14.04 LTS 云々を表示する内容が書いてあった。
クリーンインストールした環境には該当ファイルが無かったので、試しに sudo rm /etc/motd でファイルを削除してみたところ、ログインメッセージが正常(?)な内容になってくれた。
他にも、/etc/update-motd.d/ 以下に、/run/motd.dynamic を生成するための設定ファイルが複数あるので、余分なファイルは削除しておいた。
Ubuntu 18.04 LTS x64 をクリーンインストールした他の環境と比較してみたところ、今回アップグレードした環境には /etc/motd というファイルが存在していて、そのファイルの中に Ubuntu 14.04 LTS 云々を表示する内容が書いてあった。
クリーンインストールした環境には該当ファイルが無かったので、試しに sudo rm /etc/motd でファイルを削除してみたところ、ログインメッセージが正常(?)な内容になってくれた。
他にも、/etc/update-motd.d/ 以下に、/run/motd.dynamic を生成するための設定ファイルが複数あるので、余分なファイルは削除しておいた。
◎ 動作確認しようとしたものの。 :
せっかくアップグレードしたのだから、何かを動かして動作確認しようと思ったものの。
- love2d は、インストールして実行してもウインドウすら出てこない。
- Python3 + pyxel は、glfw がインポートエラーを出してコケる。
◎ love2d のインストール。 :
一応それぞれのインストール方法をメモ。
love2d は、公式サイトの、「Ubuntu PPA」というリンクをクリックすればインストール方法が書いてある。
_LoVE - Free 2D Game Engine
_love-stable : Bart van Strien
これでインストール自体はできた。動かないけど。
love2d は、公式サイトの、「Ubuntu PPA」というリンクをクリックすればインストール方法が書いてある。
_LoVE - Free 2D Game Engine
_love-stable : Bart van Strien
sudo add-apt-repository ppa:bartbes/love-stable sudo apt-get update
sudo apt install love
これでインストール自体はできた。動かないけど。
◎ Python3 + pyxel のインストール。 :
Python3 + pyxel も、公式サイトの記述通りに作業すれば、インストール自体はできる。
_pyxel/README.ja.md at master - kitao/pyxel
しかし、サンプルがインストールできない。
python3 を起動して import glfw と打っただけでもエラーが出るので、pyglfw (glfw?) 自体に問題があるようだなと。
少し調べてみたけれど、どうやら pyglfw は Linux 64bit版のみを想定して作ってる気配も…。libglfw.so は、それぞれ以下に置いてあるのだけど。
pyglfw の library.py 内、search_paths = [ ... ] の部分でライブラリを検索するパスが列挙されているものの、64bit版のパスしか書いてない。
_pyGLFW/library.py at master - FlorianRhiem/pyGLFW
試しに、library.py を編集。
しかし、pyxel のサンプルを動かそうとすると、これまた違うエラーが出て何も表示されない。
そもそも pyglfw が動くのかどうか、そこからして怪しいよな…。Intel Atom N270 + Intel 945GSE Express という、古くて非力なスペックだし…。
一応、簡易ベンチマークその他は動いているけど、あくまで簡易だろうし…。
_pyxel/README.ja.md at master - kitao/pyxel
sudo apt install python3 python3-pip libglfw3 libportaudio2 sudo pip3 install pyxel or sudo pip3 install --no-cache-dir --ignore-installed pyxel
しかし、サンプルがインストールできない。
mkdir hoge cd hoge install_pyxel_examples
$ install_pyxel_examples Traceback (most recent call last): File "/usr/local/bin/install_pyxel_examples", line 7, in <module> from pyxel.examples import install File "/usr/local/lib/python3.6/dist-packages/pyxel/__init__.py", line 4, in <module> from . import constants # type: ignore File "/usr/local/lib/python3.6/dist-packages/pyxel/constants.py", line 1, in <module> import glfw File "/usr/local/lib/python3.6/dist-packages/glfw/__init__.py", line 34, in <module> raise ImportError("Failed to load GLFW3 shared library.") ImportError: Failed to load GLFW3 shared library.
python3 を起動して import glfw と打っただけでもエラーが出るので、pyglfw (glfw?) 自体に問題があるようだなと。
少し調べてみたけれど、どうやら pyglfw は Linux 64bit版のみを想定して作ってる気配も…。libglfw.so は、それぞれ以下に置いてあるのだけど。
- Ubuntu 64bit : /usr/lib/x86_64-linux-gnu/libglfw.so
- Ubuntu 32bit : /usr/lib/i386-linux-gnu/libglfw.so
pyglfw の library.py 内、search_paths = [ ... ] の部分でライブラリを検索するパスが列挙されているものの、64bit版のパスしか書いてない。
_pyGLFW/library.py at master - FlorianRhiem/pyGLFW
試しに、library.py を編集。
sudo vi /usr/local/lib/python3.6/dist-packages/glfw/library.py'/usr/lib/i386-linux-gnu/', を追加してみたところ、少なくとも import glfw でエラーは出なくなった。
しかし、pyxel のサンプルを動かそうとすると、これまた違うエラーが出て何も表示されない。
そもそも pyglfw が動くのかどうか、そこからして怪しいよな…。Intel Atom N270 + Intel 945GSE Express という、古くて非力なスペックだし…。
一応、簡易ベンチマークその他は動いているけど、あくまで簡易だろうし…。
- OpenGLの簡易ベンチマーク、globs は、一部を除いて動いた。
- ギアを表示する例のアレ、glxgears は動いた。
- OpenGL のサポート状況を一覧表示する glxinfo も、それらしい表示。
[ ツッコむ ]
以上、1 日分です。