All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] package/clpeak: new package
@ 2021-10-24 11:36 Gilles Talis
  2021-12-30 17:00 ` Thomas Petazzoni
  0 siblings, 1 reply; 5+ messages in thread
From: Gilles Talis @ 2021-10-24 11:36 UTC (permalink / raw)
  To: buildroot; +Cc: Gilles Talis

clpeak is a tool that profiles OpenCL devices to find
their peak capacities

Signed-off-by: Gilles Talis <gilles.talis@gmail.com>
---
 DEVELOPERS                 |  1 +
 package/Config.in          |  1 +
 package/clpeak/Config.in   | 14 ++++++++++++++
 package/clpeak/clpeak.hash |  3 +++
 package/clpeak/clpeak.mk   | 13 +++++++++++++
 5 files changed, 32 insertions(+)
 create mode 100644 package/clpeak/Config.in
 create mode 100644 package/clpeak/clpeak.hash
 create mode 100644 package/clpeak/clpeak.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index f864f7ef47..41cef4a442 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1034,6 +1034,7 @@ N:	Gilles Talis <gilles.talis@gmail.com>
 F:	board/freescale/imx8mmevk/
 F:	configs/freescale_imx8mmevk_defconfig
 F:	package/cctz/
+F:	package/clpeak/
 F:	package/faad2/
 F:	package/fdk-aac/
 F:	package/httping/
diff --git a/package/Config.in b/package/Config.in
index d40eb9dabc..0a7c0deea8 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -87,6 +87,7 @@ menu "Debugging, profiling and benchmark"
 	source "package/bonnie/Config.in"
 	source "package/cache-calibrator/Config.in"
 	source "package/clinfo/Config.in"
+	source "package/clpeak/Config.in"
 	source "package/coremark/Config.in"
 	source "package/coremark-pro/Config.in"
 	source "package/dacapo/Config.in"
diff --git a/package/clpeak/Config.in b/package/clpeak/Config.in
new file mode 100644
index 0000000000..6b0aeb220c
--- /dev/null
+++ b/package/clpeak/Config.in
@@ -0,0 +1,14 @@
+config BR2_PACKAGE_CLPEAK
+	bool "clpeak"
+	depends on BR2_PACKAGE_HAS_LIBOPENCL
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
+	help
+	  clpeak is a tool that profiles OpenCL devices
+	  to find their peak capacities
+
+	  https://github.com/krrishnarraj/clpeak
+
+comment "clpeak needs an OpenCL provider, a toolchain w/ C++, gcc >= 4.8"
+	depends on !BR2_PACKAGE_HAS_LIBOPENCL \
+		|| !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
diff --git a/package/clpeak/clpeak.hash b/package/clpeak/clpeak.hash
new file mode 100644
index 0000000000..e0d2c1e92b
--- /dev/null
+++ b/package/clpeak/clpeak.hash
@@ -0,0 +1,3 @@
+# Locally computed
+sha256  1e9c3f959498253d6bb956dc786de7b3e4019264216a1781c06ae49a1d6600e5  clpeak-0777205be1d5681d5a76d46ec94588544e8462a5.tar.gz
+sha256  88d9b4eb60579c191ec391ca04c16130572d7eedc4a86daa58bf28c6e14c9bcd  LICENSE
diff --git a/package/clpeak/clpeak.mk b/package/clpeak/clpeak.mk
new file mode 100644
index 0000000000..e36170d8aa
--- /dev/null
+++ b/package/clpeak/clpeak.mk
@@ -0,0 +1,13 @@
+################################################################################
+#
+# clpeak
+#
+################################################################################
+
+CLPEAK_VERSION = 0777205be1d5681d5a76d46ec94588544e8462a5
+CLPEAK_SITE = $(call github,krrishnarraj,clpeak,$(CLPEAK_VERSION))
+CLPEAK_LICENSE = Unlicense
+CLPEAK_LICENSE_FILES = LICENSE
+CLPEAK_DEPENDENCIES = libopencl
+
+$(eval $(cmake-package))
-- 
2.27.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [Buildroot] [PATCH] package/clpeak: new package
  2021-10-24 11:36 [Buildroot] [PATCH] package/clpeak: new package Gilles Talis
@ 2021-12-30 17:00 ` Thomas Petazzoni
  2022-01-16  8:50   ` Gilles Talis
  0 siblings, 1 reply; 5+ messages in thread
From: Thomas Petazzoni @ 2021-12-30 17:00 UTC (permalink / raw)
  To: Gilles Talis; +Cc: buildroot

Hello Gilles,

On Sun, 24 Oct 2021 13:36:54 +0200
Gilles Talis <gilles.talis@gmail.com> wrote:

> clpeak is a tool that profiles OpenCL devices to find
> their peak capacities
> 
> Signed-off-by: Gilles Talis <gilles.talis@gmail.com>
> ---
>  DEVELOPERS                 |  1 +
>  package/Config.in          |  1 +
>  package/clpeak/Config.in   | 14 ++++++++++++++
>  package/clpeak/clpeak.hash |  3 +++
>  package/clpeak/clpeak.mk   | 13 +++++++++++++
>  5 files changed, 32 insertions(+)
>  create mode 100644 package/clpeak/Config.in
>  create mode 100644 package/clpeak/clpeak.hash
>  create mode 100644 package/clpeak/clpeak.mk

Thanks for this package submission! Unfortunately, I'm afraid there is
an issue: it downloads stuff during the configure step. See below:

>>> clpeak 0777205be1d5681d5a76d46ec94588544e8462a5 Configuring
...
-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/thomas/projets/buildroot/output/host/bin/aarch64-linux-gcc - 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: /home/thomas/projets/buildroot/output/host/bin/aarch64-linux-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for CL_VERSION_2_2
-- Looking for CL_VERSION_2_2 - found
-- Found OpenCL: /home/thomas/projets/buildroot/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/libOpenCL.so (found version "2.2") 
CMake Warning (dev) in CMakeLists.txt:
  No project() command is present.  The top-level CMakeLists.txt file must
  contain a literal, direct call to the project() command.  Add a line of
  code such as

    project(ProjectName)

  near the top of the file, but after cmake_minimum_required().

  CMake is pretending there is a "project(Project)" command on the first
  line.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/thomas/projets/buildroot/output/host/bin/aarch64-linux-gcc - 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: /home/thomas/projets/buildroot/output/host/bin/aarch64-linux-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build
gmake[1]: Entering directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build'
gmake[2]: Entering directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build'
gmake[3]: Entering directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build'
gmake[3]: Leaving directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build'
gmake[3]: Entering directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build'
[ 12%] Creating directories for 'hpp_headers'
[ 25%] Performing download step (git clone) for 'hpp_headers'
Cloning into 'hpp_headers'...
remote: Enumerating objects: 558, done.        
remote: Counting objects: 100% (558/558), done.        
remote: Compressing objects: 100% (396/396), done.        
remote: Total 558 (delta 324), reused 355 (delta 155), pack-reused 0        
Receiving objects: 100% (558/558), 762.72 KiB | 5.45 MiB/s, done.
Resolving deltas: 100% (324/324), done.
Already on 'master'
Your branch is up to date with 'origin/master'.
Submodule 'external/CMock' (https://github.com/ThrowTheSwitch/CMock) registered for path 'external/CMock'
Submodule 'external/Unity' (https://github.com/ThrowTheSwitch/Unity) registered for path 'external/Unity'
Cloning into '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers/external/CMock'...
Cloning into '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers/external/Unity'...
Submodule path 'external/CMock': checked out '7cc41ddfdd07dc5eb8359d278f439f14031d64ad'
Submodule 'vendor/c_exception' (https://github.com/throwtheswitch/cexception.git) registered for path 'external/CMock/vendor/c_exception'
Submodule 'vendor/unity' (https://github.com/throwtheswitch/unity.git) registered for path 'external/CMock/vendor/unity'
Cloning into '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers/external/CMock/vendor/c_exception'...
Cloning into '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers/external/CMock/vendor/unity'...
Submodule path 'external/CMock/vendor/c_exception': checked out 'dce9e8b26f2179439002e02d691429e81a32b6c0'
Submodule 'vendor/unity' (https://github.com/throwtheswitch/unity.git) registered for path 'external/CMock/vendor/c_exception/vendor/unity'
Cloning into '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers/external/CMock/vendor/c_exception/vendor/unity'...
Submodule path 'external/CMock/vendor/c_exception/vendor/unity': checked out '2c7629a0ae90ffe991b5fd08e4db8672f72ed64c'
Submodule path 'external/CMock/vendor/unity': checked out '031f3bbe45f8adf504ca3d13e6f093869920b091'
Submodule path 'external/Unity': checked out '7d2bf62b7e6afaf38153041a9d53c21aeeca9a25'
[ 37%] Performing update step for 'hpp_headers'
HEAD is now at 1df82b9 Add param traits for CL_DEVICE_SUPPORTED_REGISTER_ALLOCATIONS_ARM (#165)
[ 50%] No patch step for 'hpp_headers'
[ 62%] Performing configure step for 'hpp_headers'
-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/thomas/projets/buildroot/output/host/bin/aarch64-linux-gcc - 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: /home/thomas/projets/buildroot/output/host/bin/aarch64-linux-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers-build
[ 75%] Performing build step for 'hpp_headers'
gmake[4]: Entering directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers-build'
gmake[4]: Leaving directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers-build'
[ 87%] Performing install step for 'hpp_headers'
gmake[4]: Entering directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers-build'
Install the project...
-- Install configuration: "Release"
-- Installing: /home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp_install/include/CL
-- Installing: /home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp_install/include/CL/cl2.hpp
-- Installing: /home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp_install/include/CL/opencl.hpp
gmake[4]: Leaving directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers-build'
[100%] Completed 'hpp_headers'
gmake[3]: Leaving directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build'
[100%] Built target hpp_headers
gmake[2]: Leaving directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build'
gmake[1]: Leaving directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build'
-- Selected OpenCL includes from /home/thomas/projets/buildroot/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/include;/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp_install/include
-- Selected OpenCL lib /home/thomas/projets/buildroot/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/libOpenCL.so
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    BUILD_DOC
    BUILD_DOCS
    BUILD_EXAMPLE
    BUILD_EXAMPLES
    BUILD_TEST
    BUILD_TESTING
    BUILD_TESTS


-- Build files have been written to: /home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5

Also, while note related to clpeak, I did try to build this
configuration (which uses the NXP OpenCL provider):

BR2_aarch64=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y
BR2_INIT_NONE=y
BR2_SYSTEM_BIN_SH_NONE=y
# BR2_PACKAGE_BUSYBOX is not set
BR2_PACKAGE_CLPEAK=y
BR2_PACKAGE_FREESCALE_IMX=y
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8=y
BR2_PACKAGE_IMX_GPU_VIV=y
# BR2_TARGET_ROOTFS_TAR is not set

and it fails with:

/home/thomas/projets/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/aarch64-buildroot-linux-gnu/9.3.0/../../../../aarch64-buildroot-linux-gnu/bin/ld: /home/thomas/projets/buildroot/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib64/libGAL.so: undefined reference to `stat@GLIBC_2.33'

And indeed the C library in this toolchain is glibc 2.31. So this means
that the libGAL library shipped by NXP in imx-gpu-viv will only work
with glibc >= 2.33.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Buildroot] [PATCH] package/clpeak: new package
  2021-12-30 17:00 ` Thomas Petazzoni
@ 2022-01-16  8:50   ` Gilles Talis
  2022-01-16 12:10     ` Arnout Vandecappelle
  0 siblings, 1 reply; 5+ messages in thread
From: Gilles Talis @ 2022-01-16  8:50 UTC (permalink / raw)
  To: Thomas Petazzoni; +Cc: buildroot

Hi Thomas,

thanks for the review. Somehow, I missed this email and just stumbled
across it now.

Le jeu. 30 déc. 2021 à 18:00, Thomas Petazzoni
<thomas.petazzoni@bootlin.com> a écrit :
>
> Hello Gilles,
>
> On Sun, 24 Oct 2021 13:36:54 +0200
> Gilles Talis <gilles.talis@gmail.com> wrote:
>
> > clpeak is a tool that profiles OpenCL devices to find
> > their peak capacities
> >
> > Signed-off-by: Gilles Talis <gilles.talis@gmail.com>
> > ---
> >  DEVELOPERS                 |  1 +
> >  package/Config.in          |  1 +
> >  package/clpeak/Config.in   | 14 ++++++++++++++
> >  package/clpeak/clpeak.hash |  3 +++
> >  package/clpeak/clpeak.mk   | 13 +++++++++++++
> >  5 files changed, 32 insertions(+)
> >  create mode 100644 package/clpeak/Config.in
> >  create mode 100644 package/clpeak/clpeak.hash
> >  create mode 100644 package/clpeak/clpeak.mk
>
> Thanks for this package submission! Unfortunately, I'm afraid there is
> an issue: it downloads stuff during the configure step. See below:
Good catch! It seems like clpeak has a hidden dependency that I missed.
Whilst I am here, one question: how do we deal with packages that have
git submodules dependencies? Is it OK to let the download process
download these dependencies? Even if the dependencies are available
buildroot packages?

>
> >>> clpeak 0777205be1d5681d5a76d46ec94588544e8462a5 Configuring
> ...
> -- The C compiler identification is GNU 9.3.0
> -- The CXX compiler identification is GNU 9.3.0
> -- Detecting C compiler ABI info
> -- Detecting C compiler ABI info - done
> -- Check for working C compiler: /home/thomas/projets/buildroot/output/host/bin/aarch64-linux-gcc - 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: /home/thomas/projets/buildroot/output/host/bin/aarch64-linux-g++ - skipped
> -- Detecting CXX compile features
> -- Detecting CXX compile features - done
> -- Looking for CL_VERSION_2_2
> -- Looking for CL_VERSION_2_2 - found
> -- Found OpenCL: /home/thomas/projets/buildroot/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/libOpenCL.so (found version "2.2")
> CMake Warning (dev) in CMakeLists.txt:
>   No project() command is present.  The top-level CMakeLists.txt file must
>   contain a literal, direct call to the project() command.  Add a line of
>   code such as
>
>     project(ProjectName)
>
>   near the top of the file, but after cmake_minimum_required().
>
>   CMake is pretending there is a "project(Project)" command on the first
>   line.
> This warning is for project developers.  Use -Wno-dev to suppress it.
>
> -- The C compiler identification is GNU 9.3.0
> -- The CXX compiler identification is GNU 9.3.0
> -- Detecting C compiler ABI info
> -- Detecting C compiler ABI info - done
> -- Check for working C compiler: /home/thomas/projets/buildroot/output/host/bin/aarch64-linux-gcc - 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: /home/thomas/projets/buildroot/output/host/bin/aarch64-linux-g++ - skipped
> -- Detecting CXX compile features
> -- Detecting CXX compile features - done
> -- Configuring done
> -- Generating done
> -- Build files have been written to: /home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build
> gmake[1]: Entering directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build'
> gmake[2]: Entering directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build'
> gmake[3]: Entering directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build'
> gmake[3]: Leaving directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build'
> gmake[3]: Entering directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build'
> [ 12%] Creating directories for 'hpp_headers'
> [ 25%] Performing download step (git clone) for 'hpp_headers'
> Cloning into 'hpp_headers'...
> remote: Enumerating objects: 558, done.
> remote: Counting objects: 100% (558/558), done.
> remote: Compressing objects: 100% (396/396), done.
> remote: Total 558 (delta 324), reused 355 (delta 155), pack-reused 0
> Receiving objects: 100% (558/558), 762.72 KiB | 5.45 MiB/s, done.
> Resolving deltas: 100% (324/324), done.
> Already on 'master'
> Your branch is up to date with 'origin/master'.
> Submodule 'external/CMock' (https://github.com/ThrowTheSwitch/CMock) registered for path 'external/CMock'
> Submodule 'external/Unity' (https://github.com/ThrowTheSwitch/Unity) registered for path 'external/Unity'
> Cloning into '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers/external/CMock'...
> Cloning into '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers/external/Unity'...
> Submodule path 'external/CMock': checked out '7cc41ddfdd07dc5eb8359d278f439f14031d64ad'
> Submodule 'vendor/c_exception' (https://github.com/throwtheswitch/cexception.git) registered for path 'external/CMock/vendor/c_exception'
> Submodule 'vendor/unity' (https://github.com/throwtheswitch/unity.git) registered for path 'external/CMock/vendor/unity'
> Cloning into '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers/external/CMock/vendor/c_exception'...
> Cloning into '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers/external/CMock/vendor/unity'...
> Submodule path 'external/CMock/vendor/c_exception': checked out 'dce9e8b26f2179439002e02d691429e81a32b6c0'
> Submodule 'vendor/unity' (https://github.com/throwtheswitch/unity.git) registered for path 'external/CMock/vendor/c_exception/vendor/unity'
> Cloning into '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers/external/CMock/vendor/c_exception/vendor/unity'...
> Submodule path 'external/CMock/vendor/c_exception/vendor/unity': checked out '2c7629a0ae90ffe991b5fd08e4db8672f72ed64c'
> Submodule path 'external/CMock/vendor/unity': checked out '031f3bbe45f8adf504ca3d13e6f093869920b091'
> Submodule path 'external/Unity': checked out '7d2bf62b7e6afaf38153041a9d53c21aeeca9a25'
> [ 37%] Performing update step for 'hpp_headers'
> HEAD is now at 1df82b9 Add param traits for CL_DEVICE_SUPPORTED_REGISTER_ALLOCATIONS_ARM (#165)
> [ 50%] No patch step for 'hpp_headers'
> [ 62%] Performing configure step for 'hpp_headers'
> -- The C compiler identification is GNU 9.3.0
> -- The CXX compiler identification is GNU 9.3.0
> -- Detecting C compiler ABI info
> -- Detecting C compiler ABI info - done
> -- Check for working C compiler: /home/thomas/projets/buildroot/output/host/bin/aarch64-linux-gcc - 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: /home/thomas/projets/buildroot/output/host/bin/aarch64-linux-g++ - skipped
> -- Detecting CXX compile features
> -- Detecting CXX compile features - done
> -- Configuring done
> -- Generating done
> -- Build files have been written to: /home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers-build
> [ 75%] Performing build step for 'hpp_headers'
> gmake[4]: Entering directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers-build'
> gmake[4]: Leaving directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers-build'
> [ 87%] Performing install step for 'hpp_headers'
> gmake[4]: Entering directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers-build'
> Install the project...
> -- Install configuration: "Release"
> -- Installing: /home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp_install/include/CL
> -- Installing: /home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp_install/include/CL/cl2.hpp
> -- Installing: /home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp_install/include/CL/opencl.hpp
> gmake[4]: Leaving directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers-build'
> [100%] Completed 'hpp_headers'
> gmake[3]: Leaving directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build'
> [100%] Built target hpp_headers
> gmake[2]: Leaving directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build'
> gmake[1]: Leaving directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build'
> -- Selected OpenCL includes from /home/thomas/projets/buildroot/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/include;/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp_install/include
> -- Selected OpenCL lib /home/thomas/projets/buildroot/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/libOpenCL.so
> -- Configuring done
> -- Generating done
> CMake Warning:
>   Manually-specified variables were not used by the project:
>
>     BUILD_DOC
>     BUILD_DOCS
>     BUILD_EXAMPLE
>     BUILD_EXAMPLES
>     BUILD_TEST
>     BUILD_TESTING
>     BUILD_TESTS
>
>
> -- Build files have been written to: /home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5
>
> Also, while note related to clpeak, I did try to build this
> configuration (which uses the NXP OpenCL provider):
>
> BR2_aarch64=y
> BR2_TOOLCHAIN_EXTERNAL=y
> BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
> BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y
> BR2_INIT_NONE=y
> BR2_SYSTEM_BIN_SH_NONE=y
> # BR2_PACKAGE_BUSYBOX is not set
> BR2_PACKAGE_CLPEAK=y
> BR2_PACKAGE_FREESCALE_IMX=y
> BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8=y
> BR2_PACKAGE_IMX_GPU_VIV=y
> # BR2_TARGET_ROOTFS_TAR is not set
>
> and it fails with:
>
> /home/thomas/projets/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/aarch64-buildroot-linux-gnu/9.3.0/../../../../aarch64-buildroot-linux-gnu/bin/ld: /home/thomas/projets/buildroot/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib64/libGAL.so: undefined reference to `stat@GLIBC_2.33'
>
> And indeed the C library in this toolchain is glibc 2.31. So this means
> that the libGAL library shipped by NXP in imx-gpu-viv will only work
> with glibc >= 2.33.
Good catch again. This is quite a bummer. I will look into that when
time allows.

>
> Best regards,
>
> Thomas
> --
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
thanks
Gilles.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Buildroot] [PATCH] package/clpeak: new package
  2022-01-16  8:50   ` Gilles Talis
@ 2022-01-16 12:10     ` Arnout Vandecappelle
  2022-01-16 12:40       ` Gilles Talis
  0 siblings, 1 reply; 5+ messages in thread
From: Arnout Vandecappelle @ 2022-01-16 12:10 UTC (permalink / raw)
  To: Gilles Talis, Thomas Petazzoni; +Cc: buildroot



On 16/01/2022 09:50, Gilles Talis wrote:
> Hi Thomas,
> 
> thanks for the review. Somehow, I missed this email and just stumbled
> across it now.
> 
> Le jeu. 30 déc. 2021 à 18:00, Thomas Petazzoni
> <thomas.petazzoni@bootlin.com> a écrit :
>>
>> Hello Gilles,
>>
>> On Sun, 24 Oct 2021 13:36:54 +0200
>> Gilles Talis <gilles.talis@gmail.com> wrote:
>>
>>> clpeak is a tool that profiles OpenCL devices to find
>>> their peak capacities
>>>
>>> Signed-off-by: Gilles Talis <gilles.talis@gmail.com>
>>> ---
>>>   DEVELOPERS                 |  1 +
>>>   package/Config.in          |  1 +
>>>   package/clpeak/Config.in   | 14 ++++++++++++++
>>>   package/clpeak/clpeak.hash |  3 +++
>>>   package/clpeak/clpeak.mk   | 13 +++++++++++++
>>>   5 files changed, 32 insertions(+)
>>>   create mode 100644 package/clpeak/Config.in
>>>   create mode 100644 package/clpeak/clpeak.hash
>>>   create mode 100644 package/clpeak/clpeak.mk
>>
>> Thanks for this package submission! Unfortunately, I'm afraid there is
>> an issue: it downloads stuff during the configure step. See below:
> Good catch! It seems like clpeak has a hidden dependency that I missed.
> Whilst I am here, one question: how do we deal with packages that have
> git submodules dependencies? Is it OK to let the download process
> download these dependencies? Even if the dependencies are available
> buildroot packages?

  We prefer to unbundle dependencies (i.e., use the buildroot package rather 
than the submodule) if that is possible. However, some projects make that really 
hard (like chromium...) so it's not a strict requirement, more a best effort thing.

  Regards,
  Arnout

> 
>>
>>>>> clpeak 0777205be1d5681d5a76d46ec94588544e8462a5 Configuring
>> ...
>> -- The C compiler identification is GNU 9.3.0
>> -- The CXX compiler identification is GNU 9.3.0
>> -- Detecting C compiler ABI info
>> -- Detecting C compiler ABI info - done
>> -- Check for working C compiler: /home/thomas/projets/buildroot/output/host/bin/aarch64-linux-gcc - 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: /home/thomas/projets/buildroot/output/host/bin/aarch64-linux-g++ - skipped
>> -- Detecting CXX compile features
>> -- Detecting CXX compile features - done
>> -- Looking for CL_VERSION_2_2
>> -- Looking for CL_VERSION_2_2 - found
>> -- Found OpenCL: /home/thomas/projets/buildroot/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/libOpenCL.so (found version "2.2")
>> CMake Warning (dev) in CMakeLists.txt:
>>    No project() command is present.  The top-level CMakeLists.txt file must
>>    contain a literal, direct call to the project() command.  Add a line of
>>    code such as
>>
>>      project(ProjectName)
>>
>>    near the top of the file, but after cmake_minimum_required().
>>
>>    CMake is pretending there is a "project(Project)" command on the first
>>    line.
>> This warning is for project developers.  Use -Wno-dev to suppress it.
>>
>> -- The C compiler identification is GNU 9.3.0
>> -- The CXX compiler identification is GNU 9.3.0
>> -- Detecting C compiler ABI info
>> -- Detecting C compiler ABI info - done
>> -- Check for working C compiler: /home/thomas/projets/buildroot/output/host/bin/aarch64-linux-gcc - 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: /home/thomas/projets/buildroot/output/host/bin/aarch64-linux-g++ - skipped
>> -- Detecting CXX compile features
>> -- Detecting CXX compile features - done
>> -- Configuring done
>> -- Generating done
>> -- Build files have been written to: /home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build
>> gmake[1]: Entering directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build'
>> gmake[2]: Entering directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build'
>> gmake[3]: Entering directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build'
>> gmake[3]: Leaving directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build'
>> gmake[3]: Entering directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build'
>> [ 12%] Creating directories for 'hpp_headers'
>> [ 25%] Performing download step (git clone) for 'hpp_headers'
>> Cloning into 'hpp_headers'...
>> remote: Enumerating objects: 558, done.
>> remote: Counting objects: 100% (558/558), done.
>> remote: Compressing objects: 100% (396/396), done.
>> remote: Total 558 (delta 324), reused 355 (delta 155), pack-reused 0
>> Receiving objects: 100% (558/558), 762.72 KiB | 5.45 MiB/s, done.
>> Resolving deltas: 100% (324/324), done.
>> Already on 'master'
>> Your branch is up to date with 'origin/master'.
>> Submodule 'external/CMock' (https://github.com/ThrowTheSwitch/CMock) registered for path 'external/CMock'
>> Submodule 'external/Unity' (https://github.com/ThrowTheSwitch/Unity) registered for path 'external/Unity'
>> Cloning into '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers/external/CMock'...
>> Cloning into '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers/external/Unity'...
>> Submodule path 'external/CMock': checked out '7cc41ddfdd07dc5eb8359d278f439f14031d64ad'
>> Submodule 'vendor/c_exception' (https://github.com/throwtheswitch/cexception.git) registered for path 'external/CMock/vendor/c_exception'
>> Submodule 'vendor/unity' (https://github.com/throwtheswitch/unity.git) registered for path 'external/CMock/vendor/unity'
>> Cloning into '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers/external/CMock/vendor/c_exception'...
>> Cloning into '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers/external/CMock/vendor/unity'...
>> Submodule path 'external/CMock/vendor/c_exception': checked out 'dce9e8b26f2179439002e02d691429e81a32b6c0'
>> Submodule 'vendor/unity' (https://github.com/throwtheswitch/unity.git) registered for path 'external/CMock/vendor/c_exception/vendor/unity'
>> Cloning into '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers/external/CMock/vendor/c_exception/vendor/unity'...
>> Submodule path 'external/CMock/vendor/c_exception/vendor/unity': checked out '2c7629a0ae90ffe991b5fd08e4db8672f72ed64c'
>> Submodule path 'external/CMock/vendor/unity': checked out '031f3bbe45f8adf504ca3d13e6f093869920b091'
>> Submodule path 'external/Unity': checked out '7d2bf62b7e6afaf38153041a9d53c21aeeca9a25'
>> [ 37%] Performing update step for 'hpp_headers'
>> HEAD is now at 1df82b9 Add param traits for CL_DEVICE_SUPPORTED_REGISTER_ALLOCATIONS_ARM (#165)
>> [ 50%] No patch step for 'hpp_headers'
>> [ 62%] Performing configure step for 'hpp_headers'
>> -- The C compiler identification is GNU 9.3.0
>> -- The CXX compiler identification is GNU 9.3.0
>> -- Detecting C compiler ABI info
>> -- Detecting C compiler ABI info - done
>> -- Check for working C compiler: /home/thomas/projets/buildroot/output/host/bin/aarch64-linux-gcc - 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: /home/thomas/projets/buildroot/output/host/bin/aarch64-linux-g++ - skipped
>> -- Detecting CXX compile features
>> -- Detecting CXX compile features - done
>> -- Configuring done
>> -- Generating done
>> -- Build files have been written to: /home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers-build
>> [ 75%] Performing build step for 'hpp_headers'
>> gmake[4]: Entering directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers-build'
>> gmake[4]: Leaving directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers-build'
>> [ 87%] Performing install step for 'hpp_headers'
>> gmake[4]: Entering directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers-build'
>> Install the project...
>> -- Install configuration: "Release"
>> -- Installing: /home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp_install/include/CL
>> -- Installing: /home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp_install/include/CL/cl2.hpp
>> -- Installing: /home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp_install/include/CL/opencl.hpp
>> gmake[4]: Leaving directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers-build'
>> [100%] Completed 'hpp_headers'
>> gmake[3]: Leaving directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build'
>> [100%] Built target hpp_headers
>> gmake[2]: Leaving directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build'
>> gmake[1]: Leaving directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build'
>> -- Selected OpenCL includes from /home/thomas/projets/buildroot/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/include;/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp_install/include
>> -- Selected OpenCL lib /home/thomas/projets/buildroot/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/libOpenCL.so
>> -- Configuring done
>> -- Generating done
>> CMake Warning:
>>    Manually-specified variables were not used by the project:
>>
>>      BUILD_DOC
>>      BUILD_DOCS
>>      BUILD_EXAMPLE
>>      BUILD_EXAMPLES
>>      BUILD_TEST
>>      BUILD_TESTING
>>      BUILD_TESTS
>>
>>
>> -- Build files have been written to: /home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5
>>
>> Also, while note related to clpeak, I did try to build this
>> configuration (which uses the NXP OpenCL provider):
>>
>> BR2_aarch64=y
>> BR2_TOOLCHAIN_EXTERNAL=y
>> BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
>> BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y
>> BR2_INIT_NONE=y
>> BR2_SYSTEM_BIN_SH_NONE=y
>> # BR2_PACKAGE_BUSYBOX is not set
>> BR2_PACKAGE_CLPEAK=y
>> BR2_PACKAGE_FREESCALE_IMX=y
>> BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8=y
>> BR2_PACKAGE_IMX_GPU_VIV=y
>> # BR2_TARGET_ROOTFS_TAR is not set
>>
>> and it fails with:
>>
>> /home/thomas/projets/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/aarch64-buildroot-linux-gnu/9.3.0/../../../../aarch64-buildroot-linux-gnu/bin/ld: /home/thomas/projets/buildroot/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib64/libGAL.so: undefined reference to `stat@GLIBC_2.33'
>>
>> And indeed the C library in this toolchain is glibc 2.31. So this means
>> that the libGAL library shipped by NXP in imx-gpu-viv will only work
>> with glibc >= 2.33.
> Good catch again. This is quite a bummer. I will look into that when
> time allows.
> 
>>
>> Best regards,
>>
>> Thomas
>> --
>> Thomas Petazzoni, CTO, Bootlin
>> Embedded Linux and Kernel engineering
>> https://bootlin.com
> thanks
> Gilles.
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
> 
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Buildroot] [PATCH] package/clpeak: new package
  2022-01-16 12:10     ` Arnout Vandecappelle
@ 2022-01-16 12:40       ` Gilles Talis
  0 siblings, 0 replies; 5+ messages in thread
From: Gilles Talis @ 2022-01-16 12:40 UTC (permalink / raw)
  To: Arnout Vandecappelle; +Cc: Thomas Petazzoni, buildroot

Le dim. 16 janv. 2022 à 13:10, Arnout Vandecappelle <arnout@mind.be> a écrit :
>
>
>
> On 16/01/2022 09:50, Gilles Talis wrote:
> > Hi Thomas,
> >
> > thanks for the review. Somehow, I missed this email and just stumbled
> > across it now.
> >
> > Le jeu. 30 déc. 2021 à 18:00, Thomas Petazzoni
> > <thomas.petazzoni@bootlin.com> a écrit :
> >>
> >> Hello Gilles,
> >>
> >> On Sun, 24 Oct 2021 13:36:54 +0200
> >> Gilles Talis <gilles.talis@gmail.com> wrote:
> >>
> >>> clpeak is a tool that profiles OpenCL devices to find
> >>> their peak capacities
> >>>
> >>> Signed-off-by: Gilles Talis <gilles.talis@gmail.com>
> >>> ---
> >>>   DEVELOPERS                 |  1 +
> >>>   package/Config.in          |  1 +
> >>>   package/clpeak/Config.in   | 14 ++++++++++++++
> >>>   package/clpeak/clpeak.hash |  3 +++
> >>>   package/clpeak/clpeak.mk   | 13 +++++++++++++
> >>>   5 files changed, 32 insertions(+)
> >>>   create mode 100644 package/clpeak/Config.in
> >>>   create mode 100644 package/clpeak/clpeak.hash
> >>>   create mode 100644 package/clpeak/clpeak.mk
> >>
> >> Thanks for this package submission! Unfortunately, I'm afraid there is
> >> an issue: it downloads stuff during the configure step. See below:
> > Good catch! It seems like clpeak has a hidden dependency that I missed.
> > Whilst I am here, one question: how do we deal with packages that have
> > git submodules dependencies? Is it OK to let the download process
> > download these dependencies? Even if the dependencies are available
> > buildroot packages?
>
>   We prefer to unbundle dependencies (i.e., use the buildroot package rather
> than the submodule) if that is possible. However, some projects make that really
> hard (like chromium...) so it's not a strict requirement, more a best effort thing.
>
>   Regards,
>   Arnout
thanks for the clarification Arnout!
regards
Gilles.

>
> >
> >>
> >>>>> clpeak 0777205be1d5681d5a76d46ec94588544e8462a5 Configuring
> >> ...
> >> -- The C compiler identification is GNU 9.3.0
> >> -- The CXX compiler identification is GNU 9.3.0
> >> -- Detecting C compiler ABI info
> >> -- Detecting C compiler ABI info - done
> >> -- Check for working C compiler: /home/thomas/projets/buildroot/output/host/bin/aarch64-linux-gcc - 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: /home/thomas/projets/buildroot/output/host/bin/aarch64-linux-g++ - skipped
> >> -- Detecting CXX compile features
> >> -- Detecting CXX compile features - done
> >> -- Looking for CL_VERSION_2_2
> >> -- Looking for CL_VERSION_2_2 - found
> >> -- Found OpenCL: /home/thomas/projets/buildroot/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/libOpenCL.so (found version "2.2")
> >> CMake Warning (dev) in CMakeLists.txt:
> >>    No project() command is present.  The top-level CMakeLists.txt file must
> >>    contain a literal, direct call to the project() command.  Add a line of
> >>    code such as
> >>
> >>      project(ProjectName)
> >>
> >>    near the top of the file, but after cmake_minimum_required().
> >>
> >>    CMake is pretending there is a "project(Project)" command on the first
> >>    line.
> >> This warning is for project developers.  Use -Wno-dev to suppress it.
> >>
> >> -- The C compiler identification is GNU 9.3.0
> >> -- The CXX compiler identification is GNU 9.3.0
> >> -- Detecting C compiler ABI info
> >> -- Detecting C compiler ABI info - done
> >> -- Check for working C compiler: /home/thomas/projets/buildroot/output/host/bin/aarch64-linux-gcc - 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: /home/thomas/projets/buildroot/output/host/bin/aarch64-linux-g++ - skipped
> >> -- Detecting CXX compile features
> >> -- Detecting CXX compile features - done
> >> -- Configuring done
> >> -- Generating done
> >> -- Build files have been written to: /home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build
> >> gmake[1]: Entering directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build'
> >> gmake[2]: Entering directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build'
> >> gmake[3]: Entering directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build'
> >> gmake[3]: Leaving directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build'
> >> gmake[3]: Entering directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build'
> >> [ 12%] Creating directories for 'hpp_headers'
> >> [ 25%] Performing download step (git clone) for 'hpp_headers'
> >> Cloning into 'hpp_headers'...
> >> remote: Enumerating objects: 558, done.
> >> remote: Counting objects: 100% (558/558), done.
> >> remote: Compressing objects: 100% (396/396), done.
> >> remote: Total 558 (delta 324), reused 355 (delta 155), pack-reused 0
> >> Receiving objects: 100% (558/558), 762.72 KiB | 5.45 MiB/s, done.
> >> Resolving deltas: 100% (324/324), done.
> >> Already on 'master'
> >> Your branch is up to date with 'origin/master'.
> >> Submodule 'external/CMock' (https://github.com/ThrowTheSwitch/CMock) registered for path 'external/CMock'
> >> Submodule 'external/Unity' (https://github.com/ThrowTheSwitch/Unity) registered for path 'external/Unity'
> >> Cloning into '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers/external/CMock'...
> >> Cloning into '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers/external/Unity'...
> >> Submodule path 'external/CMock': checked out '7cc41ddfdd07dc5eb8359d278f439f14031d64ad'
> >> Submodule 'vendor/c_exception' (https://github.com/throwtheswitch/cexception.git) registered for path 'external/CMock/vendor/c_exception'
> >> Submodule 'vendor/unity' (https://github.com/throwtheswitch/unity.git) registered for path 'external/CMock/vendor/unity'
> >> Cloning into '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers/external/CMock/vendor/c_exception'...
> >> Cloning into '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers/external/CMock/vendor/unity'...
> >> Submodule path 'external/CMock/vendor/c_exception': checked out 'dce9e8b26f2179439002e02d691429e81a32b6c0'
> >> Submodule 'vendor/unity' (https://github.com/throwtheswitch/unity.git) registered for path 'external/CMock/vendor/c_exception/vendor/unity'
> >> Cloning into '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers/external/CMock/vendor/c_exception/vendor/unity'...
> >> Submodule path 'external/CMock/vendor/c_exception/vendor/unity': checked out '2c7629a0ae90ffe991b5fd08e4db8672f72ed64c'
> >> Submodule path 'external/CMock/vendor/unity': checked out '031f3bbe45f8adf504ca3d13e6f093869920b091'
> >> Submodule path 'external/Unity': checked out '7d2bf62b7e6afaf38153041a9d53c21aeeca9a25'
> >> [ 37%] Performing update step for 'hpp_headers'
> >> HEAD is now at 1df82b9 Add param traits for CL_DEVICE_SUPPORTED_REGISTER_ALLOCATIONS_ARM (#165)
> >> [ 50%] No patch step for 'hpp_headers'
> >> [ 62%] Performing configure step for 'hpp_headers'
> >> -- The C compiler identification is GNU 9.3.0
> >> -- The CXX compiler identification is GNU 9.3.0
> >> -- Detecting C compiler ABI info
> >> -- Detecting C compiler ABI info - done
> >> -- Check for working C compiler: /home/thomas/projets/buildroot/output/host/bin/aarch64-linux-gcc - 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: /home/thomas/projets/buildroot/output/host/bin/aarch64-linux-g++ - skipped
> >> -- Detecting CXX compile features
> >> -- Detecting CXX compile features - done
> >> -- Configuring done
> >> -- Generating done
> >> -- Build files have been written to: /home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers-build
> >> [ 75%] Performing build step for 'hpp_headers'
> >> gmake[4]: Entering directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers-build'
> >> gmake[4]: Leaving directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers-build'
> >> [ 87%] Performing install step for 'hpp_headers'
> >> gmake[4]: Entering directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers-build'
> >> Install the project...
> >> -- Install configuration: "Release"
> >> -- Installing: /home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp_install/include/CL
> >> -- Installing: /home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp_install/include/CL/cl2.hpp
> >> -- Installing: /home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp_install/include/CL/opencl.hpp
> >> gmake[4]: Leaving directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build/hpp/src/hpp_headers-build'
> >> [100%] Completed 'hpp_headers'
> >> gmake[3]: Leaving directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build'
> >> [100%] Built target hpp_headers
> >> gmake[2]: Leaving directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build'
> >> gmake[1]: Leaving directory '/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp/build'
> >> -- Selected OpenCL includes from /home/thomas/projets/buildroot/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/include;/home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5/clhpp_install/include
> >> -- Selected OpenCL lib /home/thomas/projets/buildroot/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/libOpenCL.so
> >> -- Configuring done
> >> -- Generating done
> >> CMake Warning:
> >>    Manually-specified variables were not used by the project:
> >>
> >>      BUILD_DOC
> >>      BUILD_DOCS
> >>      BUILD_EXAMPLE
> >>      BUILD_EXAMPLES
> >>      BUILD_TEST
> >>      BUILD_TESTING
> >>      BUILD_TESTS
> >>
> >>
> >> -- Build files have been written to: /home/thomas/projets/buildroot/output/build/clpeak-0777205be1d5681d5a76d46ec94588544e8462a5
> >>
> >> Also, while note related to clpeak, I did try to build this
> >> configuration (which uses the NXP OpenCL provider):
> >>
> >> BR2_aarch64=y
> >> BR2_TOOLCHAIN_EXTERNAL=y
> >> BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
> >> BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y
> >> BR2_INIT_NONE=y
> >> BR2_SYSTEM_BIN_SH_NONE=y
> >> # BR2_PACKAGE_BUSYBOX is not set
> >> BR2_PACKAGE_CLPEAK=y
> >> BR2_PACKAGE_FREESCALE_IMX=y
> >> BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8=y
> >> BR2_PACKAGE_IMX_GPU_VIV=y
> >> # BR2_TARGET_ROOTFS_TAR is not set
> >>
> >> and it fails with:
> >>
> >> /home/thomas/projets/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/aarch64-buildroot-linux-gnu/9.3.0/../../../../aarch64-buildroot-linux-gnu/bin/ld: /home/thomas/projets/buildroot/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib64/libGAL.so: undefined reference to `stat@GLIBC_2.33'
> >>
> >> And indeed the C library in this toolchain is glibc 2.31. So this means
> >> that the libGAL library shipped by NXP in imx-gpu-viv will only work
> >> with glibc >= 2.33.
> > Good catch again. This is quite a bummer. I will look into that when
> > time allows.
> >
> >>
> >> Best regards,
> >>
> >> Thomas
> >> --
> >> Thomas Petazzoni, CTO, Bootlin
> >> Embedded Linux and Kernel engineering
> >> https://bootlin.com
> > thanks
> > Gilles.
> > _______________________________________________
> > buildroot mailing list
> > buildroot@buildroot.org
> > https://lists.buildroot.org/mailman/listinfo/buildroot
> >
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-01-16 12:41 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-24 11:36 [Buildroot] [PATCH] package/clpeak: new package Gilles Talis
2021-12-30 17:00 ` Thomas Petazzoni
2022-01-16  8:50   ` Gilles Talis
2022-01-16 12:10     ` Arnout Vandecappelle
2022-01-16 12:40       ` Gilles Talis

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.