「Ubuntu 20.04にLua 5.4をインストールしたい」
「Lua 5.4のインストールの手段として、ソースからのビルドは避けたい」
このような場合には、この記事の内容が参考となります。
この記事では、Ubuntu 20.04にLua 5.4をインストールする方法を解説しています。
もちろん、ソースからビルドによるインストールではありません。
本記事の内容
- OS標準のLua
- Lua 5.4のインストール
- Lua 5.4の動作確認
それでは、上記に沿って解説していきます。
OS標準のLua
UbuntuやDebianには、公式のリポジトリが存在しています。
aptコマンドで簡単にインストールできるのは、その公式リポジトリがあるからです。
その公式リポジトリには、 Luaが登録されています。
一般的に利用されるモノは、公式リポジトリに登録されていると言えます。
Ubuntu 20.04 LTSでは、次のバージョンのLuaが登録されています。
- Lua 5.1
- Lua 5.2
- Lua 5.3
以下は、Ubuntu 20.04 LTSにおいてLuaのパッケージを探ってみた結果です。
Lua 5.4のパッケージを調べた結果
$ sudo apt info lua5.4 N: パッケージ lua5.4 が見つかりません N: パッケージ lua5.4 が見つかりません E: パッケージが見つかりません
Lua 5.3のパッケージを調べた結果
$ sudo apt info lua5.3 Package: lua5.3 Version: 5.3.3-1.1ubuntu2 Priority: optional Section: universe/interpreters Origin: Ubuntu Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Original-Maintainer: Enrico Tassi <gareuselesinge@debian.org> Bugs: https://bugs.launchpad.net/ubuntu/+filebug Installed-Size: 414 kB Provides: lua Depends: libc6 (>= 2.29), libreadline8 (>= 6.0) Homepage: http://www.lua.org Download-Size: 110 kB APT-Sources: http://archive.ubuntu.com/ubuntu focal/universe amd64 Packages Description: シンプルで、拡張可能な組込み用プログラミング言語 Lua は、アプリケーションの拡張用に設計されたパワフルで軽量な プログラミング言語です。言語エンジンはライブラリとしてアクセス可能で、 C の API を提供しており、アプリケーションは Lua プログラムとのデータ連携や、 C の関数で Lua を拡張することができます。Lua は、提供されている コマンドラインインタープリタを介して汎用の独立した言語としてもよく 使用されています。 . 本パッケージには Lua コマンドラインインタープリタおよび バイトコードコンパイラが含まれます。 Lua スクリプトを開発または使用する際にはインストールしてください。
なお、「lua」だけでは何も見つかりません。
$ sudo apt info lua Package: lua State: 実際のパッケージではありません (仮想) N: 候補が存在しないので、パッケージ lua の候補バージョンを選べません N: 純粋な仮想パッケージのため、パッケージ 'lua' のバージョンを選べません N: パッケージが見つかりません
よって、Ubuntu 20.04におけるデフォルトではLua 5.3が最新と言えます。
だからこそ、Lua 5.3のインストールを紹介している記事が多くなります。
しかし、次の年表を見てください。
これは、Luaの公式サイトに掲載されているリリース年表です。
Lua 5.3は、2015年にリリースされています。
そして、その最新バージョンはLua 5.3.6です。
このバージョンは、2020年9月25日にリリースされています。
The current release is Lua 5.3.6, released on 25 Sep 2020. There will probably be no further releases of Lua 5.3.
ただ、もう今後は5.3系の更新予定はないようです。
そうであれば、もうLua 5.3を利用するのは避けた方がベターでしょう。
それに、5.3と5.4とでは機能的にも大きな違いがあるようです。
よって、Ubuntu 20.04にはLua 5.4をインストールしましょう。
以下では、その方法を解説します。
Lua 5.4のインストール
Lua 5.4は、debパッケージが公開されています。
deb一覧
http://ftp.usf.edu/pub/ubuntu/pool/universe/l/lua5.4/
現時点(2021年12月28日)では、以下のバージョンが提供されています。
- Lua 5.4.2
- Lua 5.4.3
Lua 5.4.3は、2021年3月29日にリリースされています。
そして、debも最新版が用意されているということです。
しかし、ここではLua 5.4.3をインストールしません。
インストールするのは、Lua 5.4.2の方です。
理由は、libc6のバージョンにあります。
Lua 5.4.3は、libc6 (>= 2.34)というシステム要件となります。
しかし、Ubuntu 20.04ではその要件を満たせません。
OSは、現時点での最新までアップグレードしています。
$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=20.04 DISTRIB_CODENAME=focal DISTRIB_DESCRIPTION="Ubuntu 20.04.3 LTS"
それでも、libc6 のバージョンは2.3.1です。
$ /lib/x86_64-linux-gnu/libc.so.6 GNU C Library (Ubuntu GLIBC 2.31-0ubuntu9.2) stable release version 2.31. Copyright (C) 2020 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Compiled by GNU CC version 9.3.0. libc ABIs: UNIQUE IFUNC ABSOLUTE For bug reporting instructions, please see: <https://bugs.launchpad.net/ubuntu/+source/glibc/+bugs>.
よって、Lua 5.4.3の要件をクリアできません。
Lua 5.4.2は、libc6 (>= 2.29)という要件になります。
そのため、Lua 5.4.2であればインストール可能です。
よって、まずはLua 5.4.2のdebパッケージをダウンロードします。
$ wget http://ftp.usf.edu/pub/ubuntu/pool/universe/l/lua5.4/lua5.4_5.4.2-2_amd64.deb
次に、debパッケージをdpkg ユーティリティーでインストールします。
$ sudo dpkg -i lua5.4_5.4.2-2_amd64.deb
処理が終わったら、パッケージの確認をしましょう。
$ sudo apt info lua5.4 Package: lua5.4 Version: 5.4.2-2 Status: install ok installed Priority: optional Section: interpreters Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Original-Maintainer: Debian Lua Team <pkg-lua-devel@lists.alioth.debian.org> Installed-Size: 476 kB Provides: lua Depends: libc6 (>= 2.29), libreadline8 (>= 6.0) Homepage: http://www.lua.org Download-Size: 不明 APT-Manual-Installed: yes APT-Sources: /var/lib/dpkg/status Description: Simple, extensible, embeddable programming language Lua is a powerful, light-weight programming language designed for extending applications. The language engine is accessible as a library, having a C API which allows the application to exchange data with Lua programs and also to extend Lua with C functions. Lua is also used as a general-purpose, stand-alone language through the simple command line interpreter provided. . This package contains the Lua command line interpreter and bytecode compiler. Install it if you are developing or using Lua scripts.
バージョンは、「5.4.2」ですね。
そして、「Status: install ok installed」の表示を確認できます。
以上、Lua 5.4のインストールについて説明しました。
最後に、Lua 5.4の動作確認を行います。
Lua 5.4の動作確認
最初に、「lua」コマンドを確認します。
$ lua -v Lua 5.4.2 Copyright (C) 1994-2020 Lua.org, PUC-Rio
問題なく動いていますね。
では、スクリプト言語としての動作を確認しましょう。
hello.lua
print"Hello World!"
上記ファイルを作成します。
そして、以下のコマンドを実行するだけです。
$ lua hello.lua Hello World!
何も問題ありませんね。
以上、Lua 5.4の動作確認の説明でした。