* [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.