All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] package/qpid-proton: needs C++ and threads
@ 2022-05-21 20:43 Fabrice Fontaine
  2022-05-23 13:19 ` Luca Ceresoli
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Fabrice Fontaine @ 2022-05-21 20:43 UTC (permalink / raw)
  To: buildroot; +Cc: Luca Ceresoli, Fabrice Fontaine

qpid-proton needs C++ (and so threads due to proactor) to avoid the
following build failure:

CMake Error at /nvmedata/autobuild/instance-3/output-1/host/share/cmake-3.18/Modules/CMakeTestCXXCompiler.cmake:59 (message):
  The C++ compiler

    "/usr/bin/c++"

  is not able to compile a simple test program.

C++ check can't easily be removed:
https://github.com/apache/qpid-proton/pull/366

Fixes:
 - http://autobuild.buildroot.org/results/76f8deccc9c4eee29eddf42586cc28e96eec0827

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 package/qpid-proton/Config.in      |  7 +++++--
 package/qpid-proton/qpid-proton.mk | 15 +--------------
 2 files changed, 6 insertions(+), 16 deletions(-)

diff --git a/package/qpid-proton/Config.in b/package/qpid-proton/Config.in
index b49a2afa7e..adddc6eca0 100644
--- a/package/qpid-proton/Config.in
+++ b/package/qpid-proton/Config.in
@@ -1,6 +1,8 @@
 config BR2_PACKAGE_QPID_PROTON
 	bool "qpid-proton"
+	depends on BR2_INSTALL_LIBSTDCPP
 	depends on !BR2_STATIC_LIBS # build a shared library
+	depends on BR2_TOOLCHAIN_HAS_THREADS
 	select BR2_PACKAGE_UTIL_LINUX
 	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
 	help
@@ -13,5 +15,6 @@ config BR2_PACKAGE_QPID_PROTON
 
 	  https://qpid.apache.org/proton/
 
-comment "qpid-proton needs a toolchain w/ dynamic library"
-	depends on BR2_STATIC_LIBS
+comment "qpid-proton needs a toolchain w/ C++, dynamic library, threads"
+	depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \
+		!BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/qpid-proton/qpid-proton.mk b/package/qpid-proton/qpid-proton.mk
index 103cf9fd31..fae6ecc413 100644
--- a/package/qpid-proton/qpid-proton.mk
+++ b/package/qpid-proton/qpid-proton.mk
@@ -23,6 +23,7 @@ QPID_PROTON_DEPENDENCIES = \
 # go language binding is enabled when host-go is present
 # For now, disable all of them.
 QPID_PROTON_CONF_OPTS = \
+	-DBUILD_CPP=ON \
 	-DBUILD_GO=OFF \
 	-DBUILD_PYTHON=OFF \
 	-DBUILD_RUBY=OFF \
@@ -31,20 +32,6 @@ QPID_PROTON_CONF_OPTS = \
 	-DENABLE_WARNING_ERROR=OFF \
 	-DPYTHON_EXECUTABLE=$(HOST_DIR)/bin/python3
 
-# epoll proactor unconditionally uses pthread and cpp (C++) bindings
-# unconditionally use proactor
-ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
-ifeq ($(BR2_INSTALL_LIBSTDCPP),y)
-QPID_PROTON_CONF_OPTS += -DBUILD_CPP=ON
-else
-QPID_PROTON_CONF_OPTS += -DBUILD_CPP=OFF
-endif
-else
-QPID_PROTON_CONF_OPTS += \
-	-DBUILD_CPP=OFF \
-	-DPROACTOR=none
-endif
-
 ifeq ($(BR2_PACKAGE_JSONCPP),y)
 QPID_PROTON_DEPENDENCIES += jsoncpp
 QPID_PROTON_CONF_OPTS += -DENABLE_JSONCPP=ON
-- 
2.35.1

_______________________________________________
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 1/1] package/qpid-proton: needs C++ and threads
  2022-05-21 20:43 [Buildroot] [PATCH 1/1] package/qpid-proton: needs C++ and threads Fabrice Fontaine
@ 2022-05-23 13:19 ` Luca Ceresoli
  2022-06-04 14:52   ` Yann E. MORIN
  2022-06-04 14:49 ` Yann E. MORIN
  2022-06-07 15:44 ` Peter Korsgaard
  2 siblings, 1 reply; 5+ messages in thread
From: Luca Ceresoli @ 2022-05-23 13:19 UTC (permalink / raw)
  To: Fabrice Fontaine, buildroot

Hi Fabrice,

first, thanks for addressing this! It's been on my todo list for a long
time but never got the time do look into that.

On 21/05/22 22:43, Fabrice Fontaine wrote:
> qpid-proton needs C++ (and so threads due to proactor) to avoid the
> following build failure:
> 
> CMake Error at /nvmedata/autobuild/instance-3/output-1/host/share/cmake-3.18/Modules/CMakeTestCXXCompiler.cmake:59 (message):
>   The C++ compiler
> 
>     "/usr/bin/c++"
> 
>   is not able to compile a simple test program.
> 
> C++ check can't easily be removed:
> https://github.com/apache/qpid-proton/pull/366
> 
> Fixes:
>  - http://autobuild.buildroot.org/results/76f8deccc9c4eee29eddf42586cc28e96eec0827
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>

If upstream does not provide _working_ support for building without C++,
then I would not spend much time in trying to do so.

My only question is whether you tried to upgrade to the latest version
and see whether non-C++ builds are supported there. I hope this would be
a quick test. If you did that and still non-C++ builds fail:

Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net>

-- 
Luca
_______________________________________________
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 1/1] package/qpid-proton: needs C++ and threads
  2022-05-21 20:43 [Buildroot] [PATCH 1/1] package/qpid-proton: needs C++ and threads Fabrice Fontaine
  2022-05-23 13:19 ` Luca Ceresoli
@ 2022-06-04 14:49 ` Yann E. MORIN
  2022-06-07 15:44 ` Peter Korsgaard
  2 siblings, 0 replies; 5+ messages in thread
From: Yann E. MORIN @ 2022-06-04 14:49 UTC (permalink / raw)
  To: Fabrice Fontaine; +Cc: Luca Ceresoli, buildroot

Fabrice, All,

On 2022-05-21 22:43 +0200, Fabrice Fontaine spake thusly:
> qpid-proton needs C++ (and so threads due to proactor) to avoid the
> following build failure:
> 
> CMake Error at /nvmedata/autobuild/instance-3/output-1/host/share/cmake-3.18/Modules/CMakeTestCXXCompiler.cmake:59 (message):
>   The C++ compiler
> 
>     "/usr/bin/c++"
> 
>   is not able to compile a simple test program.
> 
> C++ check can't easily be removed:
> https://github.com/apache/qpid-proton/pull/366
> 
> Fixes:
>  - http://autobuild.buildroot.org/results/76f8deccc9c4eee29eddf42586cc28e96eec0827
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>

Applied to master, thanks.

Regards,
Yann E. MORIN.

> ---
>  package/qpid-proton/Config.in      |  7 +++++--
>  package/qpid-proton/qpid-proton.mk | 15 +--------------
>  2 files changed, 6 insertions(+), 16 deletions(-)
> 
> diff --git a/package/qpid-proton/Config.in b/package/qpid-proton/Config.in
> index b49a2afa7e..adddc6eca0 100644
> --- a/package/qpid-proton/Config.in
> +++ b/package/qpid-proton/Config.in
> @@ -1,6 +1,8 @@
>  config BR2_PACKAGE_QPID_PROTON
>  	bool "qpid-proton"
> +	depends on BR2_INSTALL_LIBSTDCPP
>  	depends on !BR2_STATIC_LIBS # build a shared library
> +	depends on BR2_TOOLCHAIN_HAS_THREADS
>  	select BR2_PACKAGE_UTIL_LINUX
>  	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
>  	help
> @@ -13,5 +15,6 @@ config BR2_PACKAGE_QPID_PROTON
>  
>  	  https://qpid.apache.org/proton/
>  
> -comment "qpid-proton needs a toolchain w/ dynamic library"
> -	depends on BR2_STATIC_LIBS
> +comment "qpid-proton needs a toolchain w/ C++, dynamic library, threads"
> +	depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \
> +		!BR2_TOOLCHAIN_HAS_THREADS
> diff --git a/package/qpid-proton/qpid-proton.mk b/package/qpid-proton/qpid-proton.mk
> index 103cf9fd31..fae6ecc413 100644
> --- a/package/qpid-proton/qpid-proton.mk
> +++ b/package/qpid-proton/qpid-proton.mk
> @@ -23,6 +23,7 @@ QPID_PROTON_DEPENDENCIES = \
>  # go language binding is enabled when host-go is present
>  # For now, disable all of them.
>  QPID_PROTON_CONF_OPTS = \
> +	-DBUILD_CPP=ON \
>  	-DBUILD_GO=OFF \
>  	-DBUILD_PYTHON=OFF \
>  	-DBUILD_RUBY=OFF \
> @@ -31,20 +32,6 @@ QPID_PROTON_CONF_OPTS = \
>  	-DENABLE_WARNING_ERROR=OFF \
>  	-DPYTHON_EXECUTABLE=$(HOST_DIR)/bin/python3
>  
> -# epoll proactor unconditionally uses pthread and cpp (C++) bindings
> -# unconditionally use proactor
> -ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
> -ifeq ($(BR2_INSTALL_LIBSTDCPP),y)
> -QPID_PROTON_CONF_OPTS += -DBUILD_CPP=ON
> -else
> -QPID_PROTON_CONF_OPTS += -DBUILD_CPP=OFF
> -endif
> -else
> -QPID_PROTON_CONF_OPTS += \
> -	-DBUILD_CPP=OFF \
> -	-DPROACTOR=none
> -endif
> -
>  ifeq ($(BR2_PACKAGE_JSONCPP),y)
>  QPID_PROTON_DEPENDENCIES += jsoncpp
>  QPID_PROTON_CONF_OPTS += -DENABLE_JSONCPP=ON
> -- 
> 2.35.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
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 1/1] package/qpid-proton: needs C++ and threads
  2022-05-23 13:19 ` Luca Ceresoli
@ 2022-06-04 14:52   ` Yann E. MORIN
  0 siblings, 0 replies; 5+ messages in thread
From: Yann E. MORIN @ 2022-06-04 14:52 UTC (permalink / raw)
  To: Luca Ceresoli; +Cc: Fabrice Fontaine, buildroot

Luca, All,

On 2022-05-23 15:19 +0200, Luca Ceresoli spake thusly:
> On 21/05/22 22:43, Fabrice Fontaine wrote:
> > qpid-proton needs C++ (and so threads due to proactor) to avoid the
> > following build failure:
[--SNIP--]
> If upstream does not provide _working_ support for building without C++,
> then I would not spend much time in trying to do so.

Yes, upstream jsut dismissed the issue by requiring C++:
    https://github.com/apache/qpid-proton/pull/366#issuecomment-1146334165

    This change won't work - you actually do need a C++ compiler to run
    the tests so the CMake build configuration is correct. So yes you
    actually do need to make a build dependency on c++.

I don't think they are correct in that statement, (i.e. testing for the
presence of a C++ compiler should not require a C++ compiler...), but
that's their call to not want to deal with the issue, so I applied
Fabrice's patch.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
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 1/1] package/qpid-proton: needs C++ and threads
  2022-05-21 20:43 [Buildroot] [PATCH 1/1] package/qpid-proton: needs C++ and threads Fabrice Fontaine
  2022-05-23 13:19 ` Luca Ceresoli
  2022-06-04 14:49 ` Yann E. MORIN
@ 2022-06-07 15:44 ` Peter Korsgaard
  2 siblings, 0 replies; 5+ messages in thread
From: Peter Korsgaard @ 2022-06-07 15:44 UTC (permalink / raw)
  To: Fabrice Fontaine; +Cc: Luca Ceresoli, buildroot

>>>>> "Fabrice" == Fabrice Fontaine <fontaine.fabrice@gmail.com> writes:

 > qpid-proton needs C++ (and so threads due to proactor) to avoid the
 > following build failure:

 > CMake Error at /nvmedata/autobuild/instance-3/output-1/host/share/cmake-3.18/Modules/CMakeTestCXXCompiler.cmake:59 (message):
 >   The C++ compiler

 >     "/usr/bin/c++"

 >   is not able to compile a simple test program.

 > C++ check can't easily be removed:
 > https://github.com/apache/qpid-proton/pull/366

 > Fixes:
 >  - http://autobuild.buildroot.org/results/76f8deccc9c4eee29eddf42586cc28e96eec0827

 > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>

Committed to 2022.02.x, thanks.

-- 
Bye, Peter Korsgaard
_______________________________________________
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-06-07 15:44 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-21 20:43 [Buildroot] [PATCH 1/1] package/qpid-proton: needs C++ and threads Fabrice Fontaine
2022-05-23 13:19 ` Luca Ceresoli
2022-06-04 14:52   ` Yann E. MORIN
2022-06-04 14:49 ` Yann E. MORIN
2022-06-07 15:44 ` Peter Korsgaard

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.