Help us understand the problem. What is going on with this article?

Ubuntu 16.04(WSL環境)にsqlite3.26をソースコードからインストールする手順

More than 1 year has passed since last update.

はじめに

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種類でした。
1. zlib
2. 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


  1. sqliteの最新版を試そうなんてユーザーは開発環境なんて入っていて当たり前という気もしますが。 

  2. 以前は/usr/localだったのですが、個別パッケージ名でディレクトリを切ってはいけないようです。そのため、/optを活用するのだとか。 http://hateda.hatenadiary.jp/entry/2014/02/02/191807 

  3. apt-getでインストールできるかなと考えていたところ、そもそもサポートが最近だったらしく、全くお呼びではなかった。3.26.0に対応したUbuntuパッケージもあるようですが、disco向け(Ubuntu 19.04向け)であり、かえって依存関係を破壊しそうなため、そっと検索結果を閉じました。 

kddi
KDDIは、通信を中心に周辺ビジネスを拡大する「通信とライフデザインの融合」をより一層推進し、国内はもとよりグローバルにおいても、5G/IoT時代における新たな価値創造を実現し、お客さまの期待を超える新たな体験価値の提供を追求してまいります。
http://www.kddi.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした