Building awscrt for RISC V
0
Hi all,
just trying to use AWS IoT Core on my Mango Pi board (riscv64 architecture). To do so, I need awscrt, among others. There is no precompiled binary for this architecture and the build fails with
~/crt/aws-lc/generated-src/linux-riscv64/crypto: No such file or directory
So I wonder whether someone tried this platform before and may share some thoughts/ideas.
Thanks, Jaroslav
full listing follows, just in case I am doing something stupid:
pi@nezha:~$ python3 -m pip install awscrt
Defaulting to user installation because normal site-packages is not writeable
Collecting awscrt
Using cached awscrt-0.16.1.tar.gz (21.8 MB)
Preparing metadata (setup.py) ... done
Building wheels for collected packages: awscrt
Building wheel for awscrt (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> [161 lines of output]
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-riscv64-3.10
creating build/lib.linux-riscv64-3.10/awscrt
copying awscrt/websocket.py -> build/lib.linux-riscv64-3.10/awscrt
copying awscrt/s3.py -> build/lib.linux-riscv64-3.10/awscrt
copying awscrt/mqtt5.py -> build/lib.linux-riscv64-3.10/awscrt
copying awscrt/mqtt.py -> build/lib.linux-riscv64-3.10/awscrt
copying awscrt/io.py -> build/lib.linux-riscv64-3.10/awscrt
copying awscrt/http.py -> build/lib.linux-riscv64-3.10/awscrt
copying awscrt/exceptions.py -> build/lib.linux-riscv64-3.10/awscrt
copying awscrt/crypto.py -> build/lib.linux-riscv64-3.10/awscrt
copying awscrt/common.py -> build/lib.linux-riscv64-3.10/awscrt
copying awscrt/checksums.py -> build/lib.linux-riscv64-3.10/awscrt
copying awscrt/auth.py -> build/lib.linux-riscv64-3.10/awscrt
copying awscrt/_test.py -> build/lib.linux-riscv64-3.10/awscrt
copying awscrt/__init__.py -> build/lib.linux-riscv64-3.10/awscrt
creating build/lib.linux-riscv64-3.10/awscrt/eventstream
copying awscrt/eventstream/rpc.py -> build/lib.linux-riscv64-3.10/awscrt/eventstream
copying awscrt/eventstream/__init__.py -> build/lib.linux-riscv64-3.10/awscrt/eventstream
running build_ext
> /usr/bin/cmake -H/tmp/pip-install-qsvx9kyw/awscrt_19c9b5f13b6e44febba6335902605ce9/crt -Bbuild/temp.linux-riscv64-3.10/deps -DCMAKE_INSTALL_PREFIX=build/temp.linux-riscv64-3.10/deps/install -DCMAKE_BUILD_TYPE=RelWithDebInfo
-- The C compiler identification is GNU 11.3.0
-- The CXX compiler identification is GNU 11.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
pkgconfig not found. Disabling unwind tests.
-- Go not found. Disabling some code generation and using pre-generated code in generated-src/
-- Perl 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
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/cc
Copying platform assembly files from /tmp/pip-install-qsvx9kyw/awscrt_19c9b5f13b6e44febba6335902605ce9/crt/aws-lc/generated-src/linux-riscv64/crypto/ to /tmp/pip-install-qsvx9kyw/awscrt_19c9b5f13b6e44febba6335902605ce9/build/temp.linux-riscv64-3.10/deps/aws-lc/crypto
CMake Error at aws-lc/crypto/CMakeLists.txt:135 (file):
file COPY cannot find
"/tmp/pip-install-qsvx9kyw/awscrt_19c9b5f13b6e44febba6335902605ce9/crt/aws-lc/generated-src/linux-riscv64/crypto/":
No such file or directory.
-- Detected CMAKE_SYSTEM_PROCESSOR as riscv64
-- Detected 64-Bit system
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- madvise() support detected
-- clone() support detected
-- S2N found target: crypto
-- CMake 3.22.1
CMake Deprecation Warning at aws-c-common/CMakeLists.txt:17 (cmake_policy):
The OLD behavior for policy CMP0077 will be removed from a future version
of CMake.
The cmake-policies(7) manual explains that the OLD behaviors of all
policies are deprecated and that a policy should be set to OLD only under
specific short-term circumstances. Projects should be ported to the NEW
behavior and not rely on setting a policy to OLD.
-- 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 - Failed
-- 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
-- Looking for pthread_mutexattr_init
-- Looking for pthread_mutexattr_init - not found
-- 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 - 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
-- Configuring incomplete, errors occurred!
See also "/tmp/pip-install-qsvx9kyw/awscrt_19c9b5f13b6e44febba6335902605ce9/build/temp.linux-riscv64-3.10/deps/CMakeFiles/CMakeOutput.log".
See also "/tmp/pip-install-qsvx9kyw/awscrt_19c9b5f13b6e44febba6335902605ce9/build/temp.linux-riscv64-3.10/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-qsvx9kyw/awscrt_19c9b5f13b6e44febba6335902605ce9/setup.py", line 348, in <module>
setuptools.setup(
File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 153, in setup
return distutils.core.setup(**attrs)
File "/usr/lib/python3.10/distutils/core.py", line 148, in setup
dist.run_commands()
File "/usr/lib/python3.10/distutils/dist.py", line 966, in run_commands
self.run_command(cmd)
File "/usr/lib/python3.10/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/usr/lib/python3/dist-packages/wheel/bdist_wheel.py", line 299, in run
self.run_command('build')
File "/usr/lib/python3.10/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/lib/python3.10/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/usr/lib/python3.10/distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/usr/lib/python3.10/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/lib/python3.10/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/tmp/pip-install-qsvx9kyw/awscrt_19c9b5f13b6e44febba6335902605ce9/setup.py", line 255, in run
self._build_dependencies(dep_build_dir, dep_install_path)
File "/tmp/pip-install-qsvx9kyw/awscrt_19c9b5f13b6e44febba6335902605ce9/setup.py", line 247, in _build_dependencies
self._build_dependencies_impl(build_dir, install_path)
File "/tmp/pip-install-qsvx9kyw/awscrt_19c9b5f13b6e44febba6335902605ce9/setup.py", line 195, in _build_dependencies_impl
run_cmd(cmake_args)
File "/tmp/pip-install-qsvx9kyw/awscrt_19c9b5f13b6e44febba6335902605ce9/setup.py", line 37, in run_cmd
subprocess.check_call(args)
File "/usr/lib/python3.10/subprocess.py", line 369, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/usr/bin/cmake', '-H/tmp/pip-install-qsvx9kyw/awscrt_19c9b5f13b6e44febba6335902605ce9/crt', '-Bbuild/temp.linux-riscv64-3.10/deps', '-DCMAKE_INSTALL_PREFIX=build/temp.linux-riscv64-3.10/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: Failed building wheel for awscrt
Running setup.py clean for awscrt
Failed to build awscrt
asked a year ago52 viewslg...
No Answers
- Newest
- Most votes
- Most comments
Relevant content
- asked 6 days agolg...
- Accepted Answerasked 2 years agolg...
- asked a year agolg...
- Accepted Answerasked 2 years agolg...
- AWS OFFICIALUpdated a year ago
- AWS OFFICIALUpdated 3 years ago
- AWS OFFICIALUpdated 4 months ago
- AWS OFFICIALUpdated a year ago