Search code examples
pythondjangoubuntudlib

Ubuntu Python: unable to pip install dlib - Failed building wheel for dlib and machine is almost stuck


I am trying to install dlib (machine learning library) for my django python environment. however, i cant get it installed. there is error and stuck.

based on this instruction, this is what I did https://www.pyimagesearch.com/2017/03/27/how-to-install-dlib/

$ sudo apt-get install build-essential cmake
$ sudo apt-get install libgtk-3-dev
$ sudo apt-get install libboost-all-dev

$ source somedotcomenv/bin/activate <-- virtualenv

$ pip install numpy
$ pip install scipy
$ pip install scikit-image
$ pip install dlib

however, it failed and i think stuck, its almost an hour at the last stage. Im not sure if its still compiling or not.

  [ 82%] Building CXX object CMakeFiles/dlib_.dir/src/dlib.cpp.o
  In file included from /usr/include/boost/python/detail/prefix.hpp:13:0,
                   from /usr/include/boost/python/args.hpp:8,
                   from /usr/include/boost/python.hpp:11,
                   from /tmp/pip-build-8xkp8e7q/dlib/tools/python/src/dlib.cpp:4:
  /usr/include/boost/python/detail/wrap_python.hpp:50:23: fatal error: pyconfig.h: No such file or directory
  compilation terminated.
  CMakeFiles/dlib_.dir/build.make:62: recipe for target 'CMakeFiles/dlib_.dir/src/dlib.cpp.o' failed
  make[2]: *** [CMakeFiles/dlib_.dir/src/dlib.cpp.o] Error 1
  CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/dlib_.dir/all' failed
  error: cmake build failed!

  ----------------------------------------
  Failed building wheel for dlib
  Running setup.py clean for dlib
Failed to build dlib
Installing collected packages: dlib
  Running setup.py install for dlib ... 

full execution and error logs here https://gist.github.com/axilaris/fe58937e8ac39386e6e9816833636461

This is the last top process, its stuck not sure its still compiling but its already been an hour. something is stuck. very slow even trying to type something on another command line.

PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                                                      
   30 root      20   0       0      0      0 S  9.2  0.0   6:21.82 kswapd0                                                                                      
 4550 deploy    20   0   95372    980      0 S  0.3  0.1   0:01.59 sshd                                                                                         
 4566 deploy    20   0  184852  14756    684 D  0.3  1.5   0:04.70 gunicorn                                                                                     
 4934 deploy    20   0  256084  15712     28 D  0.3  1.5   0:10.05 python3                                                                                      
 5646 deploy    20   0  757604 567016      0 D  0.3 55.9   0:29.41 cc1plus                                                                                      
 5770 postgres  20   0  294548   4808   2344 D  0.3  0.5   0:00.23 postgres                                                                                     
 5773 postgres  20   0  294384   4648   2244 D  0.3  0.5   0:00.17 postgres                                                                                     
 9531 root      20   0  280224   8360      0 S  0.3  0.8   1:06.10 snapd  

I am using AWS ubuntu-xenial-16.04-amd64-server-20171026.1 (ami-da05a4a0)


Solution

  • Try using the version of dlib in this pull request https://github.com/davisking/dlib/pull/1040. It removes the dependency on boost and should therefore fix your problem.