LoginSignup
3
5

More than 5 years have passed since last update.

Vagrant(Ubuntu 14.04LTS:64bit版)のpython3(pyenv)環境にdlib をインストール

Last updated at Posted at 2016-06-01

以下のVagrant環境にdlibをインストールする場合のtips

Vagrant環境
Ubuntu 14.04 LTS (64bit.ver)
pyenv (python3.5.1 or anaconda3-4.0.0)

dlibインストール時に発生する問題

pip経由にてdlibをビルド・インストールしようとすると、コンパイル時にエラー発生してこける。

# pipにて、dlibをビルド・インストールするコマンド
pip install dlib  

Exception: Compilation failed (return status=1) が発生する場合

これはPython3を64bit環境で使用する際に発生する現象とのこと。
まずエラーメッセージに下記の内容が表示される場合には、

再配置 R_X86_64_32S (`_Py_NotImplementedStruct' に対する) は
共有オブジェクト作成時には使用できません。-fPIC を付けて再コンパイルしてください。

pyenvでpython3をビルド・インストールする際に、CFLAGS="-fPIC"と
オプションを下記のように設定してやればOK

# オプション CFLAGS="-fPIC" をつけて再ビルド・インストール
pyenv uninstall 3.5.1
CFLAGS="-fPIC" pyenv install 3.5.1

virtual memory exhaustedが発生する場合

vagrant環境では初期設定を変更しない限り環境用に512MB分のメモリが確保されるが、
ビルド時にメモリ不足のため、以下のエラーメッセージ出力と共にビルドプロセスが途中で中止されてしまう。

virtual memory exhausted: メモリを確保できません

そこでVagrantfileに以下の内容を追記して、vagrant環境用に確保するメモリ量を増加させる必要がある。

Vagrantfile
# 確保するメモリ量を2018MBに変更
config.vm.provider :virtualbox do |v|
    v.customize ["modifyvm", :id, "--memory", 2018]
end

※ なお上記2つのエラーはdlibに限らず、pipでライブラリをビルド・インストール時に発生する可能性もある。

参考サイト

PYENVでのPYTHONで-FPICを付けて再コンパイル
Python3 + mod_wsig3.3 + Apache2.2 でHelloWorldをブラウザ表示
Vagrantfileのテンプレート

3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5