Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: Cross-Compilation on WSL Ubuntu24.04 for i.MX8M Mini / aarch64 #2061

Open
3 tasks done
kkharse-cgi opened this issue Oct 7, 2024 · 1 comment
Open
3 tasks done
Labels
bug Something isn't working needs-triage v1.11.0

Comments

@kkharse-cgi
Copy link

kkharse-cgi commented Oct 7, 2024

Please confirm you have already done the following

  • I have searched the repository for related/existing bug reports
  • I have all the details the issue requires

Please answer the following prompt

  • This issue is replicable using the unmodified sample application

Describe the bug

#2060

Details of the bug provided here in the discussion

Expected Behavior

Successfully cross-compiled for i.MX8M Mini

Current Behavior

Compilation errors, Few dependencies / files not present.
Cross_Compilation_Issue-2

Reproduction Steps

Added the below to CMakeLists.txt

SET(CMAKE_SYSTEM_NAME Linux)
SET(CMAKE_SYSTEM_PROCESSOR aarch64)

SET(CMAKE_C_COMPILER aarch64-linux-gnu-gcc)
SET(CMAKE_CXX_COMPILER aarch64-linux-gnu-g++)

WebRTC C SDK version being used

v1.11.0

If it was working in a previous version, which one?

No

Compiler and Version used

aarch64-gemini-linux-gnu-gcc : 9.3.0, gcc (Ubuntu 13.2.0-23ubuntu4) 13.2.0, clang version 18.1.3 ,

Operating System and version

Ubuntu 24.04 on WSL (5.15.153.1-microsoft-standard-WSL2)

Platform being used

i.MX8M mini

###Error Logs
-- Build files have been written to: /home/kkharse/MW_Repos/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/libkvsCommonLws/build/src/libkvsCommonLws-download-build
[ 66%] Performing build step for 'libkvsCommonLws-download'
[ 7%] Building C object CMakeFiles/kvsCommonLws.dir/src/source/Common/Auth.c.o
In file included from /home/kkharse/MW_Repos/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/libkvsCommonLws/build/src/libkvsCommonLws-download/src/source/Common/Include_i.h:47,
from /home/kkharse/MW_Repos/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/libkvsCommonLws/build/src/libkvsCommonLws-download/src/source/Common/Auth.c:5:
/home/kkharse/MW_Repos/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/libkvsCommonLws/build/src/libkvsCommonLws-download/src/include/com/amazonaws/kinesis/video/common/Include.h:16:10: fatal error: com/amazonaws/kinesis/video/client/Include.h: No such file or directory
16 | #include <com/amazonaws/kinesis/video/client/Include.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
gmake[5]: *** [CMakeFiles/kvsCommonLws.dir/build.make:76: CMakeFiles/kvsCommonLws.dir/src/source/Common/Auth.c.o] Error 1
gmake[4]: *** [CMakeFiles/Makefile2:83: CMakeFiles/kvsCommonLws.dir/all] Error 2
gmake[3]: *** [Makefile:136: all] Error 2
gmake[2]: *** [CMakeFiles/libkvsCommonLws-download.dir/build.make:87: build/src/libkvsCommonLws-download-stamp/libkvsCommonLws-download-build] Error 2
gmake[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/libkvsCommonLws-download.dir/all] Error 2
gmake: *** [Makefile:91: all] Error 2
CMake Error at CMake/Utilities.cmake:75 (message):
CMake step for libkvsCommonLws failed: 2
Call Stack (most recent call first):
CMakeLists.txt:265 (build_dependency)

-- Configuring incomplete, errors occurred!

@kkharse-cgi kkharse-cgi added bug Something isn't working needs-triage labels Oct 7, 2024
@kkharse-cgi
Copy link
Author

kkharse-cgi commented Oct 7, 2024

Additional Error encountered during the build:

Build Command:

cmake .. -DCMAKE_TOOLCHAIN_FILE=../CMake/Toolchain-aarch64.cmake -DBUILD_STATIC_LIBS=TRUE -DBUILD_OPENSSL_PLATFORM=linux-aarch64 -DBUILD_LIBSRTP_HOST_PLATFORM=ON -DBUILD_LIBSRTP_DESTINATION_PLATFORM=ON -DBUILD_LIBSRTP_HOST_PLATFORM=x86_64-unknown-linux-gnu -DBUILD_LIBSRTP_DESTINATION_PLATFORM=arm-unknown-linux-uclibcgnueabi -DBUILD_COMMON_LWS=TRUE -DLEGACY_MODE=OFF -DLEGACY_BUILD=OFF


Error Logs:

Submodule 'tests/cbmc/aws-verification-model-for-libcrypto' (https://github.com/awslabs/aws-verification-model-for-libcrypto.git) registered for path 'crt/aws-crt-cpp/crt/s2n/tests/cbmc/aws-verification-model-for-libcrypto'
Cloning into '/home/kkharse/MW_Repos/amazon-kinesis-video-streams-webrtc-sdk-c/open-source/libawscpp/libawscpp-download-prefix/src/libawscpp-download/crt/aws-crt-cpp/crt/s2n/tests/cbmc/aws-verification-model-for-libcrypto'...
Submodule path 'crt/aws-crt-cpp/crt/s2n/tests/cbmc/aws-verification-model-for-libcrypto': checked out '440a07ca02d60ff8158cb99fb89833de35d76ae6'
[ 33%] Performing update step for 'libawscpp-download'
[ 44%] No patch step for 'libawscpp-download'
[ 55%] Performing configure step for 'libawscpp-download'
CMake Warning at CMakeLists.txt:9 (message):
In 1.11 releases, we are releasing experimental alternative building
mode.By setting -DLEGACY_MODE=OFF you can test our advances in modern CMake
building and provide early feedback. The legacy support is set by default
in 1.11, when you complete build updating scripts please update the build
flags as mentioned in README.md and set -DLEGACY_BUILD=OFF. The legacy
support will be removed at 1.12.0 release.

CMake Deprecation Warning at 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.

-- TARGET_ARCH not specified; inferring host OS to be platform compilation target
-- Building AWS libraries as static objects
-- Generating linux build config
-- Building project version: 1.11.217
-- The CXX compiler identification is GNU 9.3.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /home/kkharse/Workspace/gemini-buildroot/aarch64-gemini-linux-gnu_sdk-buildroot/bin/aarch64-linux-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Warning (dev) at CMakeLists.txt:170 (find_package):
Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
are removed. Run "cmake --help-policy CMP0148" for policy details. Use
the cmake_policy command to set the policy and suppress this warning.

This warning is for project developers. Use -Wno-dev to suppress it.

-- Found PythonInterp: /usr/bin/python3 (found version "3.12.3")
CMake Warning at CMakeLists.txt:181 (message):
ZLIB is not available, it will not be used to compress requests

-- Could NOT find ZLIB (missing: ZLIB_LIBRARY) (found version "1.3")
CMake Error at cmake/external_dependencies.cmake:9 (message):
Could not find zlib
Call Stack (most recent call first):
CMakeLists.txt:208 (include)

-- Configuring incomplete, errors occurred!
gmake[2]: *** [CMakeFiles/libawscpp-download.dir/build.make:92: libawscpp-download-prefix/src/libawscpp-download-stamp/libawscpp-download-configure] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/libawscpp-download.dir/all] Error 2
gmake: *** [Makefile:91: all] Error 2
CMake Error at CMake/Utilities.cmake:75 (message):
CMake step for libawscpp failed: 2
Call Stack (most recent call first):
CMakeLists.txt:246 (build_dependency)

-- Configuring incomplete, errors occurred!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working needs-triage v1.11.0
Projects
None yet
Development

No branches or pull requests

2 participants