aws/aws-iot-device-sdk-python-v2

Build failure on Raspbian stretch

klaashofman opened this issue · 5 comments

Describe the bug

Hi,

It looks like master build (8ed9c9d) fails on Raspbian stretch:

All dependencies are there, CMake is version 3.7.2

Full Log:

python3 -m pip install ./aws-iot-device-sdk-python-v2
Defaulting to user installation because normal site-packages is not writeable
Processing ./aws-iot-device-sdk-python-v2
  Preparing metadata (setup.py) ... done
Collecting awscrt==0.16.0
  Using cached awscrt-0.16.0.tar.gz (21.8 MB)
  Preparing metadata (setup.py) ... done
Installing collected packages: awscrt, awsiotsdk
  Attempting uninstall: awscrt
    Found existing installation: awscrt 0.13.5
    Uninstalling awscrt-0.13.5:
      Successfully uninstalled awscrt-0.13.5
  DEPRECATION: awscrt is being installed using the legacy 'setup.py install' method, because it does not have a 'pyproject.toml' and the 'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559
  Running setup.py install for awscrt ... error
  error: subprocess-exited-with-error

  × Running setup.py install for awscrt did not run successfully.
  │ exit code: 1
  ╰─> [174 lines of output]
      running install
      running build
      running build_py
      creating build
      creating build/lib.linux-armv7l-3.8
      creating build/lib.linux-armv7l-3.8/awscrt
      copying awscrt/crypto.py -> build/lib.linux-armv7l-3.8/awscrt
      copying awscrt/exceptions.py -> build/lib.linux-armv7l-3.8/awscrt
      copying awscrt/s3.py -> build/lib.linux-armv7l-3.8/awscrt
      copying awscrt/auth.py -> build/lib.linux-armv7l-3.8/awscrt
      copying awscrt/_test.py -> build/lib.linux-armv7l-3.8/awscrt
      copying awscrt/checksums.py -> build/lib.linux-armv7l-3.8/awscrt
      copying awscrt/io.py -> build/lib.linux-armv7l-3.8/awscrt
      copying awscrt/mqtt.py -> build/lib.linux-armv7l-3.8/awscrt
      copying awscrt/http.py -> build/lib.linux-armv7l-3.8/awscrt
      copying awscrt/common.py -> build/lib.linux-armv7l-3.8/awscrt
      copying awscrt/mqtt5.py -> build/lib.linux-armv7l-3.8/awscrt
      copying awscrt/__init__.py -> build/lib.linux-armv7l-3.8/awscrt
      creating build/lib.linux-armv7l-3.8/awscrt/eventstream
      copying awscrt/eventstream/rpc.py -> build/lib.linux-armv7l-3.8/awscrt/eventstream
      copying awscrt/eventstream/__init__.py -> build/lib.linux-armv7l-3.8/awscrt/eventstream
      running build_ext
      > /usr/bin/cmake -H/tmp/pip-install-6x6r1ejq/awscrt_7af7b6b91b4d4f24b6fb274e09e5ce21/crt -Bbuild/temp.linux-armv7l-3.8/deps -DCMAKE_INSTALL_PREFIX=build/temp.linux-armv7l-3.8/deps/install -DCMAKE_BUILD_TYPE=RelWithDebInfo
      -- The C compiler identification is GNU 6.3.0
      -- The CXX compiler identification is GNU 6.3.0
      -- Check for working C compiler: /usr/bin/cc
      -- Check for working C compiler: /usr/bin/cc -- works
      -- Detecting C compiler ABI info
      -- Detecting C compiler ABI info - done
      -- Detecting C compile features
      -- Detecting C compile features - done
      -- Check for working CXX compiler: /usr/bin/c++
      -- Check for working CXX compiler: /usr/bin/c++ -- works
      -- Detecting CXX compiler ABI info
      -- Detecting CXX compiler ABI info - done
      -- Detecting CXX compile features
      -- Detecting CXX compile features - done
      -- Found Perl: /usr/bin/perl (found version "5.24.1")
      -- Checking for module 'libunwind-generic'
      --   No package 'libunwind-generic' found
      libunwind not found. Disabling unwind tests.
      -- Go not found. Disabling some code generation and using pre-generated code in generated-src/
      -- Run check_run file_to_test 'memcmp_invalid_stripped_check.c', flag_to_set 'MEMCMP_INVALID_STRIPPED', and compile_flags '-O2 -g -DNDEBUG'.
      -- Test stdalign_check.c passed, enabling AWS_LC_STDALIGN_AVAILABLE
      -- Test builtin_swap_check.c passed, enabling AWS_LC_BUILTIN_SWAP_SUPPORTED
      -- Check if the system is big endian
      -- Searching 16 bit integer
      -- Looking for sys/types.h
      -- Looking for sys/types.h - found
      -- Looking for stdint.h
      -- Looking for stdint.h - found
      -- Looking for stddef.h
      -- Looking for stddef.h - found
      -- Check size of unsigned short
      -- Check size of unsigned short - done
      -- Using unsigned short
      -- Check if the system is big endian - little endian
      -- The ASM compiler identification is GNU
      -- Found assembler: /usr/bin/cc
      CMake Error at aws-lc/CMakeLists.txt:799 (add_subdirectory):
        add_subdirectory given source "ssl" which is not an existing directory.


      CMake Error at aws-lc/CMakeLists.txt:800 (add_subdirectory):
        add_subdirectory given source "tool" which is not an existing directory.


      -- Detected CMAKE_SYSTEM_PROCESSOR as armv7l
      -- Detected 32-Bit system - disabling PQ crypto assembly optimizations
      -- Looking for pthread.h
      -- Looking for pthread.h - found
      -- Looking for pthread_create
      -- Looking for pthread_create - not found
      -- Check if compiler accepts -pthread
      -- Check if compiler accepts -pthread - yes
      -- Found Threads: TRUE
      -- S2N_NO_PQ_ASM flag was detected - disabling PQ crypto assembly code
      -- madvise() support detected
      -- clone() support detected
      -- S2N found target: crypto
      -- CMake 3.7.2
      -- Performing Test AWS_HAVE_GCC_OVERFLOW_MATH_EXTENSIONS
      -- Performing Test AWS_HAVE_GCC_OVERFLOW_MATH_EXTENSIONS - Success
      -- Performing Test AWS_HAVE_MSVC_MULX
      -- Performing Test AWS_HAVE_MSVC_MULX - Failed
      -- Performing Test AWS_HAVE_WINAPI_DESKTOP
      -- Performing Test AWS_HAVE_WINAPI_DESKTOP - Failed
      -- Performing Test AWS_ARCH_INTEL
      -- Performing Test AWS_ARCH_INTEL - Failed
      -- Performing Test AWS_ARCH_ARM64
      -- Performing Test AWS_ARCH_ARM64 - Failed
      -- Performing Test AWS_ARCH_ARM32
      -- Performing Test AWS_ARCH_ARM32 - Success
      -- Performing Test AWS_HAVE_GCC_INLINE_ASM
      -- Performing Test AWS_HAVE_GCC_INLINE_ASM - Success
      -- Performing Test AWS_HAVE_AUXV
      -- Performing Test AWS_HAVE_AUXV - Success
      -- Performing Test AWS_HAVE_EXECINFO
      -- Performing Test AWS_HAVE_EXECINFO - Failed
      -- Performing Test AWS_HAVE_LINUX_IF_LINK_H
      -- Performing Test AWS_HAVE_LINUX_IF_LINK_H - Success
      -- Performing Test HAVE_M_AVX2_FLAG
      -- Performing Test HAVE_M_AVX2_FLAG - Failed
      -- Performing Test HAVE_AVX2_INTRINSICS
      -- Performing Test HAVE_AVX2_INTRINSICS - Failed
      -- Performing Test HAVE_MM256_EXTRACT_EPI64
      -- Performing Test HAVE_MM256_EXTRACT_EPI64 - Failed
      -- Performing Test HAS_FPIC_FLAG
      -- Performing Test HAS_FPIC_FLAG - Success
      -- Performing Test HAS_64BIT_FILE_OFFSET_BY_DEFAULT
      -- Performing Test HAS_64BIT_FILE_OFFSET_BY_DEFAULT - Failed
      -- Performing Test HAS_64BIT_FILE_OFFSET_VIA_DEFINES
      -- Performing Test HAS_64BIT_FILE_OFFSET_VIA_DEFINES - Success
      -- Looking for fseeko
      -- Looking for fseeko - found
      -- Looking for stdint.h
      -- Looking for stdint.h - found
      -- Looking for stdbool.h
      -- Looking for stdbool.h - found
      -- Performing Test HAS_WGNU
      -- Performing Test HAS_WGNU - Failed
      -- Performing Test HAVE_SYSCONF
      -- Performing Test HAVE_SYSCONF - Success
      -- Looking for pthread_attr_setaffinity_np
      -- Looking for pthread_attr_setaffinity_np - found
      -- Performing Test PTHREAD_SETNAME_TAKES_2ARGS
      -- Performing Test PTHREAD_SETNAME_TAKES_2ARGS - Success
      -- Performing Test HAS_SANITIZERS
      -- Performing Test HAS_SANITIZERS - Failed
      -- Packaging currently only supported on Fedora.
      -- Using libcrypto from AWS-LC
      -- Performing Test AWS_ARM32_CRC
      -- Performing Test AWS_ARM32_CRC - Success
      -- Configuring incomplete, errors occurred!
      See also "/tmp/pip-install-6x6r1ejq/awscrt_7af7b6b91b4d4f24b6fb274e09e5ce21/build/temp.linux-armv7l-3.8/deps/CMakeFiles/CMakeOutput.log".
      See also "/tmp/pip-install-6x6r1ejq/awscrt_7af7b6b91b4d4f24b6fb274e09e5ce21/build/temp.linux-armv7l-3.8/deps/CMakeFiles/CMakeError.log".
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-6x6r1ejq/awscrt_7af7b6b91b4d4f24b6fb274e09e5ce21/setup.py", line 348, in <module>
          setuptools.setup(
        File "/usr/local/lib/python3.8/site-packages/setuptools/__init__.py", line 165, in setup
          return distutils.core.setup(**attrs)
        File "/usr/local/lib/python3.8/distutils/core.py", line 148, in setup
          dist.run_commands()
        File "/usr/local/lib/python3.8/distutils/dist.py", line 966, in run_commands
          self.run_command(cmd)
        File "/usr/local/lib/python3.8/distutils/dist.py", line 985, in run_command
          cmd_obj.run()
        File "/usr/local/lib/python3.8/site-packages/setuptools/command/install.py", line 61, in run
          return orig.install.run(self)
        File "/usr/local/lib/python3.8/distutils/command/install.py", line 545, in run
          self.run_command('build')
        File "/usr/local/lib/python3.8/distutils/cmd.py", line 313, in run_command
          self.distribution.run_command(command)
        File "/usr/local/lib/python3.8/distutils/dist.py", line 985, in run_command
          cmd_obj.run()
        File "/usr/local/lib/python3.8/distutils/command/build.py", line 135, in run
          self.run_command(cmd_name)
        File "/usr/local/lib/python3.8/distutils/cmd.py", line 313, in run_command
          self.distribution.run_command(command)
        File "/usr/local/lib/python3.8/distutils/dist.py", line 985, in run_command
          cmd_obj.run()
        File "/tmp/pip-install-6x6r1ejq/awscrt_7af7b6b91b4d4f24b6fb274e09e5ce21/setup.py", line 255, in run
          self._build_dependencies(dep_build_dir, dep_install_path)
        File "/tmp/pip-install-6x6r1ejq/awscrt_7af7b6b91b4d4f24b6fb274e09e5ce21/setup.py", line 247, in _build_dependencies
          self._build_dependencies_impl(build_dir, install_path)
        File "/tmp/pip-install-6x6r1ejq/awscrt_7af7b6b91b4d4f24b6fb274e09e5ce21/setup.py", line 195, in _build_dependencies_impl
          run_cmd(cmake_args)
        File "/tmp/pip-install-6x6r1ejq/awscrt_7af7b6b91b4d4f24b6fb274e09e5ce21/setup.py", line 37, in run_cmd
          subprocess.check_call(args)
        File "/usr/local/lib/python3.8/subprocess.py", line 364, in check_call
          raise CalledProcessError(retcode, cmd)
      subprocess.CalledProcessError: Command '['/usr/bin/cmake', '-H/tmp/pip-install-6x6r1ejq/awscrt_7af7b6b91b4d4f24b6fb274e09e5ce21/crt', '-Bbuild/temp.linux-armv7l-3.8/deps', '-DCMAKE_INSTALL_PREFIX=build/temp.linux-armv7l-3.8/deps/install', '-DCMAKE_BUILD_TYPE=RelWithDebInfo']' returned non-zero exit status 1.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  Rolling back uninstall of awscrt
  Moving to /home/pi/.local/lib/python3.8/site-packages/_awscrt.cpython-38-arm-linux-gnueabihf.so
   from /tmp/pip-uninstall-1qz_3uq9/_awscrt.cpython-38-arm-linux-gnueabihf.so
  Moving to /home/pi/.local/lib/python3.8/site-packages/awscrt-0.13.5-py3.8.egg-info
   from /home/pi/.local/lib/python3.8/site-packages/~wscrt-0.13.5-py3.8.egg-info
  Moving to /home/pi/.local/lib/python3.8/site-packages/awscrt/
   from /home/pi/.local/lib/python3.8/site-packages/~wscrt
error: legacy-install-failure

× Encountered error while trying to install package.
╰─> awscrt

note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.

Expected Behavior

python3 -m pip install ./aws-iot-device-sdk-python-v2
should succeed without problems

Current Behavior

See description

Reproduction Steps

See description

Possible Solution

No response

Additional Information/Context

No response

SDK version used

8ed9c9d

Environment details (OS name and version, etc.)

Raspbian Stretch

It looks like you are running into a problem when installing the awscrt dependency. Can you try installing that by itself with:

python3 -m pip install awscrt

Greetings! It looks like this issue hasn’t been active in longer than a week. We encourage you to check if this is still an issue in the latest release. Because it has been longer than a week since the last update on this, and in the absence of more information, we will be closing this issue soon. If you find that this is still a problem, please feel free to provide a comment or add an upvote to prevent automatic closure, or if the issue is already closed, please feel free to open a new one.

Same problem when installing awscrt first:
python3 -m pip install awscrt

Defaulting to user installation because normal site-packages is not writeable
Collecting awscrt
  Using cached awscrt-0.16.4.tar.gz (21.9 MB)
  Preparing metadata (setup.py) ... done
Installing collected packages: awscrt
  DEPRECATION: awscrt is being installed using the legacy 'setup.py install' method, because it does not have a 'pyproject.toml' and the 'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559
  Running setup.py install for awscrt ... error
  error: subprocess-exited-with-error

  × Running setup.py install for awscrt did not run successfully.
  │ exit code: 1
  ╰─> [176 lines of output]
      running install
      running build
      running build_py
      creating build
      creating build/lib.linux-armv7l-3.8
      creating build/lib.linux-armv7l-3.8/awscrt
      copying awscrt/crypto.py -> build/lib.linux-armv7l-3.8/awscrt
      copying awscrt/exceptions.py -> build/lib.linux-armv7l-3.8/awscrt
      copying awscrt/websocket.py -> build/lib.linux-armv7l-3.8/awscrt
      copying awscrt/s3.py -> build/lib.linux-armv7l-3.8/awscrt
      copying awscrt/auth.py -> build/lib.linux-armv7l-3.8/awscrt
      copying awscrt/_test.py -> build/lib.linux-armv7l-3.8/awscrt
      copying awscrt/checksums.py -> build/lib.linux-armv7l-3.8/awscrt
      copying awscrt/io.py -> build/lib.linux-armv7l-3.8/awscrt
      copying awscrt/mqtt.py -> build/lib.linux-armv7l-3.8/awscrt
      copying awscrt/http.py -> build/lib.linux-armv7l-3.8/awscrt
      copying awscrt/common.py -> build/lib.linux-armv7l-3.8/awscrt
      copying awscrt/mqtt5.py -> build/lib.linux-armv7l-3.8/awscrt
      copying awscrt/__init__.py -> build/lib.linux-armv7l-3.8/awscrt
      creating build/lib.linux-armv7l-3.8/awscrt/eventstream
      copying awscrt/eventstream/rpc.py -> build/lib.linux-armv7l-3.8/awscrt/eventstream
      copying awscrt/eventstream/__init__.py -> build/lib.linux-armv7l-3.8/awscrt/eventstream
      running build_ext
      > /usr/bin/cmake -H/tmp/pip-install-tg2yluxn/awscrt_39ba57b66bec4bc5af286c23ffc79fa8/crt -Bbuild/temp.linux-armv7l-3.8/deps -DCMAKE_INSTALL_PREFIX=build/temp.linux-armv7l-3.8/deps/install -DCMAKE_BUILD_TYPE=RelWithDebInfo
      -- The C compiler identification is GNU 6.3.0
      -- The CXX compiler identification is GNU 6.3.0
      -- Check for working C compiler: /usr/bin/cc
      -- Check for working C compiler: /usr/bin/cc -- works
      -- Detecting C compiler ABI info
      -- Detecting C compiler ABI info - done
      -- Detecting C compile features
      -- Detecting C compile features - done
      -- Check for working CXX compiler: /usr/bin/c++
      -- Check for working CXX compiler: /usr/bin/c++ -- works
      -- Detecting CXX compiler ABI info
      -- Detecting CXX compiler ABI info - done
      -- Detecting CXX compile features
      -- Detecting CXX compile features - done
      -- Found Perl: /usr/bin/perl (found version "5.24.1")
      -- Checking for module 'libunwind-generic'
      --   No package 'libunwind-generic' found
      libunwind not found. Disabling unwind tests.
      -- Go not found. Disabling some code generation and using pre-generated code in generated-src/
      -- Run check_run file_to_test 'memcmp_invalid_stripped_check.c', flag_to_set 'MEMCMP_INVALID_STRIPPED', and compile_flags '-O2 -g -DNDEBUG'.
      -- Test stdalign_check.c passed, enabling AWS_LC_STDALIGN_AVAILABLE
      -- Test builtin_swap_check.c passed, enabling AWS_LC_BUILTIN_SWAP_SUPPORTED
      -- Check if the system is big endian
      -- Searching 16 bit integer
      -- Looking for sys/types.h
      -- Looking for sys/types.h - found
      -- Looking for stdint.h
      -- Looking for stdint.h - found
      -- Looking for stddef.h
      -- Looking for stddef.h - found
      -- Check size of unsigned short
      -- Check size of unsigned short - done
      -- Using unsigned short
      -- Check if the system is big endian - little endian
      -- The ASM compiler identification is GNU
      -- Found assembler: /usr/bin/cc
      CMake Error at aws-lc/CMakeLists.txt:799 (add_subdirectory):
        add_subdirectory given source "ssl" which is not an existing directory.


      CMake Error at aws-lc/CMakeLists.txt:800 (add_subdirectory):
        add_subdirectory given source "tool" which is not an existing directory.


      -- Detected CMAKE_SYSTEM_PROCESSOR as armv7l
      -- Detected 32-Bit system - disabling PQ crypto assembly optimizations
      -- Looking for pthread.h
      -- Looking for pthread.h - found
      -- Looking for pthread_create
      -- Looking for pthread_create - not found
      -- Check if compiler accepts -pthread
      -- Check if compiler accepts -pthread - yes
      -- Found Threads: TRUE
      -- S2N_NO_PQ_ASM flag was detected - disabling PQ crypto assembly code
      -- madvise() support detected
      -- clone() support detected
      -- S2N found target: crypto
      -- CMAKE_AR found: /usr/bin/ar
      -- CMake 3.7.2
      -- Performing Test AWS_HAVE_GCC_OVERFLOW_MATH_EXTENSIONS
      -- Performing Test AWS_HAVE_GCC_OVERFLOW_MATH_EXTENSIONS - Success
      -- Performing Test AWS_HAVE_MSVC_MULX
      -- Performing Test AWS_HAVE_MSVC_MULX - Failed
      -- Performing Test AWS_HAVE_WINAPI_DESKTOP
      -- Performing Test AWS_HAVE_WINAPI_DESKTOP - Failed
      -- Performing Test AWS_ARCH_INTEL
      -- Performing Test AWS_ARCH_INTEL - Failed
      -- Performing Test AWS_ARCH_ARM64
      -- Performing Test AWS_ARCH_ARM64 - Failed
      -- Performing Test AWS_ARCH_ARM32
      -- Performing Test AWS_ARCH_ARM32 - Success
      -- Performing Test AWS_HAVE_GCC_INLINE_ASM
      -- Performing Test AWS_HAVE_GCC_INLINE_ASM - Success
      -- Performing Test AWS_HAVE_AUXV
      -- Performing Test AWS_HAVE_AUXV - Success
      -- Performing Test AWS_HAVE_EXECINFO
      -- Performing Test AWS_HAVE_EXECINFO - Failed
      -- Performing Test AWS_HAVE_LINUX_IF_LINK_H
      -- Performing Test AWS_HAVE_LINUX_IF_LINK_H - Success
      -- Performing Test HAVE_M_AVX2_FLAG
      -- Performing Test HAVE_M_AVX2_FLAG - Failed
      -- Performing Test HAVE_AVX2_INTRINSICS
      -- Performing Test HAVE_AVX2_INTRINSICS - Failed
      -- Performing Test HAVE_MM256_EXTRACT_EPI64
      -- Performing Test HAVE_MM256_EXTRACT_EPI64 - Failed
      -- Performing Test HAS_FPIC_FLAG
      -- Performing Test HAS_FPIC_FLAG - Success
      -- Performing Test HAS_64BIT_FILE_OFFSET_BY_DEFAULT
      -- Performing Test HAS_64BIT_FILE_OFFSET_BY_DEFAULT - Failed
      -- Performing Test HAS_64BIT_FILE_OFFSET_VIA_DEFINES
      -- Performing Test HAS_64BIT_FILE_OFFSET_VIA_DEFINES - Success
      -- Looking for fseeko
      -- Looking for fseeko - found
      -- Looking for stdint.h
      -- Looking for stdint.h - found
      -- Looking for stdbool.h
      -- Looking for stdbool.h - found
      -- Performing Test HAS_WGNU
      -- Performing Test HAS_WGNU - Failed
      -- Performing Test HAVE_SYSCONF
      -- Performing Test HAVE_SYSCONF - Success
      -- Looking for pthread_attr_setaffinity_np
      -- Looking for pthread_attr_setaffinity_np - found
      -- Performing Test PTHREAD_SETNAME_TAKES_2ARGS
      -- Performing Test PTHREAD_SETNAME_TAKES_2ARGS - Success
      -- Performing Test HAS_SANITIZERS
      -- Performing Test HAS_SANITIZERS - Failed
      -- Packaging currently only supported on Fedora.
      -- Using libcrypto from AWS-LC
      -- Performing Test AWS_ARM32_CRC
      -- Performing Test AWS_ARM32_CRC - Success
      -- Configuring incomplete, errors occurred!
      See also "/tmp/pip-install-tg2yluxn/awscrt_39ba57b66bec4bc5af286c23ffc79fa8/build/temp.linux-armv7l-3.8/deps/CMakeFiles/CMakeOutput.log".
      See also "/tmp/pip-install-tg2yluxn/awscrt_39ba57b66bec4bc5af286c23ffc79fa8/build/temp.linux-armv7l-3.8/deps/CMakeFiles/CMakeError.log".
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-tg2yluxn/awscrt_39ba57b66bec4bc5af286c23ffc79fa8/setup.py", line 348, in <module>
          setuptools.setup(
        File "/usr/local/lib/python3.8/site-packages/setuptools/__init__.py", line 165, in setup
          return distutils.core.setup(**attrs)
        File "/usr/local/lib/python3.8/distutils/core.py", line 148, in setup
          dist.run_commands()
        File "/usr/local/lib/python3.8/distutils/dist.py", line 966, in run_commands
          self.run_command(cmd)
        File "/usr/local/lib/python3.8/distutils/dist.py", line 985, in run_command
          cmd_obj.run()
        File "/usr/local/lib/python3.8/site-packages/setuptools/command/install.py", line 61, in run
          return orig.install.run(self)
        File "/usr/local/lib/python3.8/distutils/command/install.py", line 545, in run
          self.run_command('build')
        File "/usr/local/lib/python3.8/distutils/cmd.py", line 313, in run_command
          self.distribution.run_command(command)
        File "/usr/local/lib/python3.8/distutils/dist.py", line 985, in run_command
          cmd_obj.run()
        File "/usr/local/lib/python3.8/distutils/command/build.py", line 135, in run
          self.run_command(cmd_name)
        File "/usr/local/lib/python3.8/distutils/cmd.py", line 313, in run_command
          self.distribution.run_command(command)
        File "/usr/local/lib/python3.8/distutils/dist.py", line 985, in run_command
          cmd_obj.run()
        File "/tmp/pip-install-tg2yluxn/awscrt_39ba57b66bec4bc5af286c23ffc79fa8/setup.py", line 255, in run
          self._build_dependencies(dep_build_dir, dep_install_path)
        File "/tmp/pip-install-tg2yluxn/awscrt_39ba57b66bec4bc5af286c23ffc79fa8/setup.py", line 247, in _build_dependencies
          self._build_dependencies_impl(build_dir, install_path)
        File "/tmp/pip-install-tg2yluxn/awscrt_39ba57b66bec4bc5af286c23ffc79fa8/setup.py", line 195, in _build_dependencies_impl
          run_cmd(cmake_args)
        File "/tmp/pip-install-tg2yluxn/awscrt_39ba57b66bec4bc5af286c23ffc79fa8/setup.py", line 37, in run_cmd
          subprocess.check_call(args)
        File "/usr/local/lib/python3.8/subprocess.py", line 364, in check_call
          raise CalledProcessError(retcode, cmd)
      subprocess.CalledProcessError: Command '['/usr/bin/cmake', '-H/tmp/pip-install-tg2yluxn/awscrt_39ba57b66bec4bc5af286c23ffc79fa8/crt', '-Bbuild/temp.linux-armv7l-3.8/deps', '-DCMAKE_INSTALL_PREFIX=build/temp.linux-armv7l-3.8/deps/install', '-DCMAKE_BUILD_TYPE=RelWithDebInfo']' 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: legacy-install-failure

× Encountered error while trying to install package.
╰─> awscrt

note: This is an issue with the package mentioned above, not pip.

Hi @klaashofman,

IoT Device SDK(Python) has a dependency on library awscrt. After looking into the RaspberryPI python distribution, I don't think awscrt for python3.8 is available there ( https://www.piwheels.org/simple/awscrt/ ). Also, support for RaspberryPi Stretch is not guaranteed by the piwheels. (Checkout https://www.piwheels.org/)

There is two possible workarounds you can try out:

  1. Use python3.7 or python3.9 instead of python3.8
  2. Installing awscrt from source instead of pip. You can find installation instructions from https://github.com/awslabs/aws-crt-python. Then please make sure IoT Device SDK uses the local awscrt installation before building it.

Let me know if the workaround helps.

Greetings! It looks like this issue hasn’t been active in longer than a week. We encourage you to check if this is still an issue in the latest release. Because it has been longer than a week since the last update on this, and in the absence of more information, we will be closing this issue soon. If you find that this is still a problem, please feel free to provide a comment or add an upvote to prevent automatic closure, or if the issue is already closed, please feel free to open a new one.