#はじめに
SQLite3最新版をUbuntu 16.04にインストールする方法です。UbuntuはWindwos Subsystem for Linux環境です。最近サポートされたウィンドウ関数を試すには、色々パッケージを探してくるよりも、ソースコードからインストールしたほうが早そう。
#インストール手順
Step 1. SQLite公式ウェブサイトからソースコードを入手する。
以下のURLでダウンロードページに行けます。
https://www.sqlite.org/download.html
ここから、sqlite-autoconfの最新版をダウンロードします。ダウンロード先(ローカルPCのディレクトリ)はどこでも良いです。執筆時は、3.26.0が最新であり、例えばホームディレクトリにて、以下のコマンでダウンロードします。続いて、解凍します。
~$ wget https://www.sqlite.org/2018/sqlite-autoconf-3260000.tar.gz
~$ tar xvzf sqlite-autoconf-3260000.tar.gz
Step 2. 足りないライブラリをインストールする。
開発環境が入っていなければ、以下のコマンドでインストールします1。それなりに時間がかかります。
~$ sudo apt-get install build-essential
コンパイルに必要なライブラリをインストールします。私の環境で不足していたのは以下の3種類でした。
- zlib
- edit
対応するパッケージをインストールする。
~$ sudo apt-get install zlib1g-dev libedit-dev
Step 3. configureでMakefileを作成する。
インストール先は、/opt/sqlite/sqlite3.26.0/としました。すでに、標準パッケーとじとしてsqlite3がインストールされており、これを壊さないためです。以下のコマンドでMakefileを作成します。なお、環境ローカルのソフトウェアをインストールする先としては、/opt以下にするのが現在のお作法のようです2。
~$ cd sqlite-autoconf-3260000
~/sqlite-autoconf-3260000$ ./configure --prefix=/opt/sqlite/sqlite3.26.0/
また、configureの実行結果を見ると、足りないライブラリが分かります。例えば、私の環境では当初、以下のようなメッセージが出ていました。そのため、Step 2にさかのぼって、ライブラリをインストールしました。Step 2とStep 3を繰り返して納得のいくMakefile(configure結果)にします。
checking editline/readline.h usability... no
checking zlib.h usability... no
Step 4. Make & Make install
ここまでくれば、あとは実行ファイルを作って、インストールするだけです。なお、Makeの引数に-j
をつければ、並列にコンパイラが走ります。
~/sqlite-autoconf-3260000$ make -j
~/sqlite-autoconf-3260000$ sudo make install
なお、インストール先は、Step 2で指定したとおり、/opt以下となります。インストール時に、pathがどうとか色々メッセージが出ますが、あまり有益な情報はなかったです。
このままではsqlite3にパスが通っていないので、実行時にはフルパスで指定する必要があります。ローカル環境かつ管理者権限もあるため、/usr/local/binにシンボリックリンクを張ってしまいました。わざわざ/opt以下にした意味があるのか、一貫性がないような気もしますが。
~$ cd /usr/local/bin
/usr/local/bin$ sudo ln -s /opt/sqlite/sqlite3.26.0/bin/sqlite3 sqlite3.26
Step 5. 確認
念の為、インストールしたものが動いているのか確認します。うまく実行できていれば、以下のようにダウンロードしたバージョンが表示されるはずです。
$ sqlite3.26 --verion
3.26.0 2018-12-01 12:34:55 bf8c1b2b7a5960c282e543b9c293686dccff272512d08865f4600fb58238b4f9
おわりに
Qiitaに投稿してみましたが、振り返ると特筆すべきところはなかったです。個人的に、/opt以下の扱いを知れたのが良かったぐらいでしょうか。
これでようやく、本来の目的だったウィンドウ関数が試せる3。
-
sqliteの最新版を試そうなんてユーザーは開発環境なんて入っていて当たり前という気もしますが。 ↩
-
以前は/usr/localだったのですが、個別パッケージ名でディレクトリを切ってはいけないようです。そのため、/optを活用するのだとか。 http://hateda.hatenadiary.jp/entry/2014/02/02/191807 ↩
-
apt-getでインストールできるかなと考えていたところ、そもそもサポートが最近だったらしく、全くお呼びではなかった。3.26.0に対応したUbuntuパッケージもあるようですが、disco向け(Ubuntu 19.04向け)であり、かえって依存関係を破壊しそうなため、そっと検索結果を閉じました。 ↩