さくらレンタルサーバで Python 3.7.1 のコンパイルに挑戦

サイトのアクセス解析で AWStats をずっと使っていたが、Google Analytics に比べると、余り詳しくないので、別のツールをさがしていたところ、Matomo というオープンソースのものが良さそうだったので、入れてみることにした。前身は Piwik という名称で、Google  Analytics はここから派生しているとのこと。PHP と MySQL で稼働する。

インストールはスムーズに行えた。で、Apache のログを食わせようとしたところで問題発生。

エラーメッセージで調べてみると cURL のバージョンに問題があるらしい。以下のモンキーパッチで対応可能とのことだが、import_logs.py の import ssl をの箇所を書き換えても同じ。

Python のバージョンは 2.7.6.

で、Python が使用している OpenSSL のバージョンを調べると 0.9.8zf で コマンドで使える OpenSSL は 1.0.2o となっており、Python に関連付けられている OpenSSL のバージョンが古い。

ということで、Python をアップグレードしてみる。2018/11/06 時点で最新は 3.7.1 のようだ。

こちらのサイトを参考にして進めてみる。そのままコンパイルするとやはり SSL 関係のエラーが出る模様。なので OpenSSL からコンパイルする必要がありとのこと。

OpenSSL のコンパイル

現時点での最新版は 1.1.1.

そしてパスを通す。.cshrc

に変更し、リログイン。そしてバージョンをみてみると、

むむ。エラー。libssl.so.1.1 は $HOME/local/openssl/lib/libssl.so.1.1 にある。のに読めていない。

こちら を参考に、

で make すると

と出る。ちょっと諦めて、すでにインストールされている openssl を指定で Python のコンパイルきないか試してみる。

Python 3.7.1 のコンパイル

こちらを参考に進めていく(3.6だけど)。

Modules/setup.dist

をアンコメント

をアンコメントし SSL=/usr/local/ssl はそのままにしておく。OpenSSLの個別コンパイルは諦めたので、予め入ってるのを使う。

んー。”ModuleNotFoundError: No module named ‘_ctypes'”で検索すると、libffi-devel が無いのが原因とのこと。(参考)

こちらのサイトで、

さくらレンタルサーバでは普通にpythonをbuildすると古いopensslにつながってしまうようです。
/usr/local/sslに新しいのが入ってるみたいなので、

でpythonを作るとよさそうです。

(source: https://kuratsuki.net/archives/1253)

とのことなので、

としてみるも、

と同じエラーがでる。

現実は厳しい。挑戦は続く。

  • 続き

Leave a Reply

Your email address will not be published. Required fields are marked *