On Fri Jan 17, 2025 at 3:58 PM CST, a-christidis via lists.openembedded.org
wrote:
> From: Antonios Christidis <[email protected]>
>
> This recipe provides the opecl-cts suite. This is a pre-release version
> v2024-08-08, which I have tested to work with opencl-headers version
> v2024.05.08
> . The pre-release version was picked due to incompatibility issues with other
> versions of headers. Commits past the pre release will run into issues with
> CL_UNORM_INT_2_101010_EXT
>
> The recipe also includes a patch, to allow it to compile and build properly.
> Further information below.
>
> Signed-off-by: Antonios Christidis <[email protected]>
> ---
> .../files/0001-Ignore-Compiler-Warnings.patch | 36 +++++++++++++++++++
> .../opencl/opencl-cts_2024.08.08.bb | 24 +++++++++++++
> 2 files changed, 60 insertions(+)
> create mode 100644
> meta-oe/recipes-core/opencl/files/0001-Ignore-Compiler-Warnings.patch
> create mode 100644 meta-oe/recipes-core/opencl/opencl-cts_2024.08.08.bb
>
> diff --git
> a/meta-oe/recipes-core/opencl/files/0001-Ignore-Compiler-Warnings.patch
> b/meta-oe/recipes-core/opencl/files/0001-Ignore-Compiler-Warnings.patch
> new file mode 100644
> index 000000000..38016789b
> --- /dev/null
> +++ b/meta-oe/recipes-core/opencl/files/0001-Ignore-Compiler-Warnings.patch
> @@ -0,0 +1,36 @@
> +From 082ce10dd191f036f5a6e1fb31134e9736ba3643 Mon Sep 17 00:00:00 2001
> +From: Antonios Christidis <[email protected]>
> +Date: Fri, 17 Jan 2025 15:05:39 -0600
> +Subject: [PATCH] Ignore Compiler Warnings
> +
> +
> +Upstream repo is using Ubuntu 20.04 to build. Their compiler is old enough to
> +to not catch these warnings. While our distro compiler is capable of
> catching
> +them, resulting in compilation failures. Thus change the build system to
> ignore
> +the warnings. Resulting in no errors (-Werror flag enabled).
> +
> +Upstream-Status: Inappropriate [oe specific - compilation errors due to
> cross-compiling]
> +
> +Singed-Off-By: Antonios Christidis <[email protected]>
> +---
> + CMakeLists.txt | 4 +++-
> + 1 file changed, 3 insertions(+), 1 deletion(-)
> +
> +diff --git a/CMakeLists.txt b/CMakeLists.txt
> +index 5cfef6b3..71b6ddb4 100644
> +--- a/CMakeLists.txt
> ++++ b/CMakeLists.txt
> +@@ -109,7 +109,9 @@ if(CMAKE_COMPILER_IS_GNUCC OR "${CMAKE_CXX_COMPILER_ID}"
> MATCHES "(Apple)?Clang"
> + add_cxx_flag_if_supported(-Wno-error=cpp) # Allow #warning directive
> + add_cxx_flag_if_supported(-Wno-unknown-pragmas) # Issue #785
> + add_cxx_flag_if_supported(-Wno-error=asm-operand-widths) # Issue #784
> +-
> ++ add_cxx_flag_if_supported(-Wno-maybe-uninitialized)
> ++ add_cxx_flag_if_supported(-Wno-stringop-truncation)
> ++ add_cxx_flag_if_supported(-Wno-strict-aliasing)
> + # -msse -mfpmath=sse to force gcc to use sse for float math,
> + # avoiding excess precision problems that cause tests like int2float
> + # to falsely fail. -ffloat-store also works, but WG suggested
> +--
> +2.34.1
> +
> diff --git a/meta-oe/recipes-core/opencl/opencl-cts_2024.08.08.bb
> b/meta-oe/recipes-core/opencl/opencl-cts_2024.08.08.bb
> new file mode 100644
> index 000000000..aa0e090db
> --- /dev/null
> +++ b/meta-oe/recipes-core/opencl/opencl-cts_2024.08.08.bb
> @@ -0,0 +1,24 @@
> +SUMMARY = "OpenCL CTS"
> +DESCRIPTION = "OpenCL CTS test suite"
> +LICENSE = "Apache-2.0"
> +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
> +
> +inherit pkgconfig cmake
> +
> +DEPENDS += "opencl-headers opencl-icd-loader"
> +RDEPENDS:${PN} += "python3-core"
Missing RDEPENDS on python3-io since the run_conformance.py script needs the
tempfile module.
> +
> +S = "${WORKDIR}/git"
> +
> +SRC_URI =
> "git://github.com/KhronosGroup/OpenCL-CTS.git;protocol=https;branch=main \
Would recommend using ";lfs=0" here. LFS isn't setup in the CROPS containers and
even though this git project has lfs metadata, it hasn't used lfs since:
ad8ab3fe (Remove OpenCL C++ tests (#1241), 2021-05-13)
> + file://0001-Ignore-Compiler-Warnings.patch"
> +
> +SRCREV = "a406b340913f622da089b00f284a597656c10239"
> +
> +EXTRA_OECMAKE:append = " -DCL_INCLUDE_DIR=${STAGING_INCDIR}
> -DCL_LIB_DIR=${STAGING_LIBDIR} -DOPENCL_LIBRARIES=OpenCL"
> +
> +do_install() {
> + install -d ${D}${bindir}/opencl_test_conformance
> + cp -r ${B}/test_conformance/* ${D}${bindir}/opencl_test_conformance
> + sed -i 's:/usr/bin/python:/usr/bin/python3:g'
> ${D}${bindir}/opencl_test_conformance/run_conformance.py
Would recommend the following to help with QA warnings:
find "${D}${bindir}/opencl_test_conformance" -name cmake_install.cmake
-type f -delete
find "${D}${bindir}/opencl_test_conformance" -name CMakeFiles -type d
-exec rm -rf "{}" \; -depth
> +}
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#210111):
https://lists.openembedded.org/g/openembedded-core/message/210111
Mute This Topic: https://lists.openembedded.org/mt/110675218/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-