Summary: | app-arch/lzip-1.21: /usr/lib/gcc/powerpc64-unknown-linux-gnu/8.2.0/include/g++-v8/type_traits:335:39: error: ‘__float128’ was not declared in this scope struct __is_floating_point_helper<__float128> | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | ernsteiswuerfel <erhard_f> |
Component: | Current packages | Assignee: | Gentoo Toolchain Maintainers <toolchain> |
Status: | RESOLVED INVALID | ||
Severity: | normal | CC: | base-system, mgorny |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | PPC64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
build.log
emerge --info |
Description
ernsteiswuerfel
![]() Created attachment 569366 [details]
emerge --info
This looks like broken stdlibc++ in gcc. timberdoodle ppc64be machine compiles lzip just fine.
> /usr/lib/gcc/powerpc64-unknown-linux-gnu/8.2.0/include/g++-v8/bits/std_abs.h:101:3: error: ‘__float128’ does not name a type; did you mean ‘_Float32x’?
> __float128
> ^~~~~~~~~~
> _Float32x
__float128 support is detected by gcc at build time. It needs some support from glibc.
Sometimes such mismatch happens when gcc is build against old glibc version and then glibc gets upgraded later.
1. Can you post your output of the below?
# g++ -x c++ -dM -E - </dev/null | fgrep 128
#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL
#define __DEC128_EPSILON__ 1E-33DL
#define __FLT32_MAX_EXP__ 128
#define __LONGDOUBLE128 1
#define __DEC128_MIN__ 1E-6143DL
#define __DEC128_MIN_EXP__ (-6142)
#define __GLIBCXX_BITSIZE_INT_N_0 128
#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL
#define __LONG_DOUBLE_IBM128__ 1
#define __LONG_DOUBLE_128__ 1
#define __FLT_MAX_EXP__ 128
#define __SIZEOF_INT128__ 16
#define __DEC128_MAX_EXP__ 6145
#define __GLIBCXX_TYPE_INT_N_0 __int128
#define __DEC128_MANT_DIG__ 34
2. If you rebuild gcc will it change?
Thanks Michał & Sergei! Turned out I had somehow borked my toolchain 1st time I built gcc-8.2.0-r6. After rebuilding toolchain with gcc-7.4.0-r1 and afterwards with gcc-8.2.0-r6 again, lzip-1.21 just builds fine. Out of curiosity I did the rebuild both with -mcpu=power9 and -mcpu=970, worked either way. |