All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] package/optee-client: depends on thread support
@ 2019-03-07  9:29 Etienne Carriere
  2019-03-07  9:35 ` Baruch Siach
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Etienne Carriere @ 2019-03-07  9:29 UTC (permalink / raw)
  To: buildroot

BR2_PACKAGE_OPTEE_CLIENT depends on BR2_TOOLCHAIN_HAS_THREADS.
Library teec uses pthread support to protect clients state
management. This change declares this dependency in the package.

Fixes [1] that set an toolchain without thread support and failed
to build with trace:

  CMake Error at /home/buildroot/autobuild/run/instance-1/output/host/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
    Could NOT find Threads (missing: Threads_FOUND)
  Call Stack (most recent call first):
    /home/buildroot/autobuild/run/instance-1/output/host/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:377 (_FPHSA_FAILURE_MESSAGE)
    /home/buildroot/autobuild/run/instance-1/output/host/share/cmake-3.8/Modules/FindThreads.cmake:212 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
    libteec/CMakeLists.txt:8 (find_package)

[1] https://autobuild.buildroot.net/results/ed6ffe2197da4f3a970bd3c5522291236396cc8e

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
---
 package/optee-client/Config.in | 1 +
 1 file changed, 1 insertion(+)

diff --git a/package/optee-client/Config.in b/package/optee-client/Config.in
index db0b7b7..1379201 100644
--- a/package/optee-client/Config.in
+++ b/package/optee-client/Config.in
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_OPTEE_CLIENT
 	bool "optee-client"
 	depends on !BR2_STATIC_LIBS
+	depends on BR2_TOOLCHAIN_HAS_THREADS
 	help
 	  Enable the OP-TEE client package that brings non-secure
 	  client application resources for OP-TEE support. OP-TEE
-- 
1.9.1

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

* [Buildroot] [PATCH] package/optee-client: depends on thread support
  2019-03-07  9:29 [Buildroot] [PATCH] package/optee-client: depends on thread support Etienne Carriere
@ 2019-03-07  9:35 ` Baruch Siach
  2019-03-07 10:02   ` Etienne Carriere
  2019-03-07 14:48 ` [Buildroot] [PATCH v2 1/4] " Etienne Carriere
  2019-03-07 15:45 ` [Buildroot] [PATCH v3] package/optee-*: packages depend " Etienne Carriere
  2 siblings, 1 reply; 13+ messages in thread
From: Baruch Siach @ 2019-03-07  9:35 UTC (permalink / raw)
  To: buildroot

Hi Etienne,

On Thu, Mar 07 2019, Etienne Carriere wrote:
> BR2_PACKAGE_OPTEE_CLIENT depends on BR2_TOOLCHAIN_HAS_THREADS.
> Library teec uses pthread support to protect clients state
> management. This change declares this dependency in the package.
>
> Fixes [1] that set an toolchain without thread support and failed
> to build with trace:
>
>   CMake Error at /home/buildroot/autobuild/run/instance-1/output/host/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
>     Could NOT find Threads (missing: Threads_FOUND)
>   Call Stack (most recent call first):
>     /home/buildroot/autobuild/run/instance-1/output/host/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:377 (_FPHSA_FAILURE_MESSAGE)
>     /home/buildroot/autobuild/run/instance-1/output/host/share/cmake-3.8/Modules/FindThreads.cmake:212 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
>     libteec/CMakeLists.txt:8 (find_package)
>
> [1] https://autobuild.buildroot.net/results/ed6ffe2197da4f3a970bd3c5522291236396cc8e
>
> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
> ---
>  package/optee-client/Config.in | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/package/optee-client/Config.in b/package/optee-client/Config.in
> index db0b7b7..1379201 100644
> --- a/package/optee-client/Config.in
> +++ b/package/optee-client/Config.in
> @@ -1,6 +1,7 @@
>  config BR2_PACKAGE_OPTEE_CLIENT
>  	bool "optee-client"
>  	depends on !BR2_STATIC_LIBS
> +	depends on BR2_TOOLCHAIN_HAS_THREADS

You need to propagate this added dependencies to packages that select
optee-client recursively. These are currently optee-test and
optee-benchmark.

You should also update the dependencies commit below, and in all other
packages you update.

baruch

>  	help
>  	  Enable the OP-TEE client package that brings non-secure
>  	  client application resources for OP-TEE support. OP-TEE

--
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -

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

* [Buildroot] [PATCH] package/optee-client: depends on thread support
  2019-03-07  9:35 ` Baruch Siach
@ 2019-03-07 10:02   ` Etienne Carriere
  0 siblings, 0 replies; 13+ messages in thread
From: Etienne Carriere @ 2019-03-07 10:02 UTC (permalink / raw)
  To: buildroot

Hello Baruch,


On Thu, 7 Mar 2019 at 10:35, Baruch Siach <baruch@tkos.co.il> wrote:
>
> Hi Etienne,
>
> On Thu, Mar 07 2019, Etienne Carriere wrote:
> > BR2_PACKAGE_OPTEE_CLIENT depends on BR2_TOOLCHAIN_HAS_THREADS.
> > Library teec uses pthread support to protect clients state
> > management. This change declares this dependency in the package.
> >
> > Fixes [1] that set an toolchain without thread support and failed
> > to build with trace:
> >
> >   CMake Error at /home/buildroot/autobuild/run/instance-1/output/host/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
> >     Could NOT find Threads (missing: Threads_FOUND)
> >   Call Stack (most recent call first):
> >     /home/buildroot/autobuild/run/instance-1/output/host/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:377 (_FPHSA_FAILURE_MESSAGE)
> >     /home/buildroot/autobuild/run/instance-1/output/host/share/cmake-3.8/Modules/FindThreads.cmake:212 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
> >     libteec/CMakeLists.txt:8 (find_package)
> >
> > [1] https://autobuild.buildroot.net/results/ed6ffe2197da4f3a970bd3c5522291236396cc8e
> >
> > Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
> > ---
> >  package/optee-client/Config.in | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/package/optee-client/Config.in b/package/optee-client/Config.in
> > index db0b7b7..1379201 100644
> > --- a/package/optee-client/Config.in
> > +++ b/package/optee-client/Config.in
> > @@ -1,6 +1,7 @@
> >  config BR2_PACKAGE_OPTEE_CLIENT
> >       bool "optee-client"
> >       depends on !BR2_STATIC_LIBS
> > +     depends on BR2_TOOLCHAIN_HAS_THREADS
>
> You need to propagate this added dependencies to packages that select
> optee-client recursively. These are currently optee-test and
> optee-benchmark.
>
> You should also update the dependencies commit below, and in all other
> packages you update.

Ok thanks a lot, I will send a v2 series.

etienne

>
> baruch
>
> >       help
> >         Enable the OP-TEE client package that brings non-secure
> >         client application resources for OP-TEE support. OP-TEE
>
> --
>      http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
> =}------------------------------------------------ooO--U--Ooo------------{=
>    - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -

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

* [Buildroot] [PATCH v2 1/4] package/optee-client: depends on thread support
  2019-03-07  9:29 [Buildroot] [PATCH] package/optee-client: depends on thread support Etienne Carriere
  2019-03-07  9:35 ` Baruch Siach
@ 2019-03-07 14:48 ` Etienne Carriere
  2019-03-07 14:48   ` [Buildroot] [PATCH v2 2/4] package/optee-benchmark: thread dependency from optee-client Etienne Carriere
                     ` (3 more replies)
  2019-03-07 15:45 ` [Buildroot] [PATCH v3] package/optee-*: packages depend " Etienne Carriere
  2 siblings, 4 replies; 13+ messages in thread
From: Etienne Carriere @ 2019-03-07 14:48 UTC (permalink / raw)
  To: buildroot

BR2_PACKAGE_OPTEE_CLIENT depends on BR2_TOOLCHAIN_HAS_THREADS.
Library teec uses pthread support to protect clients state
management. This change declares this dependency in the package.

Fixes [1] and [2] where config selected an toolchain without thread
support and build failed with trace like:

  CMake Error at /home/buildroot/autobuild/run/instance-1/output/host/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
    Could NOT find Threads (missing: Threads_FOUND)
  Call Stack (most recent call first):
    /home/buildroot/autobuild/run/instance-1/output/host/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:377 (_FPHSA_FAILURE_MESSAGE)
    /home/buildroot/autobuild/run/instance-1/output/host/share/cmake-3.8/Modules/FindThreads.cmake:212 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
    libteec/CMakeLists.txt:8 (find_package)

[1] http://autobuild.buildroot.net/results/ed6ffe2197da4f3a970bd3c5522291236396cc8e
[2] http://autobuild.buildroot.net/results/406f90048db097580b626ef889823132f8676ba1

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
---
Changes v1 -> v2:
  - No change. v2 appends changes to this change to propagate the optee-client
    dependency on threads to packages dependent on optee-client.

---
 package/optee-client/Config.in | 1 +
 1 file changed, 1 insertion(+)

diff --git a/package/optee-client/Config.in b/package/optee-client/Config.in
index db0b7b7..1379201 100644
--- a/package/optee-client/Config.in
+++ b/package/optee-client/Config.in
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_OPTEE_CLIENT
 	bool "optee-client"
 	depends on !BR2_STATIC_LIBS
+	depends on BR2_TOOLCHAIN_HAS_THREADS
 	help
 	  Enable the OP-TEE client package that brings non-secure
 	  client application resources for OP-TEE support. OP-TEE
-- 
1.9.1

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

* [Buildroot] [PATCH v2 2/4] package/optee-benchmark: thread dependency from optee-client
  2019-03-07 14:48 ` [Buildroot] [PATCH v2 1/4] " Etienne Carriere
@ 2019-03-07 14:48   ` Etienne Carriere
  2019-03-07 14:48   ` [Buildroot] [PATCH v2 3/4] package/optee-examples: " Etienne Carriere
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 13+ messages in thread
From: Etienne Carriere @ 2019-03-07 14:48 UTC (permalink / raw)
  To: buildroot

Propagate dependency on BR2_TOOLCHAIN_HAS_THREADS inherited from
optee-client this package depends on.

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
---
Changes v1 -> v2:
  - New patch in the series. v2 propagates the optee-client dependency on threads
    to packages dependent on optee-client.

---
 package/optee-benchmark/Config.in | 1 +
 1 file changed, 1 insertion(+)

diff --git a/package/optee-benchmark/Config.in b/package/optee-benchmark/Config.in
index 0e36549..6948e17 100644
--- a/package/optee-benchmark/Config.in
+++ b/package/optee-benchmark/Config.in
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_OPTEE_BENCHMARK
 	bool "optee-benchmark"
 	depends on !BR2_STATIC_LIBS # optee-client
+	depends on BR2_TOOLCHAIN_HAS_THREADS # optee-client
 	select BR2_PACKAGE_OPTEE_CLIENT
 	select BR2_PACKAGE_LIBYAML
 	help
-- 
1.9.1

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

* [Buildroot] [PATCH v2 3/4] package/optee-examples: thread dependency from optee-client
  2019-03-07 14:48 ` [Buildroot] [PATCH v2 1/4] " Etienne Carriere
  2019-03-07 14:48   ` [Buildroot] [PATCH v2 2/4] package/optee-benchmark: thread dependency from optee-client Etienne Carriere
@ 2019-03-07 14:48   ` Etienne Carriere
  2019-03-07 14:48   ` [Buildroot] [PATCH v2 4/4] package/optee-test: " Etienne Carriere
  2019-03-07 15:10   ` [Buildroot] [PATCH v2 1/4] package/optee-client: depends on thread support Baruch Siach
  3 siblings, 0 replies; 13+ messages in thread
From: Etienne Carriere @ 2019-03-07 14:48 UTC (permalink / raw)
  To: buildroot

Propagate dependency on BR2_TOOLCHAIN_HAS_THREADS inherited from
optee-client this package depends on.

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
---
Changes v1 -> v2:
  - New patch in the series. v2 propagates the optee-client dependency on threads
    to packages dependent on optee-client.

---
 package/optee-examples/Config.in | 1 +
 1 file changed, 1 insertion(+)

diff --git a/package/optee-examples/Config.in b/package/optee-examples/Config.in
index 479f920..904c36c 100644
--- a/package/optee-examples/Config.in
+++ b/package/optee-examples/Config.in
@@ -2,6 +2,7 @@ config BR2_PACKAGE_OPTEE_EXAMPLES
 	bool "optee-examples"
 	depends on BR2_TARGET_OPTEE_OS
 	depends on !BR2_STATIC_LIBS # optee-client
+	depends on BR2_TOOLCHAIN_HAS_THREADS # optee-client
 	select BR2_PACKAGE_OPTEE_CLIENT
 	select BR2_TARGET_OPTEE_OS_SDK
 	help
-- 
1.9.1

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

* [Buildroot] [PATCH v2 4/4] package/optee-test: thread dependency from optee-client
  2019-03-07 14:48 ` [Buildroot] [PATCH v2 1/4] " Etienne Carriere
  2019-03-07 14:48   ` [Buildroot] [PATCH v2 2/4] package/optee-benchmark: thread dependency from optee-client Etienne Carriere
  2019-03-07 14:48   ` [Buildroot] [PATCH v2 3/4] package/optee-examples: " Etienne Carriere
@ 2019-03-07 14:48   ` Etienne Carriere
  2019-03-07 15:10   ` [Buildroot] [PATCH v2 1/4] package/optee-client: depends on thread support Baruch Siach
  3 siblings, 0 replies; 13+ messages in thread
From: Etienne Carriere @ 2019-03-07 14:48 UTC (permalink / raw)
  To: buildroot

Propagate dependency on BR2_TOOLCHAIN_HAS_THREADS inherited from
optee-client this package depends on.

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
---
Changes v1 -> v2:
  - New patch in the series. v2 propagates the optee-client dependency on threads
    to packages dependent on optee-client.

---
 package/optee-test/Config.in | 1 +
 1 file changed, 1 insertion(+)

diff --git a/package/optee-test/Config.in b/package/optee-test/Config.in
index 575790b..46c4a1d 100644
--- a/package/optee-test/Config.in
+++ b/package/optee-test/Config.in
@@ -2,6 +2,7 @@ config BR2_PACKAGE_OPTEE_TEST
 	bool "optee-test"
 	depends on BR2_TARGET_OPTEE_OS
 	depends on !BR2_STATIC_LIBS # optee-client
+	depends on BR2_TOOLCHAIN_HAS_THREADS # optee-client
 	select BR2_PACKAGE_OPTEE_CLIENT
 	select BR2_TARGET_OPTEE_OS_SDK
 	help
-- 
1.9.1

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

* [Buildroot] [PATCH v2 1/4] package/optee-client: depends on thread support
  2019-03-07 14:48 ` [Buildroot] [PATCH v2 1/4] " Etienne Carriere
                     ` (2 preceding siblings ...)
  2019-03-07 14:48   ` [Buildroot] [PATCH v2 4/4] package/optee-test: " Etienne Carriere
@ 2019-03-07 15:10   ` Baruch Siach
  2019-03-07 15:30     ` Etienne Carriere
  3 siblings, 1 reply; 13+ messages in thread
From: Baruch Siach @ 2019-03-07 15:10 UTC (permalink / raw)
  To: buildroot

Hi Etienne,

On Thu, Mar 07 2019, Etienne Carriere wrote:

> BR2_PACKAGE_OPTEE_CLIENT depends on BR2_TOOLCHAIN_HAS_THREADS.
> Library teec uses pthread support to protect clients state
> management. This change declares this dependency in the package.
>
> Fixes [1] and [2] where config selected an toolchain without thread
> support and build failed with trace like:
>
>   CMake Error at /home/buildroot/autobuild/run/instance-1/output/host/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
>     Could NOT find Threads (missing: Threads_FOUND)
>   Call Stack (most recent call first):
>     /home/buildroot/autobuild/run/instance-1/output/host/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:377 (_FPHSA_FAILURE_MESSAGE)
>     /home/buildroot/autobuild/run/instance-1/output/host/share/cmake-3.8/Modules/FindThreads.cmake:212 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
>     libteec/CMakeLists.txt:8 (find_package)
>
> [1] http://autobuild.buildroot.net/results/ed6ffe2197da4f3a970bd3c5522291236396cc8e
> [2] http://autobuild.buildroot.net/results/406f90048db097580b626ef889823132f8676ba1
>
> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
> ---
> Changes v1 -> v2:
>   - No change. v2 appends changes to this change to propagate the optee-client
>     dependency on threads to packages dependent on optee-client.

All patches in this series should be squashed into a single
patch. Otherwise the build is broken between patch #1 and others. This
hurts the so called bisectability of git history.

In addition, this patch (and others) are missing update to dependencies
comments to account for the added dependency.

baruch

> ---
>  package/optee-client/Config.in | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/package/optee-client/Config.in b/package/optee-client/Config.in
> index db0b7b7..1379201 100644
> --- a/package/optee-client/Config.in
> +++ b/package/optee-client/Config.in
> @@ -1,6 +1,7 @@
>  config BR2_PACKAGE_OPTEE_CLIENT
>  	bool "optee-client"
>  	depends on !BR2_STATIC_LIBS
> +	depends on BR2_TOOLCHAIN_HAS_THREADS
>  	help
>  	  Enable the OP-TEE client package that brings non-secure
>  	  client application resources for OP-TEE support. OP-TEE

--
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -

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

* [Buildroot] [PATCH v2 1/4] package/optee-client: depends on thread support
  2019-03-07 15:10   ` [Buildroot] [PATCH v2 1/4] package/optee-client: depends on thread support Baruch Siach
@ 2019-03-07 15:30     ` Etienne Carriere
  0 siblings, 0 replies; 13+ messages in thread
From: Etienne Carriere @ 2019-03-07 15:30 UTC (permalink / raw)
  To: buildroot

On Thu, 7 Mar 2019 at 16:10, Baruch Siach <baruch@tkos.co.il> wrote:
>
> Hi Etienne,
>
> On Thu, Mar 07 2019, Etienne Carriere wrote:
>
> > BR2_PACKAGE_OPTEE_CLIENT depends on BR2_TOOLCHAIN_HAS_THREADS.
> > Library teec uses pthread support to protect clients state
> > management. This change declares this dependency in the package.
> >
> > Fixes [1] and [2] where config selected an toolchain without thread
> > support and build failed with trace like:
> >
> >   CMake Error at /home/buildroot/autobuild/run/instance-1/output/host/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
> >     Could NOT find Threads (missing: Threads_FOUND)
> >   Call Stack (most recent call first):
> >     /home/buildroot/autobuild/run/instance-1/output/host/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:377 (_FPHSA_FAILURE_MESSAGE)
> >     /home/buildroot/autobuild/run/instance-1/output/host/share/cmake-3.8/Modules/FindThreads.cmake:212 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
> >     libteec/CMakeLists.txt:8 (find_package)
> >
> > [1] http://autobuild.buildroot.net/results/ed6ffe2197da4f3a970bd3c5522291236396cc8e
> > [2] http://autobuild.buildroot.net/results/406f90048db097580b626ef889823132f8676ba1
> >
> > Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
> > ---
> > Changes v1 -> v2:
> >   - No change. v2 appends changes to this change to propagate the optee-client
> >     dependency on threads to packages dependent on optee-client.
>
> All patches in this series should be squashed into a single
> patch. Otherwise the build is broken between patch #1 and others. This
> hurts the so called bisectability of git history.

Ok. So I'll squash them.

>
> In addition, this patch (and others) are missing update to dependencies
> comments to account for the added dependency.

Oh yes! I forgot to update those comment.
Thanks.

By the way, this change will conflict with pending
http://patchwork.ozlabs.org/patch/1050302/ and its 3 related
companions.
I should maybe setup a series for the whole.

Thanks for the feedback.
Regards,
etienne

>
> baruch
>
> > ---
> >  package/optee-client/Config.in | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/package/optee-client/Config.in b/package/optee-client/Config.in
> > index db0b7b7..1379201 100644
> > --- a/package/optee-client/Config.in
> > +++ b/package/optee-client/Config.in
> > @@ -1,6 +1,7 @@
> >  config BR2_PACKAGE_OPTEE_CLIENT
> >       bool "optee-client"
> >       depends on !BR2_STATIC_LIBS
> > +     depends on BR2_TOOLCHAIN_HAS_THREADS
> >       help
> >         Enable the OP-TEE client package that brings non-secure
> >         client application resources for OP-TEE support. OP-TEE
>
> --
>      http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
> =}------------------------------------------------ooO--U--Ooo------------{=
>    - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -

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

* [Buildroot] [PATCH v3] package/optee-*: packages depend on thread support
  2019-03-07  9:29 [Buildroot] [PATCH] package/optee-client: depends on thread support Etienne Carriere
  2019-03-07  9:35 ` Baruch Siach
  2019-03-07 14:48 ` [Buildroot] [PATCH v2 1/4] " Etienne Carriere
@ 2019-03-07 15:45 ` Etienne Carriere
  2019-03-07 17:13   ` Baruch Siach
  2019-03-07 21:31   ` Thomas Petazzoni
  2 siblings, 2 replies; 13+ messages in thread
From: Etienne Carriere @ 2019-03-07 15:45 UTC (permalink / raw)
  To: buildroot

BR2_PACKAGE_OPTEE_CLIENT depends on BR2_TOOLCHAIN_HAS_THREADS.
Library teec uses pthread support to protect clients state
management.

This change declares this dependency in package optee-client and
updates dependent packages accordingly: optee-benchmark,
optee-client, optee-examples and optee-test.

Fixes [1] and [2] where config selected an toolchain without thread
support and build failed with trace like:

  CMake Error at /home/buildroot/autobuild/run/instance-1/output/host/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
    Could NOT find Threads (missing: Threads_FOUND)
  Call Stack (most recent call first):
    /home/buildroot/autobuild/run/instance-1/output/host/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:377 (_FPHSA_FAILURE_MESSAGE)
    /home/buildroot/autobuild/run/instance-1/output/host/share/cmake-3.8/Modules/FindThreads.cmake:212 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
    libteec/CMakeLists.txt:8 (find_package)

[1] http://autobuild.buildroot.net/results/ed6ffe2197da4f3a970bd3c5522291236396cc8e
[2] http://autobuild.buildroot.net/results/406f90048db097580b626ef889823132f8676ba1

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
---
Changes v2 -> v3:
  - Squash v2 series into a single patch.
  - Update config comment for unmet dependencies.

Changes v1 -> v2:
  - No change. v2 appends changes to this change to propagate the optee-client
    dependency on threads to packages dependent on optee-client.

---
 package/optee-benchmark/Config.in | 4 +++-
 package/optee-client/Config.in    | 4 +++-
 package/optee-examples/Config.in  | 4 +++-
 package/optee-test/Config.in      | 4 +++-
 4 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/package/optee-benchmark/Config.in b/package/optee-benchmark/Config.in
index 0e36549..0023ac6 100644
--- a/package/optee-benchmark/Config.in
+++ b/package/optee-benchmark/Config.in
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_OPTEE_BENCHMARK
 	bool "optee-benchmark"
 	depends on !BR2_STATIC_LIBS # optee-client
+	depends on BR2_TOOLCHAIN_HAS_THREADS # optee-client
 	select BR2_PACKAGE_OPTEE_CLIENT
 	select BR2_PACKAGE_LIBYAML
 	help
@@ -11,5 +12,6 @@ config BR2_PACKAGE_OPTEE_BENCHMARK
 
 	  http://github.com/linaro-swg/optee_benchmark
 
-comment "optee-benchmark needs a toolchain w/ dynamic library"
+comment "optee-benchmark needs a toolchain w/ dynamic library and threads"
 	depends on BR2_STATIC_LIBS
+	depends on !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/optee-client/Config.in b/package/optee-client/Config.in
index db0b7b7..3a8efb5 100644
--- a/package/optee-client/Config.in
+++ b/package/optee-client/Config.in
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_OPTEE_CLIENT
 	bool "optee-client"
 	depends on !BR2_STATIC_LIBS
+	depends on BR2_TOOLCHAIN_HAS_THREADS
 	help
 	  Enable the OP-TEE client package that brings non-secure
 	  client application resources for OP-TEE support. OP-TEE
@@ -13,5 +14,6 @@ config BR2_PACKAGE_OPTEE_CLIENT
 
 	  https://github.com/OP-TEE/optee_client
 
-comment "optee-client needs a toolchain w/ dynamic library"
+comment "optee-client needs a toolchain w/ dynamic library and threads"
 	depends on BR2_STATIC_LIBS
+	depends on !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/optee-examples/Config.in b/package/optee-examples/Config.in
index 479f920..2064d5d 100644
--- a/package/optee-examples/Config.in
+++ b/package/optee-examples/Config.in
@@ -2,6 +2,7 @@ config BR2_PACKAGE_OPTEE_EXAMPLES
 	bool "optee-examples"
 	depends on BR2_TARGET_OPTEE_OS
 	depends on !BR2_STATIC_LIBS # optee-client
+	depends on BR2_TOOLCHAIN_HAS_THREADS # optee-client
 	select BR2_PACKAGE_OPTEE_CLIENT
 	select BR2_TARGET_OPTEE_OS_SDK
 	help
@@ -18,6 +19,7 @@ config BR2_PACKAGE_OPTEE_EXAMPLES
 
 	  https://github.com/linaro-swg/optee_examples
 
-comment "optee-examples needs a toolchain w/ dynamic library"
+comment "optee-examples needs a toolchain w/ dynamic library and threads"
 	depends on BR2_TARGET_OPTEE_OS
 	depends on BR2_STATIC_LIBS
+	depends on !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/optee-test/Config.in b/package/optee-test/Config.in
index 575790b..2cd2dc8 100644
--- a/package/optee-test/Config.in
+++ b/package/optee-test/Config.in
@@ -2,6 +2,7 @@ config BR2_PACKAGE_OPTEE_TEST
 	bool "optee-test"
 	depends on BR2_TARGET_OPTEE_OS
 	depends on !BR2_STATIC_LIBS # optee-client
+	depends on BR2_TOOLCHAIN_HAS_THREADS # optee-client
 	select BR2_PACKAGE_OPTEE_CLIENT
 	select BR2_TARGET_OPTEE_OS_SDK
 	help
@@ -22,6 +23,7 @@ config BR2_PACKAGE_OPTEE_TEST
 
 	  http://github.com/OP-TEE/optee_test
 
-comment "optee-test needs a toolchain w/ dynamic library"
+comment "optee-test needs a toolchain w/ dynamic library and threads"
 	depends on BR2_TARGET_OPTEE_OS
 	depends on BR2_STATIC_LIBS
+	depends on !BR2_TOOLCHAIN_HAS_THREADS
-- 
1.9.1

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

* [Buildroot] [PATCH v3] package/optee-*: packages depend on thread support
  2019-03-07 15:45 ` [Buildroot] [PATCH v3] package/optee-*: packages depend " Etienne Carriere
@ 2019-03-07 17:13   ` Baruch Siach
  2019-03-07 17:22     ` Etienne Carriere
  2019-03-07 21:31   ` Thomas Petazzoni
  1 sibling, 1 reply; 13+ messages in thread
From: Baruch Siach @ 2019-03-07 17:13 UTC (permalink / raw)
  To: buildroot

Hi Etienne,

Almost there.

On Thu, Mar 07 2019, Etienne Carriere wrote:

> BR2_PACKAGE_OPTEE_CLIENT depends on BR2_TOOLCHAIN_HAS_THREADS.
> Library teec uses pthread support to protect clients state
> management.
>
> This change declares this dependency in package optee-client and
> updates dependent packages accordingly: optee-benchmark,
> optee-client, optee-examples and optee-test.
>
> Fixes [1] and [2] where config selected an toolchain without thread
> support and build failed with trace like:
>
>   CMake Error at /home/buildroot/autobuild/run/instance-1/output/host/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
>     Could NOT find Threads (missing: Threads_FOUND)
>   Call Stack (most recent call first):
>     /home/buildroot/autobuild/run/instance-1/output/host/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:377 (_FPHSA_FAILURE_MESSAGE)
>     /home/buildroot/autobuild/run/instance-1/output/host/share/cmake-3.8/Modules/FindThreads.cmake:212 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
>     libteec/CMakeLists.txt:8 (find_package)
>
> [1] http://autobuild.buildroot.net/results/ed6ffe2197da4f3a970bd3c5522291236396cc8e
> [2] http://autobuild.buildroot.net/results/406f90048db097580b626ef889823132f8676ba1
>
> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
> ---
> Changes v2 -> v3:
>   - Squash v2 series into a single patch.
>   - Update config comment for unmet dependencies.
>
> Changes v1 -> v2:
>   - No change. v2 appends changes to this change to propagate the optee-client
>     dependency on threads to packages dependent on optee-client.
>
> ---
>  package/optee-benchmark/Config.in | 4 +++-
>  package/optee-client/Config.in    | 4 +++-
>  package/optee-examples/Config.in  | 4 +++-
>  package/optee-test/Config.in      | 4 +++-
>  4 files changed, 12 insertions(+), 4 deletions(-)
>
> diff --git a/package/optee-benchmark/Config.in b/package/optee-benchmark/Config.in
> index 0e36549..0023ac6 100644
> --- a/package/optee-benchmark/Config.in
> +++ b/package/optee-benchmark/Config.in
> @@ -1,6 +1,7 @@
>  config BR2_PACKAGE_OPTEE_BENCHMARK
>  	bool "optee-benchmark"
>  	depends on !BR2_STATIC_LIBS # optee-client
> +	depends on BR2_TOOLCHAIN_HAS_THREADS # optee-client
>  	select BR2_PACKAGE_OPTEE_CLIENT
>  	select BR2_PACKAGE_LIBYAML
>  	help
> @@ -11,5 +12,6 @@ config BR2_PACKAGE_OPTEE_BENCHMARK
>
>  	  http://github.com/linaro-swg/optee_benchmark
>
> -comment "optee-benchmark needs a toolchain w/ dynamic library"
> +comment "optee-benchmark needs a toolchain w/ dynamic library and threads"
>  	depends on BR2_STATIC_LIBS
> +	depends on !BR2_TOOLCHAIN_HAS_THREADS

Multiple depends are ANDed. This is not what you want. We want to
display the comment when either condition is true. So you need to OR the
conditions like this:

  depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS

baruch

--
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -

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

* [Buildroot] [PATCH v3] package/optee-*: packages depend on thread support
  2019-03-07 17:13   ` Baruch Siach
@ 2019-03-07 17:22     ` Etienne Carriere
  0 siblings, 0 replies; 13+ messages in thread
From: Etienne Carriere @ 2019-03-07 17:22 UTC (permalink / raw)
  To: buildroot

On Thu, 7 Mar 2019 at 18:13, Baruch Siach <baruch@tkos.co.il> wrote:
>
> Hi Etienne,
>
> Almost there.
>
> On Thu, Mar 07 2019, Etienne Carriere wrote:
>
> > BR2_PACKAGE_OPTEE_CLIENT depends on BR2_TOOLCHAIN_HAS_THREADS.
> > Library teec uses pthread support to protect clients state
> > management.
> >
> > This change declares this dependency in package optee-client and
> > updates dependent packages accordingly: optee-benchmark,
> > optee-client, optee-examples and optee-test.
> >
> > Fixes [1] and [2] where config selected an toolchain without thread
> > support and build failed with trace like:
> >
> >   CMake Error at /home/buildroot/autobuild/run/instance-1/output/host/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
> >     Could NOT find Threads (missing: Threads_FOUND)
> >   Call Stack (most recent call first):
> >     /home/buildroot/autobuild/run/instance-1/output/host/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:377 (_FPHSA_FAILURE_MESSAGE)
> >     /home/buildroot/autobuild/run/instance-1/output/host/share/cmake-3.8/Modules/FindThreads.cmake:212 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
> >     libteec/CMakeLists.txt:8 (find_package)
> >
> > [1] http://autobuild.buildroot.net/results/ed6ffe2197da4f3a970bd3c5522291236396cc8e
> > [2] http://autobuild.buildroot.net/results/406f90048db097580b626ef889823132f8676ba1
> >
> > Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
> > ---
> > Changes v2 -> v3:
> >   - Squash v2 series into a single patch.
> >   - Update config comment for unmet dependencies.
> >
> > Changes v1 -> v2:
> >   - No change. v2 appends changes to this change to propagate the optee-client
> >     dependency on threads to packages dependent on optee-client.
> >
> > ---
> >  package/optee-benchmark/Config.in | 4 +++-
> >  package/optee-client/Config.in    | 4 +++-
> >  package/optee-examples/Config.in  | 4 +++-
> >  package/optee-test/Config.in      | 4 +++-
> >  4 files changed, 12 insertions(+), 4 deletions(-)
> >
> > diff --git a/package/optee-benchmark/Config.in b/package/optee-benchmark/Config.in
> > index 0e36549..0023ac6 100644
> > --- a/package/optee-benchmark/Config.in
> > +++ b/package/optee-benchmark/Config.in
> > @@ -1,6 +1,7 @@
> >  config BR2_PACKAGE_OPTEE_BENCHMARK
> >       bool "optee-benchmark"
> >       depends on !BR2_STATIC_LIBS # optee-client
> > +     depends on BR2_TOOLCHAIN_HAS_THREADS # optee-client
> >       select BR2_PACKAGE_OPTEE_CLIENT
> >       select BR2_PACKAGE_LIBYAML
> >       help
> > @@ -11,5 +12,6 @@ config BR2_PACKAGE_OPTEE_BENCHMARK
> >
> >         http://github.com/linaro-swg/optee_benchmark
> >
> > -comment "optee-benchmark needs a toolchain w/ dynamic library"
> > +comment "optee-benchmark needs a toolchain w/ dynamic library and threads"
> >       depends on BR2_STATIC_LIBS
> > +     depends on !BR2_TOOLCHAIN_HAS_THREADS
>
> Multiple depends are ANDed. This is not what you want. We want to
> display the comment when either condition is true. So you need to OR the
> conditions like this:
>
>   depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS
>

Damn', looks like i should have better test this PATCH v3.
Thanks. I'll send a v4.

etienne

> baruch
>
> --
>      http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
> =}------------------------------------------------ooO--U--Ooo------------{=
>    - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -

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

* [Buildroot] [PATCH v3] package/optee-*: packages depend on thread support
  2019-03-07 15:45 ` [Buildroot] [PATCH v3] package/optee-*: packages depend " Etienne Carriere
  2019-03-07 17:13   ` Baruch Siach
@ 2019-03-07 21:31   ` Thomas Petazzoni
  1 sibling, 0 replies; 13+ messages in thread
From: Thomas Petazzoni @ 2019-03-07 21:31 UTC (permalink / raw)
  To: buildroot

Hello Etienne,

On Thu,  7 Mar 2019 16:45:28 +0100
Etienne Carriere <etienne.carriere@linaro.org> wrote:

> BR2_PACKAGE_OPTEE_CLIENT depends on BR2_TOOLCHAIN_HAS_THREADS.
> Library teec uses pthread support to protect clients state
> management.
> 
> This change declares this dependency in package optee-client and
> updates dependent packages accordingly: optee-benchmark,
> optee-client, optee-examples and optee-test.
> 
> Fixes [1] and [2] where config selected an toolchain without thread
> support and build failed with trace like:
> 
>   CMake Error at /home/buildroot/autobuild/run/instance-1/output/host/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
>     Could NOT find Threads (missing: Threads_FOUND)
>   Call Stack (most recent call first):
>     /home/buildroot/autobuild/run/instance-1/output/host/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:377 (_FPHSA_FAILURE_MESSAGE)
>     /home/buildroot/autobuild/run/instance-1/output/host/share/cmake-3.8/Modules/FindThreads.cmake:212 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
>     libteec/CMakeLists.txt:8 (find_package)
> 
> [1] http://autobuild.buildroot.net/results/ed6ffe2197da4f3a970bd3c5522291236396cc8e
> [2] http://autobuild.buildroot.net/results/406f90048db097580b626ef889823132f8676ba1
> 
> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
> ---
> Changes v2 -> v3:
>   - Squash v2 series into a single patch.
>   - Update config comment for unmet dependencies.

Applied to master after fixing the dependencies of the Config.in
comment entries, as noticed by Baruch (thanks for the review!).

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

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

end of thread, other threads:[~2019-03-07 21:31 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-07  9:29 [Buildroot] [PATCH] package/optee-client: depends on thread support Etienne Carriere
2019-03-07  9:35 ` Baruch Siach
2019-03-07 10:02   ` Etienne Carriere
2019-03-07 14:48 ` [Buildroot] [PATCH v2 1/4] " Etienne Carriere
2019-03-07 14:48   ` [Buildroot] [PATCH v2 2/4] package/optee-benchmark: thread dependency from optee-client Etienne Carriere
2019-03-07 14:48   ` [Buildroot] [PATCH v2 3/4] package/optee-examples: " Etienne Carriere
2019-03-07 14:48   ` [Buildroot] [PATCH v2 4/4] package/optee-test: " Etienne Carriere
2019-03-07 15:10   ` [Buildroot] [PATCH v2 1/4] package/optee-client: depends on thread support Baruch Siach
2019-03-07 15:30     ` Etienne Carriere
2019-03-07 15:45 ` [Buildroot] [PATCH v3] package/optee-*: packages depend " Etienne Carriere
2019-03-07 17:13   ` Baruch Siach
2019-03-07 17:22     ` Etienne Carriere
2019-03-07 21:31   ` Thomas Petazzoni

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.