Synology DS216j DSM 7.1-42661 Update 4, pip install fail - No working compiler found

ash-4.4# python --version
Python 3.8.12
ash-4.4# pip3 install -I --no-cache-dir homeassistant
Collecting homeassistant
  Downloading homeassistant-2021.12.10-py3-none-any.whl (15.4 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 15.4/15.4 MB 10.6 MB/s eta 0:00:00
Collecting pyyaml==6.0
  Downloading PyYAML-6.0.tar.gz (124 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 125.0/125.0 kB 16.0 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting async-timeout==4.0.0
  Downloading async_timeout-4.0.0-py3-none-any.whl (6.1 kB)
Collecting certifi>=2021.5.30
  Downloading certifi-2022.6.15-py3-none-any.whl (160 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 160.2/160.2 kB 16.1 MB/s eta 0:00:00
Collecting atomicwrites==1.4.0
  Downloading atomicwrites-1.4.0-py2.py3-none-any.whl (6.8 kB)
Collecting aiohttp==3.8.1
  Downloading aiohttp-3.8.1.tar.gz (7.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.3/7.3 MB 9.5 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
Collecting bcrypt==3.1.7
  Downloading bcrypt-3.1.7.tar.gz (42 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 42.5/42.5 kB 14.9 MB/s eta 0:00:00
  Installing build dependencies ... error
  error: subprocess-exited-with-error
  
  × pip subprocess to install build dependencies did not run successfully.
  │ exit code: 1
  ╰─> [138 lines of output]
      Collecting setuptools>=40.8.0
        Using cached setuptools-65.2.0-py3-none-any.whl (1.2 MB)
      Collecting wheel
        Using cached wheel-0.37.1-py2.py3-none-any.whl (35 kB)
      Collecting cffi>=1.1
        Using cached cffi-1.15.1.tar.gz (508 kB)
        Preparing metadata (setup.py): started
        Preparing metadata (setup.py): finished with status 'done'
      Collecting pycparser
        Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB)
      Building wheels for collected packages: cffi
        Building wheel for cffi (setup.py): started
        Building wheel for cffi (setup.py): finished with status 'error'
        error: subprocess-exited-with-error
      
        × python setup.py bdist_wheel did not run successfully.
        │ exit code: 1
        ╰─> [47 lines of output]
      
                No working compiler found, or bogus compiler options passed to
                the compiler from Python's standard "distutils" module.  See
                the error messages above.  Likely, the problem is not related
                to CFFI but generic to the setup.py of any Python package that
                tries to compile C code.  (Hints: on OS/X 10.8, for errors about
                -mno-fused-madd see http://stackoverflow.com/questions/22313407/
                Otherwise, see https://wiki.python.org/moin/CompLangPython or
                the IRC channel #python on irc.libera.chat.)
      
                Trying to continue anyway.  If you are trying to install CFFI from
                a build done in a different context, you can ignore this warning.
      
            /usr/lib/python3.8/site-packages/setuptools/config/setupcfg.py:508: SetuptoolsDeprecationWarning: The license_file parameter is deprecated, use license_files instead.
              warnings.warn(msg, warning_class)
            running bdist_wheel
            running build
            running build_py
            creating build
            creating build/lib.linux-armv7l-cpython-38
            creating build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/verifier.py -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/vengine_gen.py -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/vengine_cpy.py -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/setuptools_ext.py -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/recompiler.py -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/pkgconfig.py -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/model.py -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/lock.py -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/ffiplatform.py -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/error.py -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/cparser.py -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/commontypes.py -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/cffi_opcode.py -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/backend_ctypes.py -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/api.py -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/__init__.py -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/_cffi_include.h -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/parse_c_type.h -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/_embedding.h -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/_cffi_errors.h -> build/lib.linux-armv7l-cpython-38/cffi
            running build_ext
            building '_cffi_backend' extension
            creating build/temp.linux-armv7l-cpython-38
            creating build/temp.linux-armv7l-cpython-38/c
            /usr/local/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-wrap-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DOPENSSL_NO_SSL3 -DOPENSSL_NO_SSL2 -mfloat-abi=hard -march=armv7-a+mp+sec -mtune=cortex-a9 -mcpu=cortex-a9 -mfpu=vfpv3 -DSYNOPLAT_F_ARMV7 -O2 -fno-diagnostics-show-caret -Wno-unused-local-typedefs -include /usr/syno/include/platformconfig.h -DSYNO_ENVIRONMENT -DBUILD_ARCH=32 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DSYNO_RUNNING_DSM_BUILD_SYSTEM -g -pipe -fstack-protector-strong -Wformat -Wformat-security -Werror=format-security -D_FORTIFY_SOURCE=2 -O2 -Wno-unused-result -fexceptions -fPIC -DFFI_BUILDING=1 -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python3.8 -c c/_cffi_backend.c -o build/temp.linux-armv7l-cpython-38/c/_cffi_backend.o
            error: command '/usr/local/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-wrap-gcc' failed: No such file or directory
            [end of output]
      
        note: This error originates from a subprocess, and is likely not a problem with pip.
        ERROR: Failed building wheel for cffi
        Running setup.py clean for cffi
      Failed to build cffi
      Installing collected packages: wheel, setuptools, pycparser, cffi
        Running setup.py install for cffi: started
        Running setup.py install for cffi: finished with status 'error'
        error: subprocess-exited-with-error
      
        × Running setup.py install for cffi did not run successfully.
        │ exit code: 1
        ╰─> [49 lines of output]
      
                No working compiler found, or bogus compiler options passed to
                the compiler from Python's standard "distutils" module.  See
                the error messages above.  Likely, the problem is not related
                to CFFI but generic to the setup.py of any Python package that
                tries to compile C code.  (Hints: on OS/X 10.8, for errors about
                -mno-fused-madd see http://stackoverflow.com/questions/22313407/
                Otherwise, see https://wiki.python.org/moin/CompLangPython or
                the IRC channel #python on irc.libera.chat.)
      
                Trying to continue anyway.  If you are trying to install CFFI from
                a build done in a different context, you can ignore this warning.
      
            /usr/lib/python3.8/site-packages/setuptools/config/setupcfg.py:508: SetuptoolsDeprecationWarning: The license_file parameter is deprecated, use license_files instead.
              warnings.warn(msg, warning_class)
            running install
            /usr/lib/python3.8/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
              warnings.warn(
            running build
            running build_py
            creating build
            creating build/lib.linux-armv7l-cpython-38
            creating build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/verifier.py -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/vengine_gen.py -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/vengine_cpy.py -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/setuptools_ext.py -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/recompiler.py -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/pkgconfig.py -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/model.py -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/lock.py -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/ffiplatform.py -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/error.py -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/cparser.py -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/commontypes.py -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/cffi_opcode.py -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/backend_ctypes.py -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/api.py -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/__init__.py -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/_cffi_include.h -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/parse_c_type.h -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/_embedding.h -> build/lib.linux-armv7l-cpython-38/cffi
            copying cffi/_cffi_errors.h -> build/lib.linux-armv7l-cpython-38/cffi
            running build_ext
            building '_cffi_backend' extension
            creating build/temp.linux-armv7l-cpython-38
            creating build/temp.linux-armv7l-cpython-38/c
            /usr/local/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-wrap-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DOPENSSL_NO_SSL3 -DOPENSSL_NO_SSL2 -mfloat-abi=hard -march=armv7-a+mp+sec -mtune=cortex-a9 -mcpu=cortex-a9 -mfpu=vfpv3 -DSYNOPLAT_F_ARMV7 -O2 -fno-diagnostics-show-caret -Wno-unused-local-typedefs -include /usr/syno/include/platformconfig.h -DSYNO_ENVIRONMENT -DBUILD_ARCH=32 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DSYNO_RUNNING_DSM_BUILD_SYSTEM -g -pipe -fstack-protector-strong -Wformat -Wformat-security -Werror=format-security -D_FORTIFY_SOURCE=2 -O2 -Wno-unused-result -fexceptions -fPIC -DFFI_BUILDING=1 -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python3.8 -c c/_cffi_backend.c -o build/temp.linux-armv7l-cpython-38/c/_cffi_backend.o
            error: command '/usr/local/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-wrap-gcc' failed: No such file or directory
            [end of output]
      
        note: This error originates from a subprocess, and is likely not a problem with pip.
      error: legacy-install-failure
      
      × Encountered error while trying to install package.
      ╰─> cffi
      
      note: This is an issue with the package mentioned above, not pip.
      hint: See above for output from the failure.
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

I cannot really help n the details … but to see that you are trying to install a 9 month old HA…any reason for that?

i dont know why ```
pip3 install -I --no-cache-dir homeassistant

I assume you want to install HA core, the documentation does not elaborate on how to install different versions (I use docker and then I can specify them). But the pip3 is different.
Maybe someone else can chime in

Generic x86-64 - Home Assistant (home-assistant.io)

maybe anyone from this forum know how to install in python 3 environment. i use synology ds216j disk station so it have ow operating system , i see information about successfully installation but i dont know python in install log there is missed libraries i think. i want install whole home assistant packages like in docker i test in local computer

I can offer some hints, but it will not be easy. Building and compiling Synology packages must be done on a separate AMD64 Linux environment. If the latest SynoCommunity package does not work for you, you can try to build a customized package as I did 2 years ago. HomeAssistant Core Cross Compile for Synology

I gave up trying to compile custom HomeAssistant and now run Docker exclusively.

1 Like

“now run Docker exclusively”

:ok_hand: