令和になってもUbuntuでNot Tetrisがしたい
これは何?
以下2つの場合に読む備忘録
1. 新しいUbuntuに古いLove2Dを入れる
2. Ubuntuでtar ballをビルドする
導入
Not Tetrisは一見するとTetrisのように見えるクソゲー。
クロスプラットフォームなフレームワークLove2D上で動作する。
Linuxでもできる落ちゲーと聞いてプレイしようとした……が、動作せず。
どうやらapt install love
で取得したLove2Dと、当時のバージョンに互換性がないらしい。仕方がないので、tar ballからビルドすることにした。
前準備
ビルド環境
- OS: Ubuntu 18.04.5 LTS
- ビルドツール一式は
apt install build-esseitial devscripts
でまとめて入っているものとする。
- buildflags.confを以下の内容で作成するのがおすすめ。
$HOME/.config/dpkg/buildflags.conf
APPEND CFLAGS -march=native -pipe
APPEND CXXFLAGS -march=native -pipe
ソースコード
apt install build-esseitial devscripts
でまとめて入っているものとする。APPEND CFLAGS -march=native -pipe
APPEND CXXFLAGS -march=native -pipe
リンクからソースコードlove-0.7.2-linux-src.tar.gzを入手する。その後、作業用ディレクトリに展開する。
仮ビルド
仮Configure
-
./configure --help
を実行して、利用可能なオプションを眺めてみる。
-
./configure
を実行する。
- おそらくSDLが無い事で怒られるので、依存パッケージを入れる
configure.inやapt show love
等の内容を参考に、libdevil-dev, libfreetype6-dev, liblua5.1-0-dev, libsdl1.2-dev等々を入れていく。
- configureが成功するまで頑張る。
結果論だが./configure --enable-luajit
したらハマったので断念。
仮Make
- 以下の内容でcfg0.sh(修正前)を作成して、実行する。
- make する。
- OpenGL周りでコンパイルエラーが出るので、以下のようにcfg0.shを修正する。
-
./cfg0.sh
→make
の順に実行し、コンパイルが通るまで頑張る。
cfg0.sh(修正前)
#!/bin/bash
export CFLAGS="-pipe -O0"
export CXXFLAGS="-pipe -O0"
./configure
cfg0.sh(修正後)
#!/bin/bash
export CPPFLAGS="-DGL_GLEXT_PROTOTYPES"
export CFLAGS="-pipe -O0"
export CXXFLAGS="-pipe -O0"
./configure
本番ビルド+インストール
-
make clean
する。
-
dpkg-buildflags --export > cfg1.sh
とする。
- cfg1.shの適切な箇所に、
-DGL_GLEXT_PROTOTYPES
と./configure --prefix=/opt/love --program-suffix=-0.7.2
を追記する。
- cfg1してmakeして…(以下参照)
./cfg1
make
sudo make install
make clean
やったぜ
./configure --help
を実行して、利用可能なオプションを眺めてみる。./configure
を実行する。configure.inや
apt show love
等の内容を参考に、libdevil-dev, libfreetype6-dev, liblua5.1-0-dev, libsdl1.2-dev等々を入れていく。結果論だが
./configure --enable-luajit
したらハマったので断念。./cfg0.sh
→make
の順に実行し、コンパイルが通るまで頑張る。#!/bin/bash
export CFLAGS="-pipe -O0"
export CXXFLAGS="-pipe -O0"
./configure
#!/bin/bash
export CPPFLAGS="-DGL_GLEXT_PROTOTYPES"
export CFLAGS="-pipe -O0"
export CXXFLAGS="-pipe -O0"
./configure
-
make clean
する。 -
dpkg-buildflags --export > cfg1.sh
とする。 - cfg1.shの適切な箇所に、
-DGL_GLEXT_PROTOTYPES
と./configure --prefix=/opt/love --program-suffix=-0.7.2
を追記する。 - cfg1してmakeして…(以下参照)
./cfg1
make
sudo make install
make clean
やったぜ
Author And Source
この問題について(令和になってもUbuntuでNot Tetrisがしたい), 我々は、より多くの情報をここで見つけました https://qiita.com/mp2147483647/items/9cccd78000699ff5d9e7著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .