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]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to