* [Buildroot] [PATCH 1/1] package/capnproto: bump version to 1.8.0
@ 2020-05-03 6:37 Koen Martens
2020-05-09 21:19 ` Thomas Petazzoni
0 siblings, 1 reply; 5+ messages in thread
From: Koen Martens @ 2020-05-03 6:37 UTC (permalink / raw)
To: buildroot
The new version requires two extra features in the
toolchain, therefore two new toolchain options are
added as dependencies:
* BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
* BR2_TOOLCHAIN_HAS_UCONTEXT
Signed-off-by: Koen Martens <gmc@sonologic.nl>
---
package/capnproto/Config.in | 9 +++++++--
package/capnproto/capnproto.hash | 2 +-
package/capnproto/capnproto.mk | 2 +-
3 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/package/capnproto/Config.in b/package/capnproto/Config.in
index cd9cb647af..9ca8ba0593 100644
--- a/package/capnproto/Config.in
+++ b/package/capnproto/Config.in
@@ -6,6 +6,8 @@ config BR2_PACKAGE_CAPNPROTO
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_TOOLCHAIN_HAS_ATOMIC
+ depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
+ depends on BR2_TOOLCHAIN_HAS_UCONTEXT
help
Cap'n Proto is an insanely fast data interchange format
and capability-based RPC system. Think JSON, except
@@ -15,10 +17,13 @@ config BR2_PACKAGE_CAPNPROTO
https://capnproto.org/index.html
-comment "capnproto needs host and target gcc >= 5 w/ C++14, threads, atomic"
+comment "capnproto needs host and target gcc >= 5 w/ C++14, threads, atomic (always lock free), ucontext"
depends on BR2_USE_MMU
depends on !BR2_HOST_GCC_AT_LEAST_5 || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_5 || \
!BR2_INSTALL_LIBSTDCPP || \
!BR2_TOOLCHAIN_HAS_THREADS || \
- !BR2_TOOLCHAIN_HAS_ATOMIC
+ !BR2_TOOLCHAIN_HAS_ATOMIC || \
+ !BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS || \
+ !BR2_TOOLCHAIN_HAS_UCONTEXT
+
diff --git a/package/capnproto/capnproto.hash b/package/capnproto/capnproto.hash
index 98467f8634..d4500e0aad 100644
--- a/package/capnproto/capnproto.hash
+++ b/package/capnproto/capnproto.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 76c7114a3d142ad08b7208b3964a26e72a6320ee81331d3f0b87569fc9c47a28 capnproto-0.7.0.tar.gz
+sha256 6d8b43a7ec2a764b4dfe4139a7cdd070ad9057f106898050d9f4db3754b98820 capnproto-0.8.0.tar.gz
sha256 9564998c8d7f270a61a8b89869a8d17a9d5e3783b64027788b5e339ec8479e10 LICENSE
diff --git a/package/capnproto/capnproto.mk b/package/capnproto/capnproto.mk
index 34fb885914..e9e89dff07 100644
--- a/package/capnproto/capnproto.mk
+++ b/package/capnproto/capnproto.mk
@@ -4,7 +4,7 @@
#
################################################################################
-CAPNPROTO_VERSION = 0.7.0
+CAPNPROTO_VERSION = 0.8.0
CAPNPROTO_SITE = $(call github,capnproto,capnproto,v$(CAPNPROTO_VERSION))
CAPNPROTO_LICENSE = MIT
CAPNPROTO_LICENSE_FILES = LICENSE
--
2.17.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH 1/1] package/capnproto: bump version to 1.8.0
2020-05-03 6:37 [Buildroot] [PATCH 1/1] package/capnproto: bump version to 1.8.0 Koen Martens
@ 2020-05-09 21:19 ` Thomas Petazzoni
2020-05-10 10:32 ` Koen Martens
0 siblings, 1 reply; 5+ messages in thread
From: Thomas Petazzoni @ 2020-05-09 21:19 UTC (permalink / raw)
To: buildroot
On Sun, 3 May 2020 08:37:30 +0200
Koen Martens <gmc@sonologic.nl> wrote:
> The new version requires two extra features in the
> toolchain, therefore two new toolchain options are
> added as dependencies:
>
> * BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
Could you give more details about this new dependency? Which build
failure did you encounter, and with which toolchain/configuration?
Thanks,
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH 1/1] package/capnproto: bump version to 1.8.0
2020-05-09 21:19 ` Thomas Petazzoni
@ 2020-05-10 10:32 ` Koen Martens
2020-05-10 12:10 ` Thomas Petazzoni
0 siblings, 1 reply; 5+ messages in thread
From: Koen Martens @ 2020-05-10 10:32 UTC (permalink / raw)
To: buildroot
On Sat, May 09, 2020 at 11:19:26PM +0200, Thomas Petazzoni wrote:
> On Sun, 3 May 2020 08:37:30 +0200
> Koen Martens <gmc@sonologic.nl> wrote:
>
> > The new version requires two extra features in the
> > toolchain, therefore two new toolchain options are
> > added as dependencies:
> >
> > * BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
>
> Could you give more details about this new dependency? Which build
> failure did you encounter, and with which toolchain/configuration?
gmc at coltrane:~/src/3rdparty/buildroot$ ./utils/test-pkg -a -c capnproto.config -p capnproto
andes-nds32 [ 1/44]: SKIPPED
arm-aarch64 [ 2/44]: OK
br-aarch64-glibc [ 3/44]: OK
br-arcle-hs38 [ 4/44]: SKIPPED
br-arm-basic [ 5/44]: SKIPPED
br-arm-cortex-a9-glibc [ 6/44]: OK
br-arm-cortex-a9-musl [ 7/44]: OK
br-arm-cortex-m4-full [ 8/44]: SKIPPED
br-arm-full [ 9/44]: FAILED
br-arm-full-nothread [10/44]: SKIPPED
br-arm-full-static [11/44]: OK
br-i386-pentium4-full [12/44]: OK
br-i386-pentium-mmx-musl [13/44]: OK
br-m68k-5208-full [14/44]: SKIPPED
br-m68k-68040-full [15/44]: SKIPPED
br-microblazeel-full [16/44]: SKIPPED
br-mips32r6-el-hf-glibc [17/44]: OK
br-mips64-n64-full [18/44]: OK
br-mips64r6-el-hf-glibc [19/44]: OK
br-mipsel-o32-full [20/44]: OK
br-nios2-glibc [21/44]: OK
br-openrisc-uclibc [22/44]: SKIPPED
br-powerpc-603e-basic-cpp [23/44]: SKIPPED
br-powerpc64le-power8-glibc [24/44]: OK
br-powerpc64-power7-glibc [25/44]: OK
br-powerpc-e500mc-full [26/44]: SKIPPED
br-riscv32 [27/44]: OK
br-riscv64 [28/44]: OK
br-sh4-full [29/44]: SKIPPED
br-sparc64-glibc [30/44]: OK
br-sparc-uclibc [31/44]: OK
br-x86-64-core2-full [32/44]: OK
br-x86-64-musl [33/44]: OK
br-xtensa-full [34/44]: SKIPPED
linaro-aarch64-be [35/44]: OK
linaro-aarch64 [36/44]: OK
linaro-arm [37/44]: OK
sourcery-arm-armv4t [38/44]: SKIPPED
sourcery-arm [39/44]: SKIPPED
sourcery-arm-thumb2 [40/44]: SKIPPED
sourcery-mips64 [41/44]: OK
sourcery-mips [42/44]: OK
sourcery-nios2 [43/44]: OK
sourcery-x86-64 [44/44]: OK
44 builds, 16 skipped, 1 build failed, 0 legal-info failed
gmc at coltrane:~/src/3rdparty/buildroot$ cat package/capnproto/Config.in
config BR2_PACKAGE_CAPNPROTO
bool "capnproto"
depends on BR2_USE_MMU
depends on BR2_HOST_GCC_AT_LEAST_5 # C++14
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # C++14
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_TOOLCHAIN_HAS_ATOMIC
depends on BR2_TOOLCHAIN_HAS_UCONTEXT
help
Cap'n Proto is an insanely fast data interchange format
and capability-based RPC system. Think JSON, except
binary. Or think Protocol Buffers, except faster. In
fact, in benchmarks, Cap'n Proto is INFINITY TIMES
faster than Protocol Buffers.
https://capnproto.org/index.html
comment "capnproto needs host and target gcc >= 5 w/ C++14, threads, atomic (always lock free), ucontext"
depends on BR2_USE_MMU
depends on !BR2_HOST_GCC_AT_LEAST_5 || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_5 || \
!BR2_INSTALL_LIBSTDCPP || \
!BR2_TOOLCHAIN_HAS_THREADS || \
!BR2_TOOLCHAIN_HAS_ATOMIC || \
!BR2_TOOLCHAIN_HAS_UCONTEXT
gmc at coltrane:~/src/3rdparty/buildroot$ cd ~/br-test-pkg/br-arm-full
gmc at coltrane:~/br-test-pkg/br-arm-full$ tail -n 20 logfile
/bin/bash ./libtool --tag=CXX --mode=compile /home/gmc/br-test-pkg/br-arm-full/host/bin/arm-linux-g++ -std=gnu++14 -DHAVE_CONFIG_H -I. -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I./src -I./src -DKJ_HEADER_WARNINGS -DCAPNP_HEADER_WARNINGS -DCAPNP_INCLUDE_DIR='"/usr/include"' -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -c -o src/kj/time.lo src/kj/time.c++
src/kj/exception.c++: In function ?void kj::{anonymous}::terminateHandler()?:
src/kj/exception.c++:429:15: error: ?current_exception? is not a member of ?std?
auto eptr = std::current_exception();
^
src/kj/exception.c++:432:7: error: ?rethrow_exception? is not a member of ?std?
std::rethrow_exception(eptr);
^
/bin/bash ./libtool --tag=CXX --mode=compile /home/gmc/br-test-pkg/br-arm-full/host/bin/arm-linux-g++ -std=gnu++14 -DHAVE_CONFIG_H -I. -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I./src -I./src -DKJ_HEADER_WARNINGS -DCAPNP_HEADER_WARNINGS -DCAPNP_INCLUDE_DIR='"/usr/include"' -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -c -o src/kj/filesystem.lo src/kj/filesystem.c++
Makefile:2075: recipe for target 'src/kj/exception.lo' failed
make[2]: *** [src/kj/exception.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
libtool: compile: /home/gmc/br-test-pkg/br-arm-full/host/bin/arm-linux-g++ -std=gnu++14 -DHAVE_CONFIG_H -I. -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I./src -I./src -DKJ_HEADER_WARNINGS -DCAPNP_HEADER_WARNINGS -DCAPNP_INCLUDE_DIR=\"/usr/include\" -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -c src/kj/time.c++ -fPIC -DPIC -o src/kj/.libs/time.o
libtool: compile: /home/gmc/br-test-pkg/br-arm-full/host/bin/arm-linux-g++ -std=gnu++14 -DHAVE_CONFIG_H -I. -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I./src -I./src -DKJ_HEADER_WARNINGS -DCAPNP_HEADER_WARNINGS -DCAPNP_INCLUDE_DIR=\"/usr/include\" -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -c src/kj/filesystem.c++ -fPIC -DPIC -o src/kj/.libs/filesystem.o
make[2]: Leaving directory '/home/gmc/br-test-pkg/br-arm-full/build/capnproto-0.8.0/c++'
Makefile:1289: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/gmc/br-test-pkg/br-arm-full/build/capnproto-0.8.0/c++'
package/pkg-generic.mk:266: recipe for target '/home/gmc/br-test-pkg/br-arm-full/build/capnproto-0.8.0/.stamp_built' failed
make: *** [/home/gmc/br-test-pkg/br-arm-full/build/capnproto-0.8.0/.stamp_built] Error 2
gmc at coltrane:~/br-test-pkg/br-arm-full$ grep rethrow_exception * -r
Binary file build/host-capnproto-0.8.0/c++/.libs/libkj-0.8.0.so matches
Binary file build/host-capnproto-0.8.0/c++/src/kj/.libs/exception.o matches
build/host-capnproto-0.8.0/c++/src/kj/exception.c++: std::rethrow_exception(eptr);
build/capnproto-0.8.0/c++/src/kj/exception.c++: std::rethrow_exception(eptr);
Binary file host/lib/libkj-0.8.0.so matches
Binary file host/opt/ext-toolchain/libexec/gcc/arm-buildroot-linux-uclibcgnueabi/5.5.0/cc1 matches
Binary file host/opt/ext-toolchain/libexec/gcc/arm-buildroot-linux-uclibcgnueabi/5.5.0/cc1plus matches
Binary file host/opt/ext-toolchain/libexec/gcc/arm-buildroot-linux-uclibcgnueabi/5.5.0/lto1 matches
host/opt/ext-toolchain/arm-buildroot-linux-uclibcgnueabi/include/c++/5.5.0/future: rethrow_exception(__res._M_error);
host/opt/ext-toolchain/arm-buildroot-linux-uclibcgnueabi/include/c++/5.5.0/bits/nested_exception.h: rethrow_exception(_M_ptr);
host/opt/ext-toolchain/arm-buildroot-linux-uclibcgnueabi/include/c++/5.5.0/bits/exception_ptr.h: void rethrow_exception(exception_ptr) __attribute__ ((__noreturn__));
host/opt/ext-toolchain/arm-buildroot-linux-uclibcgnueabi/include/c++/5.5.0/bits/exception_ptr.h: friend void std::rethrow_exception(exception_ptr);
logfile:src/kj/exception.c++:432:7: error: ?rethrow_exception? is not a member of ?std?
logfile: std::rethrow_exception(eptr);
gmc at coltrane:~/br-test-pkg/br-arm-full$ grep exception_ptr.h * -r
host/opt/ext-toolchain/arm-buildroot-linux-uclibcgnueabi/include/c++/5.5.0/exception:#include <bits/exception_ptr.h>
host/opt/ext-toolchain/arm-buildroot-linux-uclibcgnueabi/include/c++/5.5.0/bits/exception_ptr.h:/** @file bits/exception_ptr.h
gmc at coltrane:~/br-test-pkg/br-arm-full$ cat host/opt/ext-toolchain/arm-buildroot-linux-uclibcgnueabi/include/c++/5.5.0/exception
...
#if (__cplusplus >= 201103L) && (ATOMIC_INT_LOCK_FREE > 1)
#include <bits/exception_ptr.h>
#include <bits/nested_exception.h>
#endif
...
gmc at coltrane:~/br-test-pkg/br-arm-full$
Cheers,
Koen
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH 1/1] package/capnproto: bump version to 1.8.0
2020-05-10 10:32 ` Koen Martens
@ 2020-05-10 12:10 ` Thomas Petazzoni
2020-05-16 7:52 ` Koen Martens
0 siblings, 1 reply; 5+ messages in thread
From: Thomas Petazzoni @ 2020-05-10 12:10 UTC (permalink / raw)
To: buildroot
Hello Koen,
On Sun, 10 May 2020 12:32:58 +0200
Koen Martens <gmc@sonologic.nl> wrote:
> src/kj/exception.c++: In function ?void kj::{anonymous}::terminateHandler()?:
> src/kj/exception.c++:429:15: error: ?current_exception? is not a member of ?std?
> auto eptr = std::current_exception();
The correct dependency for this is:
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735
See package/boost and package/squid.
It is *almost* the same as
BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS, except that
toolchains with gcc >= 7.x are not affected.
Could you try with that ?
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH 1/1] package/capnproto: bump version to 1.8.0
2020-05-10 12:10 ` Thomas Petazzoni
@ 2020-05-16 7:52 ` Koen Martens
0 siblings, 0 replies; 5+ messages in thread
From: Koen Martens @ 2020-05-16 7:52 UTC (permalink / raw)
To: buildroot
Hi Thomas,
On Sun, May 10, 2020 at 02:10:13PM +0200, Thomas Petazzoni wrote:
> On Sun, 10 May 2020 12:32:58 +0200
> Koen Martens <gmc@sonologic.nl> wrote:
>
> > src/kj/exception.c++: In function ?void kj::{anonymous}::terminateHandler()?:
> > src/kj/exception.c++:429:15: error: ?current_exception? is not a member of ?std?
> > auto eptr = std::current_exception();
>
> The correct dependency for this is:
>
> depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735
>
> See package/boost and package/squid.
>
> It is *almost* the same as
> BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS, except that
> toolchains with gcc >= 7.x are not affected.
>
> Could you try with that ?
Sure, did that and looks good! I'll resubmit the patch with that new
dependency. Thanks, I'd never have thought that up myself.
Cheers,
Koen
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-05-16 7:52 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-03 6:37 [Buildroot] [PATCH 1/1] package/capnproto: bump version to 1.8.0 Koen Martens
2020-05-09 21:19 ` Thomas Petazzoni
2020-05-10 10:32 ` Koen Martens
2020-05-10 12:10 ` Thomas Petazzoni
2020-05-16 7:52 ` Koen Martens
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.