embeded/odroid

python face-recognition on armbian / odroid c2

구차니 2025. 8. 11. 15:54

어우.. 빡세다

 

일단~~~은 cmake 가 필요하고

Building wheels for collected packages: dlib, face-recognition-models
  Building wheel for dlib (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for dlib (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [41 lines of output]
      running bdist_wheel
      running build
      running build_ext

      ================================================================================
      ================================================================================
      ================================================================================

                         CMake is not installed on your system!

          Or it is possible some broken copy of cmake is installed on your system.
          It is unfortunately very common for python package managers to include
          broken copies of cmake.  So if the error above this refers to some file
          path to a cmake file inside a python or anaconda or miniconda path then you
          should delete that broken copy of cmake from your computer.

          Instead, please get an official copy of cmake from one of these known good
          sources of an official cmake:
              - cmake.org (this is how windows users should get cmake)
              - apt install cmake (for Ubuntu or Debian based systems)
              - yum install cmake (for Redhat or CenOS based systems)

          On a linux machine you can run `which cmake` to see what cmake you are
          actually using.  If it tells you it's some cmake from any kind of python
          packager delete it and install an official cmake.

          More generally, cmake is not installed if when you open a terminal window
          and type
             cmake --version
          you get an error.  So you can use that as a very basic test to see if you
          have cmake installed.  That is, if cmake --version doesn't run from the
          same terminal window from which you are reading this error message, then
          you have not installed cmake.  Windows users should take note that they
          need to tell the cmake installer to add cmake to their PATH.  Since you
          can't run commands that are not in your PATH.  This is how the PATH works
          on Linux as well, but failing to add cmake to the PATH is a particularly
          common problem on windows and rarely a problem on Linux.

      ================================================================================
      ================================================================================
      ================================================================================
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for dlib
  Building wheel for face-recognition-models (setup.py) ... -

 

이단~~~(?) 헤멘건 gpt 조언으로 dlib 설치시 안되는 문제는 python3-dev를 깔고 해결되었다.

잘 읽어보니 개발용 패키지에 설치되는 python 헤더가 없다고 아무 지나가듯(?) 써있네

에러는 전혀 연관없이 나오니 될리가 있나 ㅠㅠ

      CMake Error in CMakeLists.txt:
        Imported target "pybind11::module" includes non-existent path
      
          "/usr/include/python3.12"
      
        in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:
      
        * The path was deleted, renamed, or moved to another location.
      
        * An install or uninstall procedure did not complete successfully.
      
        * The installation package was faulty and references files it does not
        provide.
      
      
      
      -- Generating done (0.1s)
      CMake Generate step failed.  Build files cannot be regenerated correctly.
      Traceback (most recent call last):
        File "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 251, in build_wheel
          return _build_backend().build_wheel(wheel_directory, config_settings,
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-m2v2cjv_/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py", line 435, in build_wheel
          return _build(['bdist_wheel', '--dist-info-dir', str(metadata_directory)])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-m2v2cjv_/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py", line 423, in _build
          return self._build_with_temp_dir(
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-m2v2cjv_/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py", line 404, in _build_with_temp_dir
          self.run_setup()
        File "/tmp/pip-build-env-m2v2cjv_/overlay/local/lib/python3.12/dist-packages/setuptools/build_meta.py", line 317, in run_setup
          exec(code, locals())
        File "<string>", line 243, in <module>
        File "/tmp/pip-build-env-m2v2cjv_/overlay/local/lib/python3.12/dist-packages/setuptools/__init__.py", line 115, in setup
          return distutils.core.setup(**attrs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-m2v2cjv_/overlay/local/lib/python3.12/dist-packages/setuptools/_distutils/core.py", line 186, in setup
          return run_commands(dist)
                 ^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-m2v2cjv_/overlay/local/lib/python3.12/dist-packages/setuptools/_distutils/core.py", line 202, in run_commands
          dist.run_commands()
        File "/tmp/pip-build-env-m2v2cjv_/overlay/local/lib/python3.12/dist-packages/setuptools/_distutils/dist.py", line 1002, in run_commands
          self.run_command(cmd)
        File "/tmp/pip-build-env-m2v2cjv_/overlay/local/lib/python3.12/dist-packages/setuptools/dist.py", line 1102, in run_command
          super().run_command(command)
        File "/tmp/pip-build-env-m2v2cjv_/overlay/local/lib/python3.12/dist-packages/setuptools/_distutils/dist.py", line 1021, in run_command
          cmd_obj.run()
        File "/tmp/pip-build-env-m2v2cjv_/overlay/local/lib/python3.12/dist-packages/setuptools/command/bdist_wheel.py", line 370, in run
          self.run_command("build")
        File "/tmp/pip-build-env-m2v2cjv_/overlay/local/lib/python3.12/dist-packages/setuptools/_distutils/cmd.py", line 357, in run_command
          self.distribution.run_command(command)
        File "/tmp/pip-build-env-m2v2cjv_/overlay/local/lib/python3.12/dist-packages/setuptools/dist.py", line 1102, in run_command
          super().run_command(command)
        File "/tmp/pip-build-env-m2v2cjv_/overlay/local/lib/python3.12/dist-packages/setuptools/_distutils/dist.py", line 1021, in run_command
          cmd_obj.run()
        File "/tmp/pip-build-env-m2v2cjv_/overlay/local/lib/python3.12/dist-packages/setuptools/_distutils/command/build.py", line 135, in run
          self.run_command(cmd_name)
        File "/tmp/pip-build-env-m2v2cjv_/overlay/local/lib/python3.12/dist-packages/setuptools/_distutils/cmd.py", line 357, in run_command
          self.distribution.run_command(command)
        File "/tmp/pip-build-env-m2v2cjv_/overlay/local/lib/python3.12/dist-packages/setuptools/dist.py", line 1102, in run_command
          super().run_command(command)
        File "/tmp/pip-build-env-m2v2cjv_/overlay/local/lib/python3.12/dist-packages/setuptools/_distutils/dist.py", line 1021, in run_command
          cmd_obj.run()
        File "<string>", line 168, in run
        File "<string>", line 206, in build_extension
        File "/usr/lib/python3.12/subprocess.py", line 413, in check_call
          raise CalledProcessError(retcode, cmd)
      subprocess.CalledProcessError: Command '['cmake', '/tmp/pip-install-s3fay2b6/dlib_ef2badcad50f402ebee63ad6986a540e/tools/python', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/tmp/pip-install-s3fay2b6/dlib_ef2badcad50f402ebee63ad6986a540e/build/lib.linux-aarch64-cpython-312', '-DPYTHON_EXECUTABLE=/usr/bin/python3', '-DDLIB_USE_FFMPEG=OFF', '-DCMAKE_BUILD_TYPE=Release']' returned non-zero exit status 1.
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for dlib
Failed to build dlib
ERROR: Could not build wheels for dlib, which is required to install pyproject.toml-based projects

 

[링크 : https://pypi.org/project/face-recognition/]

 

+

2025.08.12

어우.. 강제로 1코어 빌드하게 되어있어서 71분 걸렸네..

여전히 멀티코어 빌드 하는 옵션을 못 찾음..

$ time pip3 install --break-system-packages face-recognition 
real 71m7.101s
user 67m55.042s
sys 1m33.850s

 

 

+

2025.08.12

i.mx8mp evk 에서 돌리니 -j3가 뜬다. 머야머야?! 무슨 차이야!?

그 와중에 시간이 반으로 줄었네

  Invoking CMake build: 'cmake --build . --config Release -- -j3'


real 31m9.576s
user 83m15.457s
sys 2m41.699s