Bug#907632: [ppc64-el] Breaks building aspectc++
No problem at all. Thanks for taking care of the sync for me, Steve! Reinhard On January 2, 2019 2:30:50 PM EST, Steve Langasek wrote: >On Tue, Jan 01, 2019 at 04:32:38PM -0500, Reinhard Tartler wrote: >> On 12/25/18 11:53 AM, Steve Langasek wrote: >> > Package: aspectc++ >> > Version: 1:2.2+git20170823-7 >> > Followup-For: Bug #907632 >> > User: ubuntu-de...@lists.ubuntu.com >> > Usertags: origin-ubuntu disco ubuntu-patch >> > >> > Hello, >> > >> > Based on the bug history, I don't think this is a bug in gcc-8 but >in >> > aspectc++ (or in llvm), so I have reassigned. >> > >> > I have also refined the patch provided by Frédéric, to avoid >repetition in >> > the code; please find it attached. >> > >> > I have uploaded this patch to Ubuntu, where I confirm it fixes the >build >> > failure on ppc64el. > >> I've already incorporated Frederic's patch in aspectc++ >1:2.2+git20181008-2, >> which I've uploaded to unstable on Tue, 23 Oct 2018. > >> Maybe it would be appropriate to sync that version over to ubuntu? > >Indeed, sorry for overlooking, I missed this because there was an >Ubuntu >delta stuck in devel-proposed where I had previously tried to fix up >the >llvm-version-related FTBFS. I've synced this now and it has built fine >on >ppc64el. -- Sent from my Android device with K-9 Mail. Please excuse my brevity.
Bug#907632: [ppc64-el] Breaks building aspectc++
On Tue, Jan 01, 2019 at 04:32:38PM -0500, Reinhard Tartler wrote: > On 12/25/18 11:53 AM, Steve Langasek wrote: > > Package: aspectc++ > > Version: 1:2.2+git20170823-7 > > Followup-For: Bug #907632 > > User: ubuntu-de...@lists.ubuntu.com > > Usertags: origin-ubuntu disco ubuntu-patch > > > > Hello, > > > > Based on the bug history, I don't think this is a bug in gcc-8 but in > > aspectc++ (or in llvm), so I have reassigned. > > > > I have also refined the patch provided by Frédéric, to avoid repetition in > > the code; please find it attached. > > > > I have uploaded this patch to Ubuntu, where I confirm it fixes the build > > failure on ppc64el. > I've already incorporated Frederic's patch in aspectc++ 1:2.2+git20181008-2, > which I've uploaded to unstable on Tue, 23 Oct 2018. > Maybe it would be appropriate to sync that version over to ubuntu? Indeed, sorry for overlooking, I missed this because there was an Ubuntu delta stuck in devel-proposed where I had previously tried to fix up the llvm-version-related FTBFS. I've synced this now and it has built fine on ppc64el. -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. Ubuntu Developer https://www.debian.org/ slanga...@ubuntu.com vor...@debian.org signature.asc Description: PGP signature
Bug#907632: [ppc64-el] Breaks building aspectc++
Hi Steve, On 12/25/18 11:53 AM, Steve Langasek wrote: > Package: aspectc++ > Version: 1:2.2+git20170823-7 > Followup-For: Bug #907632 > User: ubuntu-de...@lists.ubuntu.com > Usertags: origin-ubuntu disco ubuntu-patch > > Hello, > > Based on the bug history, I don't think this is a bug in gcc-8 but in > aspectc++ (or in llvm), so I have reassigned. > > I have also refined the patch provided by Frédéric, to avoid repetition in > the code; please find it attached. > > I have uploaded this patch to Ubuntu, where I confirm it fixes the build > failure on ppc64el. > I've already incorporated Frederic's patch in aspectc++ 1:2.2+git20181008-2, which I've uploaded to unstable on Tue, 23 Oct 2018. Maybe it would be appropriate to sync that version over to ubuntu? Best, Reinhard
Bug#907632: [ppc64-el] Breaks building aspectc++
Package: aspectc++ Version: 1:2.2+git20170823-7 Followup-For: Bug #907632 User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu disco ubuntu-patch Hello, Based on the bug history, I don't think this is a bug in gcc-8 but in aspectc++ (or in llvm), so I have reassigned. I have also refined the patch provided by Frédéric, to avoid repetition in the code; please find it attached. I have uploaded this patch to Ubuntu, where I confirm it fixes the build failure on ppc64el. Cheers, -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. Ubuntu Developer https://www.debian.org/ slanga...@ubuntu.com vor...@debian.org diff -Nru aspectc++-2.2+git20170823/debian/control aspectc++-2.2+git20170823/debian/control --- aspectc++-2.2+git20170823/debian/control2018-08-24 23:29:52.0 -0500 +++ aspectc++-2.2+git20170823/debian/control2018-12-25 10:15:09.0 -0600 @@ -1,8 +1,7 @@ Source: aspectc++ Section: devel Priority: optional -Maintainer: Ubuntu Developers -XSBC-Original-Maintainer: Reinhard Tartler +Maintainer: Reinhard Tartler Build-Depends: debhelper (>= 9), libxml2-dev, docbook-to-man, zlib1g-dev, libedit-dev, llvm-4.0-dev, libclang-4.0-dev Build-Depends-Indep: doxygen, graphviz, gsfonts Standards-Version: 4.0.0 diff -Nru aspectc++-2.2+git20170823/debian/patches/ppc64el-no-float128.patch aspectc++-2.2+git20170823/debian/patches/ppc64el-no-float128.patch --- aspectc++-2.2+git20170823/debian/patches/ppc64el-no-float128.patch 1969-12-31 18:00:00.0 -0600 +++ aspectc++-2.2+git20170823/debian/patches/ppc64el-no-float128.patch 2018-12-25 10:15:01.0 -0600 @@ -0,0 +1,23 @@ +Description: adjust ppc64el compiler options for compatibility with gcc-8 + gcc-8 now uses -mfloat128 by default on ppc64el, which results in + incompatible type definitions being passed in to llvm. Override this by + explicitly passing -mno-float128 on ppc64el. +Author: Frédéric Bonnard +Bug-Debian: https://bugs.debian.org/907632 +Last-Modified: 2018-12-25 + +Index: aspectc++-2.2+git20170823/Ag++/PumaConfigFile.cc +=== +--- aspectc++-2.2+git20170823.orig/Ag++/PumaConfigFile.cc aspectc++-2.2+git20170823/Ag++/PumaConfigFile.cc +@@ -118,7 +118,10 @@ + config_command_str = "\"" + _config.cc_bin() + "\" " + + _config.optvec().getString( + (OptionItem::OPT_GCC | OptionItem::OPT_CONFIG)) ++#ifdef __powerpc__ && __powerpc64__ && __LITTLE_ENDIAN__ +++ " -mno-float128 " ++#endif + + " -E -dM -v -x c++ \"" + empty_file_name + "\""; + } + + // get c compiler output diff -Nru aspectc++-2.2+git20170823/debian/patches/series aspectc++-2.2+git20170823/debian/patches/series --- aspectc++-2.2+git20170823/debian/patches/series 2018-06-25 09:59:10.0 -0500 +++ aspectc++-2.2+git20170823/debian/patches/series 2018-12-25 10:12:04.0 -0600 @@ -1,2 +1,3 @@ 0001-lexertl-Fix-FTBFS-with-gcc-8.patch auto-gitignore +ppc64el-no-float128.patch
Bug#907632: [ppc64-el] Breaks building aspectc++
Hi Reinhard, I took some time to try to analyze this and I see that ac++ processes files based on llvm (it's compiled with 4.0) using puma.cfg which is more or less an outpout of g++ defaults (g++ -E -dM -v -x c++ "/dev/null") with for example does #define __float128 __ieee128 which is POWER specific. Some sources parsed by ac++ includes c++ headers from libstdc++ .. that make use of __float128 if support is enabled. Since gcc-8, on ppc64el, -mfloat128 is default and __float128 is used, based on __ieee128. __ieee128 is gcc related and not known by llvm backend (same for __KC__) and ac++ fails. Though clang is able to compile with -mfloat128 (not a default option) and deal with __float128 on ppc64el and we could workaround the gcc definition of __float128 but I couldn't find a way to make clang compiler instance to have knowledge of __float128 (I played a bit with AspectC++/ACProject.cc) The upstream which has more knowledge could fix this and take advantage of float128 on ppc64el. What I propose in the meantime is the following patch that just sticks to the previous behaviour of gcc that, is -mno-float128 by default. --- --- a/Ag++/PumaConfigFile.cc +++ b/Ag++/PumaConfigFile.cc @@ -118,7 +118,11 @@ config_command_str = "\"" + _config.cc_bin() + "\" " + _config.optvec().getString( (OptionItem::OPT_GCC | OptionItem::OPT_CONFIG)) +#ifdef __powerpc__ && __powerpc64__ && __LITTLE_ENDIAN__ ++ " -mno-float128 -E -dM -v -x c++ \"" + empty_file_name + "\""; +#else + " -E -dM -v -x c++ \"" + empty_file_name + "\""; +#endif } // get c compiler output --- F. On Thu, 30 Aug 2018 08:11:27 -0400, Reinhard Tartler wrote: > Package: gcc-8 > Version: 8.2.0-4 > Affects: aspectc++ > X-Debbugs-CC: debian-powe...@lists.debian.org > > Relevant part from > https://buildd.debian.org/status/fetch.php?pkg=aspectc%2B%2B=ppc64el=1%3A2.2%2Bgit20170823-8=1535500793=0 > > In file included from > /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/src/PrePrintVisitor.Icc:19: > In file included from > /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/PreSemIterator.h:24: > In file included from > /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/PreTreeIterator.h:24: > In file included from > /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/PreTree.h:26: > In file included from > /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/Token.h:26: > In file included from > /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/Location.h:25: > In file included from > /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/Filename.h:26: > In file included from > /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/Printable.h:25: > In file included from /usr/include/c++/8/iostream:39: > In file included from /usr/include/c++/8/ostream:38: > In file included from /usr/include/c++/8/ios:38: > In file included from /usr/include/c++/8/iosfwd:40: > In file included from /usr/include/c++/8/bits/postypes.h:40: > In file included from /usr/include/c++/8/cwchar:44: > In file included from /usr/include/wchar.h:30: > /usr/include/powerpc64le-linux-gnu/bits/floatn.h:72:52: error: unknown > machine mode '__KC__' > typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__KC__))); >^ > /usr/include/powernpc64le-linux-gnu/bits/floatn.h:84:9: error: unknown type > name '__ieee128' > typedef __float128 _Float128; > ^ > :431:20: note: expanded from here > #define __float128 __ieee128 >^ > > If you look at > https://buildd.debian.org/status/logs.php?pkg=aspectc%2B%2B=ppc64el, > you'll see that 1:2.2+git20170823-7 did build successfully. There are no > relevant > upstream code changes, but it was built with gcc-7, which works fine. > 1:2.2+git20170823-8 uses gcc-8, > and that breaks. > > Also it seems this bug seems to affect the architecture ppc64-el only. > > Any ideas, hints and suggestions are much appreciated. > > Best, > -rt > pgppHarQTxu4Y.pgp Description: PGP signature
Bug#907632: [ppc64-el] Breaks building aspectc++
Control: tags -1 + moreinfo GCC 8 is configured now with quadmath support on ppc64el. There shouldn't be any other differences. But having the preprocessed source and the command line options used for the build would be useful. On 30.08.2018 14:11, Reinhard Tartler wrote: > Package: gcc-8 > Version: 8.2.0-4 > Affects: aspectc++ > X-Debbugs-CC: debian-powe...@lists.debian.org > > Relevant part from > https://buildd.debian.org/status/fetch.php?pkg=aspectc%2B%2B=ppc64el=1%3A2.2%2Bgit20170823-8=1535500793=0 > > In file included from > /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/src/PrePrintVisitor.Icc:19: > In file included from > /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/PreSemIterator.h:24: > In file included from > /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/PreTreeIterator.h:24: > In file included from > /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/PreTree.h:26: > In file included from > /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/Token.h:26: > In file included from > /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/Location.h:25: > In file included from > /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/Filename.h:26: > In file included from > /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/Printable.h:25: > In file included from /usr/include/c++/8/iostream:39: > In file included from /usr/include/c++/8/ostream:38: > In file included from /usr/include/c++/8/ios:38: > In file included from /usr/include/c++/8/iosfwd:40: > In file included from /usr/include/c++/8/bits/postypes.h:40: > In file included from /usr/include/c++/8/cwchar:44: > In file included from /usr/include/wchar.h:30: > /usr/include/powerpc64le-linux-gnu/bits/floatn.h:72:52: error: unknown > machine mode '__KC__' > typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__KC__))); >^ > /usr/include/powernpc64le-linux-gnu/bits/floatn.h:84:9: error: unknown type > name '__ieee128' > typedef __float128 _Float128; > ^ > :431:20: note: expanded from here > #define __float128 __ieee128 >^ > > If you look at > https://buildd.debian.org/status/logs.php?pkg=aspectc%2B%2B=ppc64el, > you'll see that 1:2.2+git20170823-7 did build successfully. There are no > relevant > upstream code changes, but it was built with gcc-7, which works fine. > 1:2.2+git20170823-8 uses gcc-8, > and that breaks. > > Also it seems this bug seems to affect the architecture ppc64-el only. > > Any ideas, hints and suggestions are much appreciated. > > Best, > -rt >
Bug#907632: [ppc64-el] Breaks building aspectc++
Package: gcc-8 Version: 8.2.0-4 Affects: aspectc++ X-Debbugs-CC: debian-powe...@lists.debian.org Relevant part from https://buildd.debian.org/status/fetch.php?pkg=aspectc%2B%2B=ppc64el=1%3A2.2%2Bgit20170823-8=1535500793=0 In file included from /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/src/PrePrintVisitor.Icc:19: In file included from /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/PreSemIterator.h:24: In file included from /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/PreTreeIterator.h:24: In file included from /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/PreTree.h:26: In file included from /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/Token.h:26: In file included from /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/Location.h:25: In file included from /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/Filename.h:26: In file included from /build/aspectc++-rtQXFn/aspectc++-2.2+git20170823/Puma/gen-release/step1/inc/Puma/Printable.h:25: In file included from /usr/include/c++/8/iostream:39: In file included from /usr/include/c++/8/ostream:38: In file included from /usr/include/c++/8/ios:38: In file included from /usr/include/c++/8/iosfwd:40: In file included from /usr/include/c++/8/bits/postypes.h:40: In file included from /usr/include/c++/8/cwchar:44: In file included from /usr/include/wchar.h:30: /usr/include/powerpc64le-linux-gnu/bits/floatn.h:72:52: error: unknown machine mode '__KC__' typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__KC__))); ^ /usr/include/powernpc64le-linux-gnu/bits/floatn.h:84:9: error: unknown type name '__ieee128' typedef __float128 _Float128; ^ :431:20: note: expanded from here #define __float128 __ieee128 ^ If you look at https://buildd.debian.org/status/logs.php?pkg=aspectc%2B%2B=ppc64el, you'll see that 1:2.2+git20170823-7 did build successfully. There are no relevant upstream code changes, but it was built with gcc-7, which works fine. 1:2.2+git20170823-8 uses gcc-8, and that breaks. Also it seems this bug seems to affect the architecture ppc64-el only. Any ideas, hints and suggestions are much appreciated. Best, -rt