From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?G=C3=A1bor_Boskovits?= Subject: Re: java: switch to icedtea-8 as default JDK Date: Mon, 4 Dec 2017 13:59:32 +0100 Message-ID: References: <87375czhqj.fsf@elephly.net> <873756herx.fsf@gmail.com> <87y3myv7k9.fsf@elephly.net> <87d141mvgn.fsf@gmail.com> <878tepmud6.fsf@gmail.com> <87bmjkfe1j.fsf@gmail.com> <87lgiltxr4.fsf@gmail.com> <87efobqybc.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="001a1144af5e281eef055f834a46" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:33541) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eLqLQ-0002EK-QS for guix-devel@gnu.org; Mon, 04 Dec 2017 07:59:39 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eLqLO-0001rN-6c for guix-devel@gnu.org; Mon, 04 Dec 2017 07:59:36 -0500 Received: from mail-it0-x231.google.com ([2607:f8b0:4001:c0b::231]:37734) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eLqLN-0001rD-UW for guix-devel@gnu.org; Mon, 04 Dec 2017 07:59:34 -0500 Received: by mail-it0-x231.google.com with SMTP id d137so6353987itc.2 for ; Mon, 04 Dec 2017 04:59:33 -0800 (PST) In-Reply-To: List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Chris Marusich Cc: guix-devel --001a1144af5e281eef055f834a46 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Upstream corrected the issue in commit 6913ad65e00bb32417ad39c41d292b976171e27e. It is not yet included in 2.26. The patch is basically the same as I proposed. I think we should get the upstream version. 2017-12-04 13:33 GMT+01:00 G=C3=A1bor Boskovits : > I think it should look like this: > > --- cdefs.h 2017-12-04 13:27:55.640000000 +0100 > +++ cdefs.new.h 2017-12-04 13:31:53.820000000 +0100 > @@ -1,4 +1,4 @@ > -/* Copyright (C) 1992-2017 Free Software Foundation, Inc. > +y/* Copyright (C) 1992-2017 Free Software Foundation, Inc. > This file is part of the GNU C Library. > > The GNU C Library is free software; you can redistribute it and/or > @@ -471,10 +471,10 @@ > testing __STDC_VERSION__ for generic selection support. > On the other hand, Clang also defines __GNUC__, so a clang-specific > check is required to enable the use of generic selection. */ > -#if __GNUC_PREREQ (4, 9) \ > +#if !defined __cplusplus && (__GNUC_PREREQ (4, 9) \ > || __glibc_clang_has_extension (c_generic_selections) \ > || (!defined __GNUC__ && defined __STDC_VERSION__ \ > - && __STDC_VERSION__ >=3D 201112L) > + && __STDC_VERSION__ >=3D 201112L)) > # define __HAVE_GENERIC_SELECTION 1 > #else > # define __HAVE_GENERIC_SELECTION 0 > > > 2017-12-04 13:21 GMT+01:00 G=C3=A1bor Boskovits : > >> We also have this in bits/floatn.h, but this seems right. >> >> #if (defined __x86_64__ = \ >> ? __GNUC_PREREQ (4, 3) = \ >> : (defined __GNU__ ? __GNUC_PREREQ (4, 5) : __GNUC_PREREQ (4, 4))) >> # define __HAVE_FLOAT128 1 >> #else >> # define __HAVE_FLOAT128 0 >> #endif >> >> /* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct >> >> >> from the default float, double and long double types in this glibc. = */ >> #if __HAVE_FLOAT128 >> # define __HAVE_DISTINCT_FLOAT128 1 >> #else >> # define __HAVE_DISTINCT_FLOAT128 0 >> #endif >> >> I think the problem is caused by HAVE_GENERIC_SELECTION defined when we >> are in C++. >> >> >> 2017-12-04 13:18 GMT+01:00 G=C3=A1bor Boskovits : >> >>> We have this in cdefs.h: >>> #if __GNUC_PREREQ (4, 9) \ >>> || __glibc_clang_has_extension (c_generic_selections) \ >>> || (!defined __GNUC__ && defined __STDC_VERSION__ \ >>> && __STDC_VERSION__ >=3D 201112L) >>> # define __HAVE_GENERIC_SELECTION 1 >>> #else >>> # define __HAVE_GENERIC_SELECTION 0 >>> #endif >>> >>> This does not seem right. >>> >>> We should not have this defined when compiling c++. >>> WDYT? >>> >>> 2017-12-04 13:03 GMT+01:00 G=C3=A1bor Boskovits : >>> >>>> This minimal file reproduces the problem in icu4c 60.1 in guix >>>> environment icu4c on current core-updates. >>>> >>>> #include >>>> >>>> int main(int argc, char **argv) >>>> { >>>> std::signbit(1); >>>> return 0; >>>> } >>>> >>>> It seems, that it is some problem with cmath.h >>>> >>>> /gnu/store/2wzijwwgpcdb1msmn3wgq9zmrbrkpx2h-gcc-5.5.0/includ >>>> e/c++/cmath:44:0 >>>> >>>> The definition is in glibc 2.26 math.h, looks like this: >>>> >>>> #elif __HAVE_DISTINCT_FLOAT128 >>>> # if __HAVE_GENERIC_SELECTION >>>> # define __MATH_TG(TG_ARG, FUNC, ARGS) \ >>>> _Generic ((TG_ARG), \ >>>> float: FUNC ## f ARGS, \ >>>> default: FUNC ARGS, \ >>>> long double: FUNC ## l ARGS, \ >>>> _Float128: FUNC ## f128 ARGS) >>>> >>>> >>>> >>>> 2017-12-03 23:25 GMT+01:00 G=C3=A1bor Boskovits : >>>> >>>>> It seems, that the fix is already included in the 60.1 release for th= e >>>>> xlocal problem. I think we can ignore that. >>>>> >>>>> 2017-12-03 23:20 GMT+01:00 G=C3=A1bor Boskovits = : >>>>> >>>>>> It seems, that they issued that already: >>>>>> http://bugs.icu-project.org/trac/changeset/40603 >>>>>> >>>>>> 2017-12-03 23:08 GMT+01:00 G=C3=A1bor Boskovits : >>>>>> >>>>>>> Ok, I found this one: >>>>>>> https://sourceware.org/glibc/wiki/Release/2.26#Removal_of_.2 >>>>>>> 7xlocale.h.27 >>>>>>> >>>>>>> It seems, that xlocale.h should not be used as an include, and glib= c >>>>>>> removed that. >>>>>>> >>>>>>> So this is ok. >>>>>>> >>>>>>> The question is if this issue was addressed by icu4c, so we can jus= t >>>>>>> go to the next step, or should we do something about this. >>>>>>> >>>>>>> >>>>>>> 2017-12-03 23:04 GMT+01:00 G=C3=A1bor Boskovits : >>>>>>> >>>>>>>> I've found that simply reverting the update to icu4c 60 commit >>>>>>>> brings up the issue you just mentioned, with missing xlocale.h. >>>>>>>> So it seems, that the one you found introduced the xlocale problem= , >>>>>>>> while 4e080fbb0bb73e4444181599676f4e1ef5fdc2ba introduces the new >>>>>>>> error. >>>>>>>> I think we should deal with the one you find first, the see what's >>>>>>>> with this newer one. >>>>>>>> >>>>>>>> We also have a long running discussion on a bug introduced by a >>>>>>>> later glibc update, ee3ebf1a357bd4eb36a2fa1790a7b549cffb305a which >>>>>>>> broke a lot of packages. Might these be somehow related? >>>>>>>> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D29537 >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> 2017-12-03 22:46 GMT+01:00 Chris Marusich : >>>>>>>> >>>>>>>>> G=C3=A1bor Boskovits writes: >>>>>>>>> >>>>>>>>> > Any news on this icu4c thing? >>>>>>>>> >>>>>>>>> After about 2 days of running git bisect, my computer has informe= d >>>>>>>>> me >>>>>>>>> that the first bad commit is 67d527e35e367c9e9e89ec01cda2ce >>>>>>>>> 32cabd2d89. >>>>>>>>> This is the first commit where icu4c fails to build on >>>>>>>>> core-updates. >>>>>>>>> The build failure at this commit is as follows: >>>>>>>>> >>>>>>>>> --8<---------------cut here---------------start------------->8--- >>>>>>>>> g++ ... decimfmt.cpp >>>>>>>>> g++ ... decimalformatpattern.cpp >>>>>>>>> g++ ... dcfmtsym.cpp >>>>>>>>> g++ ... digitlst.cpp >>>>>>>>> g++ ... fmtable_cnv.cpp >>>>>>>>> digitlst.cpp:67:24: fatal error: xlocale.h: No such file or >>>>>>>>> directory >>>>>>>>> compilation terminated. >>>>>>>>> *** Failed compilation command follows: >>>>>>>>> ---------------------------------------------------------- >>>>>>>>> g++ -D_REENTRANT -DU_HAVE_ELF_H=3D1 -DU_HAVE_ATOMIC=3D1 >>>>>>>>> -DU_HAVE_STRTOD_L=3D1 -I. -I../common -DU_ATTRIBUTE_DEPRECATED=3D >>>>>>>>> -DU_I18N_IMPLEMENTATION -O2 -W -Wall -pedantic -Wpointer-arith >>>>>>>>> -Wwrite-strings -Wno-long-long --std=3Dc++0x -c -DPIC -fPIC -o di= gitlst.o >>>>>>>>> digitlst.cpp >>>>>>>>> --- ( rebuild with "make VERBOSE=3D1 all" to show all parameters = ) >>>>>>>>> -------- >>>>>>>>> make[1]: *** [../config/mh-linux:51: digitlst.o] Error 1 >>>>>>>>> make[1]: *** Waiting for unfinished jobs.... >>>>>>>>> make[1]: Leaving directory '/tmp/guix-build-icu4c-58.2.dr >>>>>>>>> v-0/icu/source/i18n' >>>>>>>>> make: *** [Makefile:143: all-recursive] Error 2 >>>>>>>>> phase `build' failed after 59.0 seconds >>>>>>>>> builder for `/gnu/store/mdd6glhc0dg65y4wd11y0b7sbky9cwv6-icu4c-58= .2.drv' >>>>>>>>> failed with exit code 1 >>>>>>>>> @ build-failed /gnu/store/mdd6glhc0dg65y4wd11y0b7sbky9cwv6-icu4c-= 58.2.drv >>>>>>>>> - 1 builder for `/gnu/store/mdd6glhc0dg65y4wd11y0b7sbky9cwv6-icu4= c-58.2.drv' >>>>>>>>> failed with exit code 1 >>>>>>>>> guix build: error: build failed: build of >>>>>>>>> `/gnu/store/mdd6glhc0dg65y4wd11y0b7sbky9cwv6-icu4c-58.2.drv' >>>>>>>>> failed >>>>>>>>> --8<---------------cut here---------------end--------------->8--- >>>>>>>>> >>>>>>>>> Note that this is NOT the same error as the one that occurs at >>>>>>>>> commit >>>>>>>>> d6adba786cf2ab1b26ff083928b64262281ff106 (which is the commit on >>>>>>>>> core-updates from which G=C3=A1bor's branch change-default-icedte= a-8 >>>>>>>>> branch >>>>>>>>> begins). That error is: >>>>>>>>> >>>>>>>>> --8<---------------cut here---------------start------------->8--- >>>>>>>>> g++ ... number_decimalquantity.cpp >>>>>>>>> g++ ... number_decimfmtprops.cpp >>>>>>>>> number_decimalquantity.cpp: In member function >>>>>>>>> =E2=80=98icu_60::number::impl::DecimalQuantity& >>>>>>>>> icu_60::number::impl::DecimalQuantity::setToDouble(double)=E2=80= =99: >>>>>>>>> number_decimalquantity.cpp:333:9: error: =E2=80=98_Generic=E2=80= =99 is not a >>>>>>>>> member of =E2=80=98std=E2=80=99 >>>>>>>>> if (std::signbit(n) !=3D 0) { >>>>>>>>> ^ >>>>>>>>> In file included from /gnu/store/nz2m4gdvgzcrkqa4xwv >>>>>>>>> 360iskh7syj7i-gcc-5.5.0/include/c++/cmath:44:0, >>>>>>>>> from number_decimalquantity.cpp:9: >>>>>>>>> number_decimalquantity.cpp:333:14: error: expected >>>>>>>>> primary-expression before =E2=80=98float=E2=80=99 >>>>>>>>> if (std::signbit(n) !=3D 0) { >>>>>>>>> ^ >>>>>>>>> number_decimalquantity.cpp:333:14: error: expected >>>>>>>>> primary-expression before =E2=80=98default=E2=80=99 >>>>>>>>> if (std::signbit(n) !=3D 0) { >>>>>>>>> ^ >>>>>>>>> number_decimalquantity.cpp:333:14: error: expected >>>>>>>>> primary-expression before =E2=80=98long=E2=80=99 >>>>>>>>> if (std::signbit(n) !=3D 0) { >>>>>>>>> ^ >>>>>>>>> number_decimalquantity.cpp:333:14: error: expected >>>>>>>>> primary-expression before =E2=80=98:=E2=80=99 token >>>>>>>>> if (std::signbit(n) !=3D 0) { >>>>>>>>> ^ >>>>>>>>> number_decimalquantity.cpp:337:9: error: =E2=80=98__builtin_isnan= =E2=80=99 is not >>>>>>>>> a member of =E2=80=98std=E2=80=99 >>>>>>>>> if (std::isnan(n) !=3D 0) { >>>>>>>>> ^ >>>>>>>>> number_decimalquantity.cpp:337:9: note: suggested alternative: >>>>>>>>> : note: =E2=80=98__builtin_isnan=E2=80=99 >>>>>>>>> number_decimalquantity.cpp:339:16: error: =E2=80=98__builtin_isfi= nite=E2=80=99 is >>>>>>>>> not a member of =E2=80=98std=E2=80=99 >>>>>>>>> } else if (std::isfinite(n) =3D=3D 0) { >>>>>>>>> ^ >>>>>>>>> number_decimalquantity.cpp:339:16: note: suggested alternative: >>>>>>>>> : note: =E2=80=98__builtin_isfinite=E2=80=99 >>>>>>>>> *** Failed compilation command follows: >>>>>>>>> ---------------------------------------------------------- >>>>>>>>> g++ -D_REENTRANT -DU_HAVE_ELF_H=3D1 -DU_HAVE_ATOMIC=3D1 >>>>>>>>> -DU_HAVE_STRTOD_L=3D1 -DU_HAVE_XLOCALE_H=3D0 -I. -I../common >>>>>>>>> -DU_ATTRIBUTE_DEPRECATED=3D -DU_I18N_IMPLEMENTATION -O2 -W -Wall = -pedantic >>>>>>>>> -Wpointer-arith -Wwrite-strings -Wno-long-long -std=3Dc++11 -c -D= PIC -fPIC -o >>>>>>>>> number_decimalquantity.o number_decimalquantity.cpp >>>>>>>>> --- ( rebuild with "make VERBOSE=3D1 all" to show all parameters = ) >>>>>>>>> -------- >>>>>>>>> make[1]: *** [../config/mh-linux:51: number_decimalquantity.o] >>>>>>>>> Error 1 >>>>>>>>> make[1]: *** Waiting for unfinished jobs.... >>>>>>>>> make[1]: Leaving directory '/tmp/guix-build-icu4c-60.1.dr >>>>>>>>> v-0/icu/source/i18n' >>>>>>>>> make: *** [Makefile:149: all-recursive] Error 2 >>>>>>>>> phase `build' failed after 122.2 seconds >>>>>>>>> builder for `/gnu/store/8s6q5cll4knh7y0wfrbjqs2dai0x4sm2-icu4c-60= .1.drv' >>>>>>>>> failed with exit code 1 >>>>>>>>> @ build-failed /gnu/store/8s6q5cll4knh7y0wfrbjqs2dai0x4sm2-icu4c-= 60.1.drv >>>>>>>>> - 1 builder for `/gnu/store/8s6q5cll4knh7y0wfrbjqs2dai0x4sm2-icu4= c-60.1.drv' >>>>>>>>> failed with exit code 1 >>>>>>>>> guix build: error: build failed: build of >>>>>>>>> `/gnu/store/8s6q5cll4knh7y0wfrbjqs2dai0x4sm2-icu4c-60.1.drv' >>>>>>>>> failed >>>>>>>>> --8<---------------cut here---------------end--------------->8--- >>>>>>>>> >>>>>>>>> The fact that these errors are different suggests that more than >>>>>>>>> one >>>>>>>>> problem may have been introduced... >>>>>>>>> >>>>>>>>> I haven't tried any more recent commits on core-updates. I am no= t >>>>>>>>> sure >>>>>>>>> what the best way is to debug this, so I would appreciate any >>>>>>>>> advice >>>>>>>>> anyone has. >>>>>>>>> >>>>>>>>> I hope that information helps. Hopefully, together, we can >>>>>>>>> untangle >>>>>>>>> this! >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Chris >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> > --001a1144af5e281eef055f834a46 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Upstream corrected the issue in commit 6913ad65e00bb32417a= d39c41d292b976171e27e.

It is not yet included in 2.26.

The patch is basically the same as I proposed.

I think we should get the upstream version.=C2=A0

2017-12-04= 13:33 GMT+01:00 G=C3=A1bor Boskovits <boskovits@gmail.com>:
I think it should loo= k like this:

--- cdefs.h 2017-12-04 13:27:55.640000000 +0100
+++ cdefs.n= ew.h 2017-12-04 13:31:53.820000= 000 +0100
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992-2017 F= ree Software Foundation, Inc.
+y/* Copyright (C) 1992-2017 Free S= oftware Foundation, Inc.
=C2=A0 =C2=A0 This file is part of the G= NU C Library.
=C2=A0
=C2=A0 =C2=A0 The GNU C Library is= free software; you can redistribute it and/or
@@ -471,10 +471,10= @@
=C2=A0 =C2=A0 testing __STDC_VERSION__ for generic selection = support.
=C2=A0 =C2=A0 On the other hand, Clang also defines __GN= UC__, so a clang-specific
=C2=A0 =C2=A0 check is required to enab= le the use of generic selection.=C2=A0 */
-#if __GNUC_PREREQ (4, = 9) \
+#if !defined __cplusplus && (__GNUC_PREREQ (4, 9) =C2=A0 \
<= div>=C2=A0 =C2=A0 =C2=A0|| __glibc_clang_has_extension (c_generic_selection= s) \
=C2=A0 =C2=A0 =C2=A0|| (!defined __GNUC__ && defined= __STDC_VERSION__ \
-= && __STDC_VERSION__ >=3D 201112L)
+ && __STDC_VERSION__ >=3D 20111= 2L))
=C2=A0# define __HAVE_GENERIC_SELECTION 1
=C2=A0#else
=C2=A0# define __HAVE_GENERIC_SELECTION 0


2017-12-04 13:2= 1 GMT+01:00 G=C3=A1bor Boskovits <boskovits@gmail.com>:
We also have this in = bits/floatn.h, but this seems right.

#if (defined = __x86_64__=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0\
=C2=A0 =C2=A0 =C2=A0? __G= NUC_PREREQ (4, 3)=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0\
=C2=A0 =C2=A0 =C2=A0: (defined _= _GNU__ ? __GNUC_PREREQ (4, 5) : __GNUC_PREREQ (4, 4)))
# define _= _HAVE_FLOAT128 1
#else
# define __HAVE_FLOAT128 0
=
#endif

/* Defined to 1 if __HAVE_FLOAT128 is = 1 and the type is ABI-distinct=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0
<= div>=C2=A0 =C2=A0from the default float, double and long double types in th= is glibc.=C2=A0 */
#if __HAVE_FLOAT128
# define __HAVE_= DISTINCT_FLOAT128 1
#else
# define __HAVE_DISTINCT_FLOA= T128 0
#endif

I think the problem is cau= sed by HAVE_GENERIC_SELECTION defined when we are in C++.


2017-12-04 13:18 GMT+01:00 G=C3=A1bor Boskovits <boskovits@gmail.com>:
We have th= is in cdefs.h:
#if __GNUC_PREREQ (4, 9) \
=C2=A0 =C2=A0 = || __glibc_clang_has_extension (c_generic_selections) \
=C2=A0 = =C2=A0 || (!defined __GNUC__ && defined __STDC_VERSION__ \
=C2=A0 =C2=A0 =C2=A0 =C2=A0 && __STDC_VERSION__ >=3D 201112L)<= /div>
# define __HAVE_GENERIC_SELECTION 1
#else
# d= efine __HAVE_GENERIC_SELECTION 0
#endif

This does not seem right.

We should not have= this defined when compiling c++.
WDYT?

2017-12-04 13:03 GMT+01:00 G=C3=A1bor Boskovits <bos= kovits@gmail.com>:
This minimal file reproduces the problem in icu4c 60.1 in gui= x environment icu4c on current core-updates.

#incl= ude <cmath>

int main(int argc, char **argv)<= /div>
{
=C2=A0 std::signbit(1);
=C2=A0 return 0;
}

It seems, that it is some problem with c= math.h

/gnu/store/2wzijwwgpcdb1msmn3wgq9zmrbr= kpx2h-gcc-5.5.0/include/c++/cmath:44:0

Th= e definition is in glibc 2.26 math.h, looks like this:

=
#elif __HAVE_DISTINCT_FLOAT128
# if __HAVE_GENERIC_SELE= CTION
#=C2=A0 define __MATH_TG(TG_ARG, FUNC, ARGS)=C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0\
=C2=A0 =C2=A0 =C2=A0_Generic ((TG_ARG),=C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 \
=C2=A0 =C2= =A0 =C2=A0 =C2=A0float: FUNC ## f ARGS,=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0\
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0de= fault: FUNC ARGS,=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 \
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0long double: FUNC= ## l ARGS,=C2=A0 =C2=A0 =C2=A0\
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0_Float128: FUNC ## f128 ARGS)

<= /div>

2017-12-03 23:25 GMT+01:00 G=C3=A1bor Boskovit= s <boskovits@gmail.com>:
It seems, that the fix is already included in the 60.1 re= lease for the xlocal problem. I think we can ignore that.

2017-12-03 23:20 GMT+01:00 G=C3=A1bor Bo= skovits <boskovits@gmail.com>:
It seems, that they issued that already:
=

2017-12-03 23:08 GMT+01:00 G=C3=A1bor Boskovits <bosko= vits@gmail.com>:

2017-12-03 23:04 GMT+01:00 G=C3=A1bor Boskovits <boskovits@g= mail.com>:
I've found that simply reverting the update to icu4c 60 commit brings = up the issue you just mentioned, with missing xlocale.h.
So it seems, t= hat the one you found introduced the xlocale problem, while=C2=A04e080fbb0b= b73e4444181599676f4e1ef5fdc2ba introduces the new error.
I t= hink we should deal with the one you find first, the see what's with th= is newer one.

We also have a long running discussi= on on a bug introduced by a later glibc update,=C2=A0ee3ebf1a357bd4eb36a2fa= 1790a7b549cffb305a which broke a lot of packages. Might these be someh= ow related?



2017-12-03 22:46 GMT+01:00 Chris Marusich &l= t;cmmarusich@gmai= l.com>:
G=C3=A1bor Bo= skovits <boskov= its@gmail.com> writes:

> Any news on this icu4c thing?

After about 2 days of running git bisect, my computer has informed m= e
that the first bad commit is 67d527e35e367c9e9e89ec01cda2ce32cabd2d89.=
This is the first commit where icu4c fails to build on core-updates.
The build failure at this commit is as follows:

--8<---------------cut here---------------start------------->8--= -
=C2=A0 =C2=A0g++=C2=A0 =C2=A0...=C2=A0 decimfmt.cpp
=C2=A0 =C2=A0g++=C2=A0 =C2=A0...=C2=A0 decimalformatpattern.cpp
=C2=A0 =C2=A0g++=C2=A0 =C2=A0...=C2=A0 dcfmtsym.cpp
=C2=A0 =C2=A0g++=C2=A0 =C2=A0...=C2=A0 digitlst.cpp
=C2=A0 =C2=A0g++=C2=A0 =C2=A0...=C2=A0 fmtable_cnv.cpp
digitlst.cpp:67:24: fatal error: xlocale.h: No such file or directory
compilation terminated.
*** Failed compilation command follows: ------------------------------= ----------------------------
g++ -D_REENTRANT -DU_HAVE_ELF_H=3D1 -DU_HAVE_ATOMIC=3D1 -DU_HAVE_STRTOD_L= =3D1 -I. -I../common -DU_ATTRIBUTE_DEPRECATED=3D -DU_I18N_IMPLEMENTATION -O= 2 -W -Wall -pedantic -Wpointer-arith -Wwrite-strings -Wno-long-long --std= =3Dc++0x -c -DPIC -fPIC -o digitlst.o digitlst.cpp
--- ( rebuild with "make VERBOSE=3D1 all" to show all parameters = ) --------
make[1]: *** [../config/mh-linux:51: digitlst.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/tmp/guix-build-icu4c-58.2.drv-0/icu/s= ource/i18n'
make: *** [Makefile:143: all-recursive] Error 2
phase `build' failed after 59.0 seconds
builder for `/gnu/store/mdd6glhc0dg65y4wd11y0b7sbky9cwv6-icu4c-58.2.dr= v' failed with exit code 1
@ build-failed /gnu/store/mdd6glhc0dg65y4wd11y0b7sbky9cwv6-icu4c-58.2.= drv - 1 builder for `/gnu/store/mdd6glhc0dg65y4wd11y0b7sbky9cwv6-icu4c= -58.2.drv' failed with exit code 1
guix build: error: build failed: build of `/gnu/store/mdd6glhc0dg65y4wd11y0b7sbky9cwv6-icu4c-58.2.drv' failed
--8<---------------cut here---------------end--------------->8--= -

Note that this is NOT the same error as the one that occurs at commit
d6adba786cf2ab1b26ff083928b64262281ff106 (which is the commit on
core-updates from which G=C3=A1bor's branch change-default-icedtea-8 br= anch
begins).=C2=A0 That error is:

--8<---------------cut here---------------start------------->8--= -
=C2=A0 =C2=A0g++=C2=A0 =C2=A0...=C2=A0 number_decimalquantity.cpp
=C2=A0 =C2=A0g++=C2=A0 =C2=A0.= ..=C2=A0 number_decimfmtprops.cpp
number_decimalquantity.cpp: In member function =E2=80=98icu_60::number::imp= l::DecimalQuantity& icu_60::number::impl::DecimalQuantity::se= tToDouble(double)=E2=80=99:
number_decimalquantity.cpp:333:9: error: =E2=80=98_Generic=E2=80=99 is= not a member of =E2=80=98std=E2=80=99
=C2=A0 =C2=A0 =C2=A0if (std::signbit(n) !=3D 0) {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^
In file included from /gnu/store/nz2m4gdvgzcrkqa4xwv360iskh7syj7i-gcc-= 5.5.0/include/c++/cmath:44:0,
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0from number_d= ecimalquantity.cpp:9:
number_decimalquantity.cpp:333:14: error: expected primary-expression = before =E2=80=98float=E2=80=99
=C2=A0 =C2=A0 =C2=A0if (std::signbit(n) !=3D 0) {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^
number_decimalquantity.cpp:333:14: error: expected primary-expression = before =E2=80=98default=E2=80=99
=C2=A0 =C2=A0 =C2=A0if (std::signbit(n) !=3D 0) {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^
number_decimalquantity.cpp:333:14: error: expected primary-expression = before =E2=80=98long=E2=80=99
=C2=A0 =C2=A0 =C2=A0if (std::signbit(n) !=3D 0) {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^
number_decimalquantity.cpp:333:14: error: expected primary-expression = before =E2=80=98:=E2=80=99 token
=C2=A0 =C2=A0 =C2=A0if (std::signbit(n) !=3D 0) {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^
number_decimalquantity.cpp:337:9: error: =E2=80=98__builtin_isnan=E2= =80=99 is not a member of =E2=80=98std=E2=80=99
=C2=A0 =C2=A0 =C2=A0if (std::isnan(n) !=3D 0) {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^
number_decimalquantity.cpp:337:9: note: suggested alternative:
<built-in>: note:=C2=A0 =C2=A0=E2=80=98__builtin_isnan=E2=80=99
number_decimalquantity.cpp:339:16: error: =E2=80=98__builtin_isfinite= =E2=80=99 is not a member of =E2=80=98std=E2=80=99
=C2=A0 =C2=A0 =C2=A0} else if (std::isfinite(n) =3D=3D 0) {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^
number_decimalquantity.cpp:339:16: note: suggested alternative:
<built-in>: note:=C2=A0 =C2=A0=E2=80=98__builtin_isfinite=E2=80=99
*** Failed compilation command follows: -----------------------= -----------------------------------
g++ -D_REENTRANT -DU_HAVE_ELF_H=3D1 -DU_HAVE_ATOMIC=3D1 -DU_HAVE_STRTOD_L= =3D1 -DU_HAVE_XLOCALE_H=3D0 -I. -I../common -DU_ATTRIBUTE_DEPRECATED=3D -DU= _I18N_IMPLEMENTATION -O2 -W -Wall -pedantic -Wpointer-arith -Wwrite-strings= -Wno-long-long -std=3Dc++11 -c -DPIC -fPIC -o number_decimalquantity.o num= ber_decimalquantity.cpp
--- ( rebuild with "make VERBOSE=3D1 all" to show all parameters = ) --------
make[1]: *** [../config/mh-linux:51: number_decimalquantity.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/tmp/guix-build-icu4c-60.1.drv-0/icu/s= ource/i18n'
make: *** [Makefile:149: all-recursive] Error 2
phase `build' failed after 122.2 seconds
builder for `/gnu/store/8s6q5cll4knh7y0wfrbjqs2dai0x4sm2-icu4c-60.1.dr= v' failed with exit code 1
@ build-failed /gnu/store/8s6q5cll4knh7y0wfrbjqs2dai0x4sm2-icu4c-60.1.= drv - 1 builder for `/gnu/store/8s6q5cll4knh7y0wfrbjqs2dai0x4sm2-icu4c= -60.1.drv' failed with exit code 1
guix build: error: build failed: build of `/gnu/store/8s6q5cll4knh7y0wfrbjqs2dai0x4sm2-icu4c-60.1.drv' failed
--8<---------------cut here---------------end--------------->8--= -

The fact that these errors are different suggests that more than one
problem may have been introduced...

I haven't tried any more recent commits on core-updates.=C2=A0 I am not= sure
what the best way is to debug this, so I would appreciate any advice
anyone has.

I hope that information helps.=C2=A0 Hopefully, together, we can untangle this!

--
Chris









--001a1144af5e281eef055f834a46--