* [Buildroot] [PATCH] package/boost: remove dependencies on Boost.System
@ 2025-09-03 13:37 Michael Nosthoff via buildroot
2025-09-03 19:34 ` Thomas Petazzoni via buildroot
0 siblings, 1 reply; 4+ messages in thread
From: Michael Nosthoff via buildroot @ 2025-09-03 13:37 UTC (permalink / raw)
To: buildroot
Boost.System is a header only library since Boost 1.69.0 [0].
A Stub Library remained for backward compatibility. This
mainly affects CMake Packages that use FindPackage and
explicitly list 'system'.
For Boost internal modules this is not the case so remove this
dependency.
Buildroot packages should select BR2_PACKAGE_BOOST_SYSTEM explicitly
if needed and not rely on a proxy dependency from other boost packages.
[0] https://github.com/boostorg/system/blob/develop/doc/system/changes.adoc#changes-in-boost-169
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
---
package/boost/Config.in | 13 -------------
package/libcpprestsdk/Config.in | 1 +
2 files changed, 1 insertion(+), 13 deletions(-)
diff --git a/package/boost/Config.in b/package/boost/Config.in
index c7c90aa9ab..5d4e530a6f 100644
--- a/package/boost/Config.in
+++ b/package/boost/Config.in
@@ -24,7 +24,6 @@ config BR2_PACKAGE_BOOST_ATOMIC
config BR2_PACKAGE_BOOST_CHRONO
bool "boost-chrono"
- select BR2_PACKAGE_BOOST_SYSTEM
help
Useful time utilities. C++11.
@@ -62,7 +61,6 @@ config BR2_PACKAGE_BOOST_CONTRACT
bool "boost-contract"
# pthread_condattr_setclock
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
- select BR2_PACKAGE_BOOST_SYSTEM
help
Contract programming for C++.
@@ -77,7 +75,6 @@ config BR2_PACKAGE_BOOST_COROUTINE
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-context, boost-thread
select BR2_PACKAGE_BOOST_CHRONO
select BR2_PACKAGE_BOOST_CONTEXT
- select BR2_PACKAGE_BOOST_SYSTEM
select BR2_PACKAGE_BOOST_THREAD
help
deprecated coroutine library, the non-deprecated coroutine2
@@ -117,7 +114,6 @@ config BR2_PACKAGE_BOOST_FIBER
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
select BR2_PACKAGE_BOOST_CONTEXT
select BR2_PACKAGE_BOOST_FILESYSTEM
- select BR2_PACKAGE_BOOST_SYSTEM
help
C++11 userland threads library.
@@ -134,7 +130,6 @@ config BR2_PACKAGE_BOOST_FILESYSTEM
bool "boost-filesystem"
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic
select BR2_PACKAGE_BOOST_ATOMIC
- select BR2_PACKAGE_BOOST_SYSTEM
help
The Boost Filesystem Library provides portable facilities to
query and manipulate paths, files, and directories.
@@ -184,7 +179,6 @@ config BR2_PACKAGE_BOOST_LOCALE
depends on !(BR2_TOOLCHAIN_HAS_GCC_BUG_64735 && BR2_PACKAGE_ICU) # boost-thread
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS \
|| !BR2_PACKAGE_ICU # boost-thread
- select BR2_PACKAGE_BOOST_SYSTEM
select BR2_PACKAGE_BOOST_THREAD if BR2_PACKAGE_ICU
select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
help
@@ -209,7 +203,6 @@ config BR2_PACKAGE_BOOST_LOG
select BR2_PACKAGE_BOOST_DATE_TIME
select BR2_PACKAGE_BOOST_FILESYSTEM
select BR2_PACKAGE_BOOST_REGEX
- select BR2_PACKAGE_BOOST_SYSTEM
select BR2_PACKAGE_BOOST_THREAD
help
Logging library.
@@ -279,7 +272,6 @@ config BR2_PACKAGE_BOOST_PYTHON
config BR2_PACKAGE_BOOST_RANDOM
bool "boost-random"
- select BR2_PACKAGE_BOOST_SYSTEM
help
A complete system for random number generation.
@@ -312,7 +304,6 @@ config BR2_PACKAGE_BOOST_SYSTEM
config BR2_PACKAGE_BOOST_TEST
bool "boost-test"
depends on BR2_USE_MMU # fork()
- select BR2_PACKAGE_BOOST_SYSTEM
select BR2_PACKAGE_BOOST_TIMER
help
Support for simple program testing, full unit testing, and for
@@ -323,7 +314,6 @@ config BR2_PACKAGE_BOOST_THREAD
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::current_exception
select BR2_PACKAGE_BOOST_CHRONO
- select BR2_PACKAGE_BOOST_SYSTEM
help
Portable C++ multi-threading. C++11, C++14.
@@ -333,7 +323,6 @@ comment "boost-thread needs a toolchain not affected by GCC bug 64735"
config BR2_PACKAGE_BOOST_TIMER
bool "boost-timer"
select BR2_PACKAGE_BOOST_CHRONO
- select BR2_PACKAGE_BOOST_SYSTEM
help
Event timer, progress timer, and progress display classes.
@@ -341,7 +330,6 @@ config BR2_PACKAGE_BOOST_TYPE_ERASURE
bool "boost-type_erasure"
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
- select BR2_PACKAGE_BOOST_SYSTEM
select BR2_PACKAGE_BOOST_THREAD
help
Runtime polymorphism based on concepts.
@@ -371,7 +359,6 @@ config BR2_PACKAGE_BOOST_WAVE
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
select BR2_PACKAGE_BOOST_DATE_TIME
select BR2_PACKAGE_BOOST_FILESYSTEM
- select BR2_PACKAGE_BOOST_SYSTEM
select BR2_PACKAGE_BOOST_THREAD
help
The Boost.Wave library is a Standards conformant, and highly
diff --git a/package/libcpprestsdk/Config.in b/package/libcpprestsdk/Config.in
index e533b30393..7688021ed0 100644
--- a/package/libcpprestsdk/Config.in
+++ b/package/libcpprestsdk/Config.in
@@ -13,6 +13,7 @@ config BR2_PACKAGE_LIBCPPRESTSDK
select BR2_PACKAGE_BOOST_FILESYSTEM
select BR2_PACKAGE_BOOST_RANDOM
select BR2_PACKAGE_BOOST_REGEX
+ select BR2_PACKAGE_BOOST_SYSTEM
select BR2_PACKAGE_BOOST_THREAD
select BR2_PACKAGE_OPENSSL
help
--
2.43.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [Buildroot] [PATCH] package/boost: remove dependencies on Boost.System
2025-09-03 13:37 [Buildroot] [PATCH] package/boost: remove dependencies on Boost.System Michael Nosthoff via buildroot
@ 2025-09-03 19:34 ` Thomas Petazzoni via buildroot
2025-09-04 19:52 ` Michael Nosthoff via buildroot
0 siblings, 1 reply; 4+ messages in thread
From: Thomas Petazzoni via buildroot @ 2025-09-03 19:34 UTC (permalink / raw)
To: Michael Nosthoff via buildroot
Hello Michael,
On Wed, 3 Sep 2025 15:37:52 +0200
Michael Nosthoff via buildroot <buildroot@buildroot.org> wrote:
> Boost.System is a header only library since Boost 1.69.0 [0].
>
> A Stub Library remained for backward compatibility. This
> mainly affects CMake Packages that use FindPackage and
> explicitly list 'system'.
>
> For Boost internal modules this is not the case so remove this
> dependency.
>
> Buildroot packages should select BR2_PACKAGE_BOOST_SYSTEM explicitly
> if needed and not rely on a proxy dependency from other boost packages.
>
> [0] https://github.com/boostorg/system/blob/develop/doc/system/changes.adoc#changes-in-boost-169
Thanks for the patch. It's great to have someone understanding the
dependencies between the different Boost modules, because they are not
obvious, and not easy to maintain, so thanks a lot.
Since this has the potential for breaking stuff quite a bit for
packages that depend on Boost, how much testing did you do (build
testing) ? I see your patch fixes package/libcpprestsdk, but is it the
only package affected?
Note that the fix of package/libcpprestsdk and other packages could be
done as a separate, preliminary patch.
Best regards,
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Buildroot] [PATCH] package/boost: remove dependencies on Boost.System
2025-09-03 19:34 ` Thomas Petazzoni via buildroot
@ 2025-09-04 19:52 ` Michael Nosthoff via buildroot
2025-09-05 6:37 ` Thomas Petazzoni via buildroot
0 siblings, 1 reply; 4+ messages in thread
From: Michael Nosthoff via buildroot @ 2025-09-04 19:52 UTC (permalink / raw)
To: Thomas Petazzoni; +Cc: Michael Nosthoff via buildroot
Hi Thomas,
On Wednesday, September 03, 2025 21:34 CEST, Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote:
> Hello Michael,
>
> On Wed, 3 Sep 2025 15:37:52 +0200
> Michael Nosthoff via buildroot <buildroot@buildroot.org> wrote:
>
> > Boost.System is a header only library since Boost 1.69.0 [0].
> >
> > A Stub Library remained for backward compatibility. This
> > mainly affects CMake Packages that use FindPackage and
> > explicitly list 'system'.
> >
> > For Boost internal modules this is not the case so remove this
> > dependency.
> >
> > Buildroot packages should select BR2_PACKAGE_BOOST_SYSTEM explicitly
> > if needed and not rely on a proxy dependency from other boost packages.
> >
> > [0] https://github.com/boostorg/system/blob/develop/doc/system/changes.adoc#changes-in-boost-169
>
> Thanks for the patch. It's great to have someone understanding the
> dependencies between the different Boost modules, because they are not
> obvious, and not easy to maintain, so thanks a lot.
>
The boost guys are currently working on better modularization support. So at least now each
boost subproject has a dependency list in its build.jam file which helps a lot.
e.g., https://github.com/boostorg/json/blob/develop/build.jam
> Since this has the potential for breaking stuff quite a bit for
> packages that depend on Boost, how much testing did you do (build
> testing) ? I see your patch fixes package/libcpprestsdk, but is it the
> only package affected?
I checked all packages that depend on at least one of the boost modules
where I removed the Boost.System dependency. Only two don't explicitly
select BOOST_SYSTEM. libcpprestsdk nedded it so I fixed it. The other one
is log4cxx which really doesn't depends on it in it's CMakeLists.
>
> Note that the fix of package/libcpprestsdk and other packages could be
> done as a separate, preliminary patch.
I will split them and resubmit.
Regards,
Michael
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Buildroot] [PATCH] package/boost: remove dependencies on Boost.System
2025-09-04 19:52 ` Michael Nosthoff via buildroot
@ 2025-09-05 6:37 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 4+ messages in thread
From: Thomas Petazzoni via buildroot @ 2025-09-05 6:37 UTC (permalink / raw)
To: Michael Nosthoff; +Cc: Michael Nosthoff via buildroot
On Thu, 04 Sep 2025 21:52:00 +0200
"Michael Nosthoff" <buildroot@heine.tech> wrote:
> > Thanks for the patch. It's great to have someone understanding the
> > dependencies between the different Boost modules, because they are not
> > obvious, and not easy to maintain, so thanks a lot.
>
> The boost guys are currently working on better modularization support. So at least now each
> boost subproject has a dependency list in its build.jam file which helps a lot.
> e.g., https://github.com/boostorg/json/blob/develop/build.jam
Sounds very nice indeed to then have a better representation of those
dependencies in Buildroot.
> I checked all packages that depend on at least one of the boost modules
> where I removed the Boost.System dependency. Only two don't explicitly
> select BOOST_SYSTEM. libcpprestsdk nedded it so I fixed it. The other one
> is log4cxx which really doesn't depends on it in it's CMakeLists.
Great work! You could have mentioned this in the commit log.
> > Note that the fix of package/libcpprestsdk and other packages could be
> > done as a separate, preliminary patch.
>
> I will split them and resubmit.
Excellent, thanks!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-09-05 6:37 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-03 13:37 [Buildroot] [PATCH] package/boost: remove dependencies on Boost.System Michael Nosthoff via buildroot
2025-09-03 19:34 ` Thomas Petazzoni via buildroot
2025-09-04 19:52 ` Michael Nosthoff via buildroot
2025-09-05 6:37 ` Thomas Petazzoni via buildroot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox