SQLite3をローカル環境にインストール

SQLite3.x インストール手順

yumで依存関係もすべてまるっとインストールするか、
・既存のパッケージに影響を与えずにローカルインストールするか

ローカルインストールの手順はここを参考にした。
django-cant-find-new-sqlite-version-sqlite-3-8-3-or-later-is-required-found
 

yum, apt でインストール

Ubuntu : libsqlite3-dev
CentOS : sqlite-devel.x86_64

sqlite3 --version

# For CentOS:
yum list installed | grep sqlite-devel
sqlite-devel.x86_64                 3.6.20-1.el6_7.2                   @base

# For Ubuntu:
dkpg hogehoge

 

パッケージをダウンロードし、ローカルインストール

インストール先に `/usr/local/` を指定し、インストールする
/usr/bin/ にシンボリックリンクを作成し、PATHを通す
 

SQLite3.x インスコ

下記リンクから、ダウンロードしたいバージョンのURLをコピー
https://www.sqlite.org/download.html

mkdir -p ~/src
cd ~/src/
wget https://www.sqlite.org/2019/sqlite-autoconf-3270100.tar.gz --no-check-certificate
tar xvzf sqlite-autoconf-3270100.tar.gz
cd sqlite-autoconf-3270100
./configure --prefix=/usr/local/
make && make install

/usr/local/bin/sqlite3 --version
ls /usr/bin/sqlite3 1>/dev/null 2>&1 && mv /usr/bin/sqlite3 /usr/bin/sqlite3_old
ln -s /usr/local/bin/sqlite3 /usr/bin/sqlite3

 

Python をリコンパイル

めっちゃ時間かかる(20分くらい?)

cd ~/src/Python-3.6.0/
LD_RUN_PATH=/usr/local/lib ./configure --prefix=/usr/local/ --enable-optimizations
LD_RUN_PATH=/usr/local/lib make altinstall

 

インストール時の挙動

インストールパスを指定した際、
{bin,include,lib,share} 以下に
パッケージの本体やライブラリ等が保存される
 
`/usr/local` を指定し、インストールした場合は
bin, lib 等のディレクトリが
– 元々存在するなら、その中にファイルが追加される
– 存在しなかったら、新たにディレクトリを作成する

tree /install/path/to/sqlite3
/install/path/to/sqlite3
├── bin
│   └── sqlite3
├── include
│   ├── sqlite3ext.h
│   └── sqlite3.h
├── lib
│   ├── libsqlite3.a
│   ├── libsqlite3.la
│   ├── libsqlite3.so -> libsqlite3.so.0.8.6
│   ├── libsqlite3.so.0 -> libsqlite3.so.0.8.6
│   ├── libsqlite3.so.0.8.6
│   └── pkgconfig
│       └── sqlite3.pc
└── share
    └── man
        └── man1
            └── sqlite3.1

コメント

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