Thank you, Ning! I have switched to libunwind 1.5.0 which is more broadly tested. The issue with libunwind is that it uses dynamically generated exceptions that are not supported in the C++17 standard. Newer versions of g++ default to C++17. What I have done is isolated the compiling and linking of libunwind and specified the C++14 standard to be used there instead of in the entire build. C++14 is the latest version that supports dynamically generated exceptions.
More details will be in the updates for the PR which I am currently working on and testing: https://github.com/apache/incubator-heron/pull/3760 On Wed, Jan 19, 2022 at 7:53 PM Ning Wang <[email protected]> wrote: > I remember Heron's c++ components include > 1. stream mgr. There might be another one, maybe tmaster? not 100% sure. > 2. there is a cpp API > > Mostly the cpp code is fairly standard and doesn't (shouldn't) rely on > specific versions. > > > On Wed, Jan 19, 2022 at 4:34 PM Saad Ur Rahman <[email protected]> > wrote: > > > I am reporting a clean build and test run on Ubuntu 22.04 with the C++11 > > standard. The solution is built on > > https://github.com/apache/incubator-heron/pull/3646 and > > https://github.com/apache/incubator-heron/pull/3760 with some additional > > changes. The build is passing on my desktop and laptop on a > > 22.04 container. It is failing on the laptop on 18.04 container with the > > following error that is also currently appearing on the CI build for > #3646: > > UnicodeEncodeError: 'ascii' codec can't encode characters in position > > 73-75: ordinal not in range(128) > > > > Linux Standard Base release information for build container: > > DISTRIB_ID=Ubuntu > > DISTRIB_RELEASE=22.04 > > DISTRIB_CODENAME=jammy > > DISTRIB_DESCRIPTION="Ubuntu Jammy Jellyfish (development branch)" > > > > Bazel configure script output: > > Platform Linux > > Using C compiler : /usr/bin/x86_64-linux-gnu-gcc-11 (11.2.0) > > Using C++ compiler : /usr/bin/x86_64-linux-gnu-g++-11 (11.2.0) > > Using C preprocessor : /usr/bin/x86_64-linux-gnu-cpp-11 (11.2.0) > > Using C++ preprocessor : /usr/bin/x86_64-linux-gnu-cpp-11 (11.2.0) > > Using linker : /usr/bin/x86_64-linux-gnu-ld.bfd > > Using JDK : /usr/lib/jvm/java-11-openjdk-amd64 > > Using Automake : /usr/bin/automake-1.16 (1.16.5) > > Using Autoconf : /usr/bin/autoconf (2.71) > > Using Make : /usr/bin/make (4.3) > > Using Python3 : /usr/bin/python3.9 (3.9.9) > > Using Libtool : /usr/bin/libtool (2.4.6) > > Using archiver : /usr/bin/x86_64-linux-gnu-ar > > Using coverage tool : /usr/bin/x86_64-linux-gnu-gcov-11 > > Using ant : /usr/share/ant/bin/ant > > Using dwp : /usr/bin/x86_64-linux-gnu-dwp > > Using nm : /usr/bin/x86_64-linux-gnu-nm > > Using objcopy : /usr/bin/x86_64-linux-gnu-objcopy > > Using objdump : /usr/bin/x86_64-linux-gnu-objdump > > Using strip : /usr/bin/x86_64-linux-gnu-strip > > > > On Wed, Jan 19, 2022 at 2:51 PM Saad Ur Rahman <[email protected]> > > wrote: > > > > > Hello everyone, > > > > > > Updating to current versions of the Linux kernel will require updating > > > packages like libunwind (PR: > > > https://github.com/apache/incubator-heron/pull/3760). I am testing on > > > Ubuntu 22.04-devel which will be the new LTS released ~Q2 2022. This > work > > > is based on Oliver Bristow's Python 3.9 work (PR: > > > https://github.com/apache/incubator-heron/pull/3646). > > > > > > On Ubuntu 22.04 the g++ version downloaded is 11.x. It seems that g++ > > 11.2 > > > is compiling with the C++17 standard unless otherwise specified, and > > > that causes issues. This means we will need to add the language > standard > > > flag (-std=c++Version) to the build script ( > > > > > > https://github.com/apache/incubator-heron/blob/master/config/configure.ac > > ). > > > Which version of the C++ standard is Heron dependent on? I could not > find > > > the details here: https://heron.apache.org/docs/compiling-overview > > > > > >
