Ubuntu 20.04にLua 5.4をインストールする

Ubuntu 20.04にLua 5.4をインストールする サーバー

「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の動作確認の説明でした。

タイトルとURLをコピーしました