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 17:34:53 +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="001a1143d3304f6e8f055f864c5d" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:53280) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eLthq-0003hu-BO for guix-devel@gnu.org; Mon, 04 Dec 2017 11:35:01 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eLthn-0003Q5-6F for guix-devel@gnu.org; Mon, 04 Dec 2017 11:34:58 -0500 Received: from mail-it0-x236.google.com ([2607:f8b0:4001:c0b::236]:43267) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eLthm-0003Pc-Sm for guix-devel@gnu.org; Mon, 04 Dec 2017 11:34:55 -0500 Received: by mail-it0-x236.google.com with SMTP id u62so14194137ita.2 for ; Mon, 04 Dec 2017 08:34:54 -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 --001a1143d3304f6e8f055f864c5d Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable New branch name is: change-default-icedtea-8-wip I left the original intact, but that does not have the needed fixes. Guix refresh shows the following on current core updates: Building the following 39 packages would ensure 202 dependent packages are rebuilt: sra-tools@2.8.2-1 minced@0.2.0 r-seurat@1.4.0.12-1.fccb77d ant@1.10.1 java-htsjdk@1.129 java-osgi-service-jdbc@1.0.0 java-plexus-interpolation@1.23 java-commons-cli@1.2 f-seq@1.1-1.6ccded3 java-commons-net@3.6 java-commons-lang@2.6 tuxguitar@1.4 antlr3@3.5.2 java-commons-daemon@1.0.15 java-jdom@1.1.3 java-commons-beanutils@1.9.3 java-httpcomponents-httpcore-ab@4.4.6 java-httpcomponents-httpcore-nio@4.4.= 6 java-commons-collections4@4.1 java-jgit@4.7.0.201704051617-r java-jmh@1.17.= 5 java-javax-mail@1.5.6 clojure@1.8.0 java-osgi-service-resolver@1.0.1 java-osgi-service-packageadmin@1.2.0 java-osgi-util-tracker@1.5.1 java-osgi-service-cm@1.5.0 java-httpcomponents-httpmime@4.5.3 java-eclipse-team-core@3.8.0 java-plexus-container-default@1.7.1 kodi@18.0_alpha-6-f22d62d hdf-java@3.3.2 ruby-atoulme-antwrap@0.7.5 plantuml@8048 icedtea-web@1.6.2 java-guice-servlet@4.1 java-eclipse-jetty-servlet@9.2.22 java-eclipse-jetty-servlet@9.4.6 axoloti-patcher@1.0.12 2017-12-04 16:44 GMT+01:00 G=C3=A1bor Boskovits : > Now that this problem around glibc is resolved, I think I will do some > history rewrite, so that these reverts, reverting the revert.... does not > show up. > I 'm also willing to rename the branch to have wip in the name, as this > seems to be standard for longer runnig parts. WDYT? > > 2017-12-04 15:19 GMT+01:00 G=C3=A1bor Boskovits : > >> Ok, so it seems, that the latest glibc update was made to fix the icu4c >> thing. >> It just broke the locales. >> Fix for that has just been pushed, making core-updates usable again. >> I pushed to my icedtea branch also. >> I'm now building it to see what we have now. >> >> 2017-12-04 13:59 GMT+01:00 G=C3=A1bor Boskovits : >> >>> Upstream corrected the issue in commit 6913ad65e00bb32417ad39c41d292b >>> 976171e27e. >>> >>> 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-specifi= c >>>> 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 >>>>>>>> the 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 >>>>>>>>>> glibc removed that. >>>>>>>>>> >>>>>>>>>> So this is ok. >>>>>>>>>> >>>>>>>>>> The question is if this issue was addressed by icu4c, so we can >>>>>>>>>> just 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 >>>>>>>>>>>> informed 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= digitlst.o >>>>>>>>>>>> digitlst.cpp >>>>>>>>>>>> --- ( rebuild with "make VERBOSE=3D1 all" to show all paramete= rs >>>>>>>>>>>> ) -------- >>>>>>>>>>>> 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-icu= 4c-58.2.drv >>>>>>>>>>>> - 1 builder for `/gnu/store/mdd6glhc0dg65y4wd11y0b7sbky9cwv6-i= cu4c-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-ice= dtea-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_is= nan=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_i= sfinite=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 -Wa= ll -pedantic >>>>>>>>>>>> -Wpointer-arith -Wwrite-strings -Wno-long-long -std=3Dc++11 -c= -DPIC -fPIC -o >>>>>>>>>>>> number_decimalquantity.o number_decimalquantity.cpp >>>>>>>>>>>> --- ( rebuild with "make VERBOSE=3D1 all" to show all paramete= rs >>>>>>>>>>>> ) -------- >>>>>>>>>>>> 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-icu= 4c-60.1.drv >>>>>>>>>>>> - 1 builder for `/gnu/store/8s6q5cll4knh7y0wfrbjqs2dai0x4sm2-i= cu4c-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 >>>>>>>>>>>> not 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 >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> > --001a1143d3304f6e8f055f864c5d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
New branch name is:=C2=A0change-default-icedtea-8-wip
I left the original = intact, but that does not have the needed fixes.

G= uix refresh shows the following on current core updates:
Bui= lding the following 39 packages would ensure 202 dependent packages are reb= uilt: sra-tools@2.8.2-1 minced@0.2.0 r-seurat@1.4.0.12-1.fccb77d ant@1.10.1= java-htsjdk@1.129 java-osgi-service-jdbc@1.0.0 java-plexus-interpolation@1= .23 java-commons-cli@1.2 f-seq@1.1-1.6ccded3 java-commons-net@3.6 java-comm= ons-lang@2.6 tuxguitar@1.4 antlr3@3.5.2 java-commons-daemon@1.0.15 java-jdo= m@1.1.3 java-commons-beanutils@1.9.3 java-httpcomponents-httpcore-ab@4.4.6 = java-httpcomponents-httpcore-nio@4.4.6 java-commons-collections4@4.1 java-j= git@4.7.0.201704051617-r java-jmh@1.17.5 java-javax-mail@1.5.6 clojure@1.8.= 0 java-osgi-service-resolver@1.0.1 java-osgi-service-packageadmin@1.2.0 jav= a-osgi-util-tracker@1.5.1 java-osgi-service-cm@1.5.0 java-httpcomponents-ht= tpmime@4.5.3 java-eclipse-team-core@3.8.0 java-plexus-container-default@1.7= .1 kodi@18.0_alpha-6-f22d62d hdf-java@3.3.2 ruby-atoulme-antwrap@0.7.5 plan= tuml@8048 icedtea-web@1.6.2 java-guice-servlet@4.1 java-eclipse-jetty-servl= et@9.2.22 java-eclipse-jetty-servlet@9.4.6 axoloti-patcher@1.0.12


2017-12-04 16:44 GMT+01:00 G=C3=A1bor Boskovits <= ;boskovits@gmail.c= om>:
Now t= hat this problem around glibc is resolved, I think I will do some history r= ewrite, so that these reverts, reverting the revert.... does not show up.I 'm also willing to rename the branch to have wip in the name, as t= his seems to be standard for longer runnig parts. WDYT?

2017-12-04 15:19 GMT+01:00 G=C3=A1bor Boskovits <bosko= vits@gmail.com>:
Ok, so it seems, that the latest glibc update was made to fix the = icu4c thing.
It just broke the locales.
Fix for that has just= been pushed, making core-updates usable again.
I pushed to my ic= edtea branch also.
I'm now building it to see what we have no= w.

2017-12-04 13:59 GMT+01:00 G=C3=A1bor Boskovits <= ;boskovits@gmail.c= om>:
Upstr= eam corrected the issue in commit 6913ad65e00bb32417ad39c41d292b976171= e27e.

It is not yet included in 2.26.

The patch is basically the same as I proposed.

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

<= div class=3D"gmail_quote">2017-12-04 13:33 GMT+01:00 G=C3=A1bor Boskovits <= span dir=3D"ltr"><boskovits@gmail.com>:
I think it should look like this:

--= - cdefs.h 2017-12-04 13:27:55.6= 40000000 +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.
=C2= =A0 =C2=A0 This file is part of the GNU C Library.
=C2=A0
=C2=A0 =C2=A0 The GNU C Library is free software; you can redistribute i= t and/or
@@ -471,10 +471,10 @@
=C2=A0 =C2=A0 testing __= STDC_VERSION__ for generic selection support.
=C2=A0 =C2=A0 On th= e other hand, Clang also defines __GNUC__, so a clang-specific
= =C2=A0 =C2=A0 check is required to enable the use of generic selection.=C2= =A0 */
-#if __GNUC_PREREQ (4, 9) \
+#if !defined __cplu= splus && (__GNUC_PREREQ (4, 9)= =C2=A0 \
=C2=A0 =C2=A0 =C2=A0|| __glibc_clang_has_e= xtension (c_generic_selections) \
=C2=A0 =C2=A0 =C2=A0|| (!define= d __GNUC__ && defined __STDC_VERSION__ \
- && __STDC_VERSION__ >=3D 20= 1112L)
+ && _= _STDC_VERSION__ >=3D 201112L))
=C2=A0# define __HAVE_GEN= ERIC_SELECTION 1
=C2=A0#else
=C2=A0# define __HAVE_GENE= RIC_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>:
<= blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px= #ccc solid;padding-left:1ex">
We have this in cdefs.h:
#if __GNUC_PREREQ (4, 9) \
=C2=A0 =C2=A0 || __glibc_clang_h= as_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)
# define = __HAVE_GENERIC_SELECTION 1
#else
# define __HAVE_GENERI= C_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 <boskovits@gmail.com>:
<= blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px= #ccc solid;padding-left:1ex">
This minimal file repro= duces the problem in icu4c 60.1 in guix environment icu4c on current core-u= pdates.

#include <cmath>

int main(int argc, char **argv)
{
=C2=A0 std::sig= nbit(1);
=C2=A0 return 0;
}

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

/gnu/= store/2wzijwwgpcdb1msmn3wgq9zmrbrkpx2h-gcc-5.5.0/include/c++/cmat= h:44:0

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

#elif __HAVE_DISTINCT_FLOAT= 128
# if __HAVE_GENERIC_SELECTION
#=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=A0default: 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)



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

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

201= 7-12-03 23:08 GMT+01:00 G=C3=A1bor Boskovits <boskovits@gmail.com&g= t;:
Ok, I found t= his one:

It seems, that xlocale.h should not be used as an include, and gli= bc removed that.

So this is ok.

The question is if this issue was addressed by icu4c, so we can just= go to the next step, or should we do something about this.

<= /div>

2017-12-03 23:04 GMT+01:00 = G=C3=A1bor Boskovits <boskovits@gmail.com>:
I've found that simply reverting t= he update to icu4c 60 commit brings up the issue you just mentioned, with m= issing xlocale.h.
So it seems, that the one you found introduced the xl= ocale problem, while=C2=A04e080fbb0bb73e4444181599676f4e1ef5fdc2ba int= roduces the new error.
I think we should deal with the one you fi= nd 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,=C2=A0ee3ebf1a357bd4eb36a2fa1790a7b549cffb305a which broke a l= ot of packages. Might these be somehow related?


<= br>
2017-12-03 22:46 GMT+01:00 Chris Marusich <cmmarusich@gmail.com>:
G=C3=A1bor Boskovits <boskovits@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












--001a1143d3304f6e8f055f864c5d--