Received: (at 35350) by debbugs.gnu.org; 20 Sep 2021 05:45:02 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Sep 20 01:45:02 2021 Received: from localhost ([127.0.0.1]:40647 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1mSC6v-0008GR-8C for submit <at> debbugs.gnu.org; Mon, 20 Sep 2021 01:45:02 -0400 Received: from out1.migadu.com ([91.121.223.63]:26885) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <iskarian@HIDDEN>) id 1mSC6s-0008G5-OR for 35350 <at> debbugs.gnu.org; Mon, 20 Sep 2021 01:44:59 -0400 X-Report-Abuse: Please report any abuse attempt to abuse@HIDDEN and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mgsn.dev; s=key1; t=1632116697; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=L6/enyah5Tsg0qnWyv8Qz91KfXjfuXs/4WSEvbhhHJk=; b=c2VJQldKX1ipXo3hodoAvCa4ab7lVccTccApz4r8Nau5nNL0tbjSM5Ctje66amjmYdpM7h JcUjiA22O4/WBPXZVwsm9iB+qUc2Jvm2rZOnAkZtL355+5EBA0MrxcFeC/oAiDL9y1AMQI s26nGCpXkq7KZJJtRrty0e7Kr61dkX4= From: Sarah Morgensen <iskarian@HIDDEN> To: Mark H Weaver <mhw@HIDDEN> Subject: Re: bug#35350: Some compile output still leaks through with --verbosity=1 References: <87mukkfd2j.fsf@HIDDEN> <87r29v2jz2.fsf@HIDDEN> <87ftq9silk.fsf@HIDDEN> <87imv5jai5.fsf@HIDDEN> <87k1fgh9c0.fsf@HIDDEN> <874l6jh0bx.fsf@HIDDEN> <87imuvme7g.fsf@HIDDEN> <87r29e5zsw.fsf@HIDDEN> <87tveauk2u.fsf@HIDDEN> Date: Sun, 19 Sep 2021 22:44:55 -0700 In-Reply-To: <87tveauk2u.fsf@HIDDEN> (Mark H. Weaver's message of "Sat, 04 May 2019 14:53:50 -0400 (2 years, 19 weeks, 5 days ago)") Message-ID: <864kafhkbs.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT X-Migadu-Auth-User: iskarian@HIDDEN X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 35350 Cc: Ludovic =?utf-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, 35350 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) Hello, I encountered this issue today. This looks like a pretty complete solution ready to go. Did this ever make it into Guile/Guix? (Ironically I was also reaching for a "make-custom-textual-output-port" the other day!) -- Sarah Mark H Weaver <mhw@HIDDEN> writes: > Hi Ludovic, > > Ludovic Court=C3=A8s <ludo@HIDDEN> writes: > >> Mark H Weaver <mhw@HIDDEN> skribis: >> >>> Ludovic Court=C3=A8s <ludo@HIDDEN> writes: >> >> [...] >> >>>> So there are two things. To fix the issue you reported (build output >>>> that goes through), I think we must simply turn off UTF-8 decoding from >>>> =E2=80=98process-stderr=E2=80=99 and leave that entirely to =E2=80=98b= uild-event-output-port=E2=80=99. >>> >>> Can we assume that UTF-8 is the appropriate encoding for >>> (current-build-output-port)? My interpretation of the Guix manual entry >>> for 'current-build-output-port' suggests that the answer should be "no". >> >> What goes to =E2=80=98current-build-output-port=E2=80=99 comes from buil= ds processes. >> It=E2=80=99s usually UTF-8 but it can be anything, including binary garb= age, >> which should be gracefully handled. >> >> That=E2=80=99s why =E2=80=98process-stderr=E2=80=99 currently uses =E2= =80=98read-maybe-utf8-string=E2=80=99. > > I agree that we should (permissively) interpret the build process output > as UTF-8, regardless of locale settings. However, the encoding of > 'current-build-output-port' is orthogonal, and I see no reason to assume > that it's UTF-8. > > As 'process-stderr' is currently implemented, it makes no assumptions > about the encoding of 'current-build-output-port'. That's because it > uses only textual I/O on it. The end result is that the UTF-8 build > output is effectively converted into the port encoding of > 'current-build-output-port', whatever it might be. I think that's how > it should be, no? > >>> Also, in your previous message you wrote: >>> >>> The problem is the first layer of UTF-8 decoding that happens in >>> =E2=80=98process-stderr=E2=80=99, in the =E2=80=98%stderr-next=E2=80= =99 case. We would need to >>> disable it, but only if the build output port is >>> =E2=80=98build-event-output-port=E2=80=99 (i.e., it=E2=80=99s capable= of interpreting >>> =E2=80=9Cmultiplexed build output=E2=80=9D correctly.) >>> >>> It sounds like you're suggesting that 'process-stderr' should look to >>> see if (current-build-output-port) is a 'build-event-output-port', and >>> in that case it should use binary I/O primitives to write raw binary >>> data to it, otherwise it should use text I/O primitives and write >>> characters to it. Do I understand correctly? >> >> Yes. (Actually, rather than guessing if (current-build-output-port) is >> a =E2=80=98build-event-output-port=E2=80=99, there could be a fluid to a= sk for the use >> of raw binary primitives.) >> >>> IMO, it would be cleaner to treat 'build-event-output-port' uniformly, >>> and specifically as a textual port of unknown encoding. >> >> (You mean =E2=80=98current-build-output-port=E2=80=99, right?) > > Yes, indeed. > >> I think you=E2=80=99re right. I=E2=80=99m not yet entirely sure what th= e implications >> are. There=E2=80=99s a couple of tests in tests/store.scm for UTF-8 >> interpretation that describe behavior that I think we should preserve. > > I certainly agree that we should preserve those tests. I would go > further and add two more tests that bind 'current-build-output-port' to > a port with a non-UTF-8 encoding (e.g. UTF-16) and verify that the =CE=BB > gets converted correctly. The test build process would output the =CE=BB= as > UTF-8, but it should be written to 'current-build-output-port' as > e.g. UTF-16. > > What do you think? > >>> I would suggest changing 'build-event-output-port' to create an R6RS >>> custom *textual* output port, so that it wouldn't have to worry about >>> encodings at all, and it would only be given whole characters. >>> Internally, it would be doing exactly what you suggest above, but those >>> details would be encapsulated within the custom textual port. >>> >>> However, I don't think we can use Guile's current implementation of R6RS >>> custom textual output ports, which are currently built on Guile's legacy >>> soft ports, which I suspect have a similar bug with multibyte characters >>> sometimes being split (see 'soft_port_write' in vports.c). >>> >>> Having said all of this, my suggestions would ultimately entail having >>> two separate places along the stderr pipeline where 'utf8->string!' >>> would be used, and maybe that's too much until we have a more optimized >>> C implementation of it. >> >> Yeah it looks like we don=E2=80=99t yet have custom textual output ports= that we >> could rely on, do we? >> >> I support your work to add that in Guile proper! > > For now, I can offer a new implementation of custom textual output ports > built upon custom binary ports and the 'utf8->string!' that I previously > sent. See attached. > > Thanks, > Mark > > GNU Guile 2.2.4 > Copyright (C) 1995-2017 Free Software Foundation, Inc. > > Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. > This program is free software, and you are welcome to redistribute it > under certain conditions; type `,show c' for details. > > Enter `,help' for help. > scheme@(guile-user)> (load "utf8-decoder.scm") > scheme@(guile-user)> (load "guile-new-custom-textual-ports.scm") > scheme@(guile-user)> (define (my-write! str start count) > (pk 'my-write! (substring str start (+ start count= ))) > count) > scheme@(guile-user)> (define port (make-custom-textual-output-port "test1= " my-write! #f #f #f)) > scheme@(guile-user)> (display "Hello =CE=BB world!" port) > scheme@(guile-user)> (force-output port) > > ;;; (my-write! "Hello =CE=BB world!") > scheme@(guile-user)> (string->utf8 "=CE=BB") > $2 =3D #vu8(206 187) > scheme@(guile-user)> (string->utf8 "Hello =CE=BB world!") > $3 =3D #vu8(72 101 108 108 111 32 206 187 32 119 111 114 108 100 33) > scheme@(guile-user)> (put-bytevector port #vu8(72 101 108 108 111 32 206)) > scheme@(guile-user)> (force-output port) > > ;;; (my-write! "Hello ") > scheme@(guile-user)> (put-bytevector port #vu8(187 32 119 111 114 108 100= 33)) > scheme@(guile-user)> (force-output port) > > ;;; (my-write! "=CE=BB world!") > scheme@(guile-user)> > > ;;; Copyright =C2=A9 2019 Mark H Weaver <mhw@HIDDEN> > ;;; > ;;; This program is free software: you can redistribute it and/or modify > ;;; it under the terms of the GNU General Public License as published by > ;;; the Free Software Foundation, either version 3 of the License, or > ;;; (at your option) any later version. > ;;; > ;;; This program is distributed in the hope that it will be useful, > ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of > ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > ;;; GNU General Public License for more details. > ;;; > ;;; You should have received a copy of the GNU General Public License > ;;; along with this program. If not, see <http://www.gnu.org/licenses/>. > > (use-modules (rnrs io ports)) > > (define (make-custom-textual-output-port id > write! > get-position > set-position! > close) > (let (;; Allocate a per-port string buffer which will be used as a > ;; temporary buffer for decoding, to avoid heap allocation > ;; during normal operation. > (buffer (make-string 4096)) > ;; 'state' is the UTF-8 decoder state, which represents a > ;; proper prefix of a well-formed UTF-8 byte sequence. These > ;; are bytes that 'binary-write!' has accepted and reported as > ;; having been written, although we are not able to decode > ;; them into a character to pass to (textual) 'write!' until > ;; more bytes arrive. > (state 0)) > (define (binary-write! bv start count) > (call-with-values (lambda () > ;; XXX FIXME: Consider performing this > ;; decoding strictly. > (utf8->string! state bv start (+ start count) > buffer 0 (string-length buffer))) > (lambda (new-state bv-pos char-count) > (let* (;; Avoid calling write! with (char-count =3D 0) unless > ;; (count =3D 0) was passed to us, because calling > ;; 'write!' with count=3D0 has a special meaning: it > ;; means to pass an EOF object to the byte/character > ;; sink. > (chars-accepted (if (and (zero? char-count) > (not (zero? count))) > 0 > (write! buffer 0 char-count))) > ;; Compute 'bytes-accepted' in such a way that the > ;; bytes from STATE are not included, because they > ;; were passed to us in previous calls, and are not > ;; part of the bytevector range that we are now being > ;; asked to write. However, it's important to note > ;; that if 'write!' did not accept the bytes from > ;; STATE, 'bytes-accepted' will be negative. We must > ;; handle that case specially below. > (bytes-accepted (- count (string-utf8-length > (substring buffer > chars-accepted > char-count))))) > ;; If 'bytes-accepted' is negative, that means the bytes > ;; from STATE were not written. This can only happen if > ;; 'chars-accepted' is 0, because 'write!' can only accept > ;; whole code points, and the bytes from STATE are part of > ;; at most a single code point. In this case, we must > ;; leave STATE unchanged and return 0. > (if (negative? bytes-accepted) > 0 > (begin > (set! state new-state) > bytes-accepted)))))) > (define (binary-close) > (set! buffer #f) > (when close (close))) > (define port > (make-custom-binary-output-port id > binary-write! > get-position > set-position! > binary-close)) > ;; Always use UTF-8 as the encoding for custom textual ports, as > ;; an internal implementation detail, to ensure that all Unicode > ;; characters will pass through regardless of the current locale. > (set-port-encoding! port "UTF-8") > port))
bug-guix@HIDDEN
:bug#35350
; Package guix
.
Full text available.Ludovic Courtès <ludo@HIDDEN>
to control <at> debbugs.gnu.org
.
Full text available.Received: (at 35350) by debbugs.gnu.org; 4 May 2019 18:55:47 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat May 04 14:55:47 2019 Received: from localhost ([127.0.0.1]:52287 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1hMzp4-0007s9-VD for submit <at> debbugs.gnu.org; Sat, 04 May 2019 14:55:47 -0400 Received: from world.peace.net ([64.112.178.59]:56056) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <mhw@HIDDEN>) id 1hMzp2-0007rw-Vm for 35350 <at> debbugs.gnu.org; Sat, 04 May 2019 14:55:45 -0400 Received: from mhw by world.peace.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <mhw@HIDDEN>) id 1hMzow-0000Xn-G9; Sat, 04 May 2019 14:55:38 -0400 From: Mark H Weaver <mhw@HIDDEN> To: Ludovic =?utf-8?Q?Court=C3=A8s?= <ludo@HIDDEN> Subject: Re: bug#35350: Some compile output still leaks through with --verbosity=1 References: <87mukkfd2j.fsf@HIDDEN> <87r29v2jz2.fsf@HIDDEN> <87ftq9silk.fsf@HIDDEN> <87imv5jai5.fsf@HIDDEN> <87k1fgh9c0.fsf@HIDDEN> <874l6jh0bx.fsf@HIDDEN> <87imuvme7g.fsf@HIDDEN> <87r29e5zsw.fsf@HIDDEN> Date: Sat, 04 May 2019 14:53:50 -0400 In-Reply-To: <87r29e5zsw.fsf@HIDDEN> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Sat, 04 May 2019 11:33:51 +0200") Message-ID: <87tveauk2u.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 35350 Cc: 35350 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Ludovic, Ludovic Court=C3=A8s <ludo@HIDDEN> writes: > Mark H Weaver <mhw@HIDDEN> skribis: > >> Ludovic Court=C3=A8s <ludo@HIDDEN> writes: > > [...] > >>> So there are two things. To fix the issue you reported (build output >>> that goes through), I think we must simply turn off UTF-8 decoding from >>> =E2=80=98process-stderr=E2=80=99 and leave that entirely to =E2=80=98bu= ild-event-output-port=E2=80=99. >> >> Can we assume that UTF-8 is the appropriate encoding for >> (current-build-output-port)? My interpretation of the Guix manual entry >> for 'current-build-output-port' suggests that the answer should be "no". > > What goes to =E2=80=98current-build-output-port=E2=80=99 comes from build= s processes. > It=E2=80=99s usually UTF-8 but it can be anything, including binary garba= ge, > which should be gracefully handled. > > That=E2=80=99s why =E2=80=98process-stderr=E2=80=99 currently uses =E2=80= =98read-maybe-utf8-string=E2=80=99. I agree that we should (permissively) interpret the build process output as UTF-8, regardless of locale settings. However, the encoding of 'current-build-output-port' is orthogonal, and I see no reason to assume that it's UTF-8. As 'process-stderr' is currently implemented, it makes no assumptions about the encoding of 'current-build-output-port'. That's because it uses only textual I/O on it. The end result is that the UTF-8 build output is effectively converted into the port encoding of 'current-build-output-port', whatever it might be. I think that's how it should be, no? >> Also, in your previous message you wrote: >> >> The problem is the first layer of UTF-8 decoding that happens in >> =E2=80=98process-stderr=E2=80=99, in the =E2=80=98%stderr-next=E2=80= =99 case. We would need to >> disable it, but only if the build output port is >> =E2=80=98build-event-output-port=E2=80=99 (i.e., it=E2=80=99s capable = of interpreting >> =E2=80=9Cmultiplexed build output=E2=80=9D correctly.) >> >> It sounds like you're suggesting that 'process-stderr' should look to >> see if (current-build-output-port) is a 'build-event-output-port', and >> in that case it should use binary I/O primitives to write raw binary >> data to it, otherwise it should use text I/O primitives and write >> characters to it. Do I understand correctly? > > Yes. (Actually, rather than guessing if (current-build-output-port) is > a =E2=80=98build-event-output-port=E2=80=99, there could be a fluid to as= k for the use > of raw binary primitives.) > >> IMO, it would be cleaner to treat 'build-event-output-port' uniformly, >> and specifically as a textual port of unknown encoding. > > (You mean =E2=80=98current-build-output-port=E2=80=99, right?) Yes, indeed. > I think you=E2=80=99re right. I=E2=80=99m not yet entirely sure what the= implications > are. There=E2=80=99s a couple of tests in tests/store.scm for UTF-8 > interpretation that describe behavior that I think we should preserve. I certainly agree that we should preserve those tests. I would go further and add two more tests that bind 'current-build-output-port' to a port with a non-UTF-8 encoding (e.g. UTF-16) and verify that the =CE=BB gets converted correctly. The test build process would output the =CE=BB as UTF-8, but it should be written to 'current-build-output-port' as e.g. UTF-16. What do you think? >> I would suggest changing 'build-event-output-port' to create an R6RS >> custom *textual* output port, so that it wouldn't have to worry about >> encodings at all, and it would only be given whole characters. >> Internally, it would be doing exactly what you suggest above, but those >> details would be encapsulated within the custom textual port. >> >> However, I don't think we can use Guile's current implementation of R6RS >> custom textual output ports, which are currently built on Guile's legacy >> soft ports, which I suspect have a similar bug with multibyte characters >> sometimes being split (see 'soft_port_write' in vports.c). >> >> Having said all of this, my suggestions would ultimately entail having >> two separate places along the stderr pipeline where 'utf8->string!' >> would be used, and maybe that's too much until we have a more optimized >> C implementation of it. > > Yeah it looks like we don=E2=80=99t yet have custom textual output ports = that we > could rely on, do we? > > I support your work to add that in Guile proper! For now, I can offer a new implementation of custom textual output ports built upon custom binary ports and the 'utf8->string!' that I previously sent. See attached. Thanks, Mark --8<---------------cut here---------------start------------->8--- GNU Guile 2.2.4 Copyright (C) 1995-2017 Free Software Foundation, Inc. Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. This program is free software, and you are welcome to redistribute it under certain conditions; type `,show c' for details. Enter `,help' for help. scheme@(guile-user)> (load "utf8-decoder.scm") scheme@(guile-user)> (load "guile-new-custom-textual-ports.scm") scheme@(guile-user)> (define (my-write! str start count) (pk 'my-write! (substring str start (+ start count))) count) scheme@(guile-user)> (define port (make-custom-textual-output-port "test1" = my-write! #f #f #f)) scheme@(guile-user)> (display "Hello =CE=BB world!" port) scheme@(guile-user)> (force-output port) ;;; (my-write! "Hello =CE=BB world!") scheme@(guile-user)> (string->utf8 "=CE=BB") $2 =3D #vu8(206 187) scheme@(guile-user)> (string->utf8 "Hello =CE=BB world!") $3 =3D #vu8(72 101 108 108 111 32 206 187 32 119 111 114 108 100 33) scheme@(guile-user)> (put-bytevector port #vu8(72 101 108 108 111 32 206)) scheme@(guile-user)> (force-output port) ;;; (my-write! "Hello ") scheme@(guile-user)> (put-bytevector port #vu8(187 32 119 111 114 108 100 3= 3)) scheme@(guile-user)> (force-output port) ;;; (my-write! "=CE=BB world!") scheme@(guile-user)> --8<---------------cut here---------------end--------------->8--- --=-=-= Content-Type: text/plain; charset=utf-8 Content-Disposition: inline; filename=guile-new-custom-textual-ports.scm Content-Transfer-Encoding: quoted-printable Content-Description: New implementation of custom textual output ports for Guile ;;; Copyright =C2=A9 2019 Mark H Weaver <mhw@HIDDEN> ;;; ;;; This program is free software: you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation, either version 3 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program. If not, see <http://www.gnu.org/licenses/>. (use-modules (rnrs io ports)) (define (make-custom-textual-output-port id write! get-position set-position! close) (let (;; Allocate a per-port string buffer which will be used as a ;; temporary buffer for decoding, to avoid heap allocation ;; during normal operation. (buffer (make-string 4096)) ;; 'state' is the UTF-8 decoder state, which represents a ;; proper prefix of a well-formed UTF-8 byte sequence. These ;; are bytes that 'binary-write!' has accepted and reported as ;; having been written, although we are not able to decode ;; them into a character to pass to (textual) 'write!' until ;; more bytes arrive. (state 0)) (define (binary-write! bv start count) (call-with-values (lambda () ;; XXX FIXME: Consider performing this ;; decoding strictly. (utf8->string! state bv start (+ start count) buffer 0 (string-length buffer))) (lambda (new-state bv-pos char-count) (let* (;; Avoid calling write! with (char-count =3D 0) unless ;; (count =3D 0) was passed to us, because calling ;; 'write!' with count=3D0 has a special meaning: it ;; means to pass an EOF object to the byte/character ;; sink. (chars-accepted (if (and (zero? char-count) (not (zero? count))) 0 (write! buffer 0 char-count))) ;; Compute 'bytes-accepted' in such a way that the ;; bytes from STATE are not included, because they ;; were passed to us in previous calls, and are not ;; part of the bytevector range that we are now being ;; asked to write. However, it's important to note ;; that if 'write!' did not accept the bytes from ;; STATE, 'bytes-accepted' will be negative. We must ;; handle that case specially below. (bytes-accepted (- count (string-utf8-length (substring buffer chars-accepted char-count))))) ;; If 'bytes-accepted' is negative, that means the bytes ;; from STATE were not written. This can only happen if ;; 'chars-accepted' is 0, because 'write!' can only accept ;; whole code points, and the bytes from STATE are part of ;; at most a single code point. In this case, we must ;; leave STATE unchanged and return 0. (if (negative? bytes-accepted) 0 (begin (set! state new-state) bytes-accepted)))))) (define (binary-close) (set! buffer #f) (when close (close))) (define port (make-custom-binary-output-port id binary-write! get-position set-position! binary-close)) ;; Always use UTF-8 as the encoding for custom textual ports, as ;; an internal implementation detail, to ensure that all Unicode ;; characters will pass through regardless of the current locale. (set-port-encoding! port "UTF-8") port)) --=-=-=--
bug-guix@HIDDEN
:bug#35350
; Package guix
.
Full text available.Received: (at 35350) by debbugs.gnu.org; 4 May 2019 09:34:02 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat May 04 05:34:02 2019 Received: from localhost ([127.0.0.1]:50389 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1hMr3R-0001lW-Li for submit <at> debbugs.gnu.org; Sat, 04 May 2019 05:34:01 -0400 Received: from eggs.gnu.org ([209.51.188.92]:38307) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <ludo@HIDDEN>) id 1hMr3Q-0001lJ-0z for 35350 <at> debbugs.gnu.org; Sat, 04 May 2019 05:34:00 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:47851) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <ludo@HIDDEN>) id 1hMr3K-0006PP-PA; Sat, 04 May 2019 05:33:54 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=35222 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from <ludo@HIDDEN>) id 1hMr3J-0007KB-Tl; Sat, 04 May 2019 05:33:54 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN> To: Mark H Weaver <mhw@HIDDEN> Subject: Re: bug#35350: Some compile output still leaks through with --verbosity=1 References: <87mukkfd2j.fsf@HIDDEN> <87r29v2jz2.fsf@HIDDEN> <87ftq9silk.fsf@HIDDEN> <87imv5jai5.fsf@HIDDEN> <87k1fgh9c0.fsf@HIDDEN> <874l6jh0bx.fsf@HIDDEN> <87imuvme7g.fsf@HIDDEN> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 15 =?utf-8?Q?Flor=C3=A9al?= an 227 de la =?utf-8?Q?R?= =?utf-8?Q?=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Sat, 04 May 2019 11:33:51 +0200 In-Reply-To: <87imuvme7g.fsf@HIDDEN> (Mark H. Weaver's message of "Tue, 30 Apr 2019 16:26:32 -0400") Message-ID: <87r29e5zsw.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 35350 Cc: 35350 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Hi Mark, Mark H Weaver <mhw@HIDDEN> skribis: > Ludovic Court=C3=A8s <ludo@HIDDEN> writes: [...] >> So there are two things. To fix the issue you reported (build output >> that goes through), I think we must simply turn off UTF-8 decoding from >> =E2=80=98process-stderr=E2=80=99 and leave that entirely to =E2=80=98bui= ld-event-output-port=E2=80=99. > > Can we assume that UTF-8 is the appropriate encoding for > (current-build-output-port)? My interpretation of the Guix manual entry > for 'current-build-output-port' suggests that the answer should be "no". What goes to =E2=80=98current-build-output-port=E2=80=99 comes from builds = processes. It=E2=80=99s usually UTF-8 but it can be anything, including binary garbage, which should be gracefully handled. That=E2=80=99s why =E2=80=98process-stderr=E2=80=99 currently uses =E2=80= =98read-maybe-utf8-string=E2=80=99. > Also, in your previous message you wrote: > > The problem is the first layer of UTF-8 decoding that happens in > =E2=80=98process-stderr=E2=80=99, in the =E2=80=98%stderr-next=E2=80=99= case. We would need to > disable it, but only if the build output port is > =E2=80=98build-event-output-port=E2=80=99 (i.e., it=E2=80=99s capable o= f interpreting > =E2=80=9Cmultiplexed build output=E2=80=9D correctly.) > > It sounds like you're suggesting that 'process-stderr' should look to > see if (current-build-output-port) is a 'build-event-output-port', and > in that case it should use binary I/O primitives to write raw binary > data to it, otherwise it should use text I/O primitives and write > characters to it. Do I understand correctly? Yes. (Actually, rather than guessing if (current-build-output-port) is a =E2=80=98build-event-output-port=E2=80=99, there could be a fluid to ask = for the use of raw binary primitives.) > IMO, it would be cleaner to treat 'build-event-output-port' uniformly, > and specifically as a textual port of unknown encoding. (You mean =E2=80=98current-build-output-port=E2=80=99, right?) I think you=E2=80=99re right. I=E2=80=99m not yet entirely sure what the i= mplications are. There=E2=80=99s a couple of tests in tests/store.scm for UTF-8 interpretation that describe behavior that I think we should preserve. > I would suggest changing 'build-event-output-port' to create an R6RS > custom *textual* output port, so that it wouldn't have to worry about > encodings at all, and it would only be given whole characters. > Internally, it would be doing exactly what you suggest above, but those > details would be encapsulated within the custom textual port. > > However, I don't think we can use Guile's current implementation of R6RS > custom textual output ports, which are currently built on Guile's legacy > soft ports, which I suspect have a similar bug with multibyte characters > sometimes being split (see 'soft_port_write' in vports.c). > > Having said all of this, my suggestions would ultimately entail having > two separate places along the stderr pipeline where 'utf8->string!' > would be used, and maybe that's too much until we have a more optimized > C implementation of it. Yeah it looks like we don=E2=80=99t yet have custom textual output ports th= at we could rely on, do we? I support your work to add that in Guile proper! Thanks, Ludo=E2=80=99.
bug-guix@HIDDEN
:bug#35350
; Package guix
.
Full text available.Received: (at 35350) by debbugs.gnu.org; 30 Apr 2019 20:28:24 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 30 16:28:24 2019 Received: from localhost ([127.0.0.1]:42483 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1hLZMV-0003HK-Tm for submit <at> debbugs.gnu.org; Tue, 30 Apr 2019 16:28:24 -0400 Received: from world.peace.net ([64.112.178.59]:41146) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <mhw@HIDDEN>) id 1hLZMU-0003H7-0Y for 35350 <at> debbugs.gnu.org; Tue, 30 Apr 2019 16:28:22 -0400 Received: from mhw by world.peace.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <mhw@HIDDEN>) id 1hLZMO-0007ai-1J; Tue, 30 Apr 2019 16:28:16 -0400 From: Mark H Weaver <mhw@HIDDEN> To: Ludovic =?utf-8?Q?Court=C3=A8s?= <ludo@HIDDEN> Subject: Re: bug#35350: Some compile output still leaks through with --verbosity=1 References: <87mukkfd2j.fsf@HIDDEN> <87r29v2jz2.fsf@HIDDEN> <87ftq9silk.fsf@HIDDEN> <87imv5jai5.fsf@HIDDEN> <87k1fgh9c0.fsf@HIDDEN> <874l6jh0bx.fsf@HIDDEN> Date: Tue, 30 Apr 2019 16:26:32 -0400 In-Reply-To: <874l6jh0bx.fsf@HIDDEN> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Sat, 27 Apr 2019 18:36:34 +0200") Message-ID: <87imuvme7g.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 35350 Cc: 35350 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Hi Ludovic, Ludovic Court=C3=A8s <ludo@HIDDEN> writes: > Mark H Weaver <mhw@HIDDEN> skribis: > >> Ludovic Court=C3=A8s <ludo@HIDDEN> writes: >> >>> The third read(2) call here ends on a partial UTF-8 sequence for LEFT >>> SINGLE QUOTATION MARK (we get the first two bytes of a three byte >>> sequence.) >>> >>> What happens is that =E2=80=98process-stderr=E2=80=99 in (guix store) g= ets that byte >>> string from the daemon, passes it through =E2=80=98read-maybe-utf8-stri= ng=E2=80=99, >>> which replaces the last two bytes with REPLACEMENT CHARACTER, which is >>> itself a 3-byte sequence. >> >> It seems to me that what's needed here is to save the UTF-8 decoder >> state between calls to 'process-stderr'. > > So there are two things. To fix the issue you reported (build output > that goes through), I think we must simply turn off UTF-8 decoding from > =E2=80=98process-stderr=E2=80=99 and leave that entirely to =E2=80=98buil= d-event-output-port=E2=80=99. Can we assume that UTF-8 is the appropriate encoding for (current-build-output-port)? My interpretation of the Guix manual entry for 'current-build-output-port' suggests that the answer should be "no". Also, in your previous message you wrote: The problem is the first layer of UTF-8 decoding that happens in =E2=80=98process-stderr=E2=80=99, in the =E2=80=98%stderr-next=E2=80=99 c= ase. We would need to disable it, but only if the build output port is =E2=80=98build-event-output-port=E2=80=99 (i.e., it=E2=80=99s capable of = interpreting =E2=80=9Cmultiplexed build output=E2=80=9D correctly.) It sounds like you're suggesting that 'process-stderr' should look to see if (current-build-output-port) is a 'build-event-output-port', and in that case it should use binary I/O primitives to write raw binary data to it, otherwise it should use text I/O primitives and write characters to it. Do I understand correctly? IMO, it would be cleaner to treat 'build-event-output-port' uniformly, and specifically as a textual port of unknown encoding. What do you think? > However, =E2=80=98build-event-output-port=E2=80=99 would still fail to pr= operly decode > split UTF-8 sequences, and for that we=E2=80=99d need to preserve decoder > state as you describe. I would suggest changing 'build-event-output-port' to create an R6RS custom *textual* output port, so that it wouldn't have to worry about encodings at all, and it would only be given whole characters. Internally, it would be doing exactly what you suggest above, but those details would be encapsulated within the custom textual port. However, I don't think we can use Guile's current implementation of R6RS custom textual output ports, which are currently built on Guile's legacy soft ports, which I suspect have a similar bug with multibyte characters sometimes being split (see 'soft_port_write' in vports.c). Having said all of this, my suggestions would ultimately entail having two separate places along the stderr pipeline where 'utf8->string!' would be used, and maybe that's too much until we have a more optimized C implementation of it. Thoughts? Mark
bug-guix@HIDDEN
:bug#35350
; Package guix
.
Full text available.Received: (at 35350) by debbugs.gnu.org; 27 Apr 2019 16:36:51 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Apr 27 12:36:51 2019 Received: from localhost ([127.0.0.1]:35863 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1hKQJj-0007j5-Rl for submit <at> debbugs.gnu.org; Sat, 27 Apr 2019 12:36:48 -0400 Received: from eggs.gnu.org ([209.51.188.92]:47496) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <ludo@HIDDEN>) id 1hKQJf-0007im-1J for 35350 <at> debbugs.gnu.org; Sat, 27 Apr 2019 12:36:46 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:48657) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <ludo@HIDDEN>) id 1hKQJZ-0004y2-Ag; Sat, 27 Apr 2019 12:36:37 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=37674 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from <ludo@HIDDEN>) id 1hKQJX-00064m-Vz; Sat, 27 Apr 2019 12:36:37 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN> To: Mark H Weaver <mhw@HIDDEN> Subject: Re: bug#35350: Some compile output still leaks through with --verbosity=1 References: <87mukkfd2j.fsf@HIDDEN> <87r29v2jz2.fsf@HIDDEN> <87ftq9silk.fsf@HIDDEN> <87imv5jai5.fsf@HIDDEN> <87k1fgh9c0.fsf@HIDDEN> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 8 =?utf-8?Q?Flor=C3=A9al?= an 227 de la =?utf-8?Q?R?= =?utf-8?Q?=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Sat, 27 Apr 2019 18:36:34 +0200 In-Reply-To: <87k1fgh9c0.fsf@HIDDEN> (Mark H. Weaver's message of "Fri, 26 Apr 2019 15:09:24 -0400") Message-ID: <874l6jh0bx.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 35350 Cc: 35350 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Hi Mark, Mark H Weaver <mhw@HIDDEN> skribis: > Ludovic Court=C3=A8s <ludo@HIDDEN> writes: > >> The third read(2) call here ends on a partial UTF-8 sequence for LEFT >> SINGLE QUOTATION MARK (we get the first two bytes of a three byte >> sequence.) >> >> What happens is that =E2=80=98process-stderr=E2=80=99 in (guix store) ge= ts that byte >> string from the daemon, passes it through =E2=80=98read-maybe-utf8-strin= g=E2=80=99, >> which replaces the last two bytes with REPLACEMENT CHARACTER, which is >> itself a 3-byte sequence. > > It seems to me that what's needed here is to save the UTF-8 decoder > state between calls to 'process-stderr'. So there are two things. To fix the issue you reported (build output that goes through), I think we must simply turn off UTF-8 decoding from =E2=80=98process-stderr=E2=80=99 and leave that entirely to =E2=80=98build-= event-output-port=E2=80=99. However, =E2=80=98build-event-output-port=E2=80=99 would still fail to prop= erly decode split UTF-8 sequences, and for that we=E2=80=99d need to preserve decoder s= tate as you describe. > Coincidentally, I also needed something like this a week ago, when I > tried implementing R6RS custom textual input/output ports on top of > R6RS custom binary input/output ports. > > To meet these needs, I've implemented a fairly efficient, purely > functional UTF-8 decoder in Scheme that accepts a decoder state and an > arbitrary range from a bytevector, and returns a new decoder state. > There's a macro that allows arbitrary actions to be performed when a > code point (or maximal subpart in the case of errors) is found. > > This macro is then used to implement a decoder (utf8->string!) that > writes into an arbitrary range of an existing string. Of course, it's > not purely functional, but it avoids heap allocation when compiled with > Guile. On my Thinkpad X200, it can process around 10 megabytes per > second. > > The state is represented as an exact integer between 0 and #xF48FBF > inclusive, which are simply the bytes that have been seen so far in the > current code sequence, in big-endian order, or 0 for the start state. > For example, #xF48FBF represents the state where the bytes (F4 8F BF) > have been read. The state is always either 0 or a proper prefix of a > valid UTF-8 byte sequence. Awesome! I think that=E2=80=99s something we should definitely add to Guile proper. We can use it in Guix before or after it=E2=80=99s included in Gui= le. Thank you! Ludo=E2=80=99.
bug-guix@HIDDEN
:bug#35350
; Package guix
.
Full text available.Received: (at 35350) by debbugs.gnu.org; 27 Apr 2019 07:58:38 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Apr 27 03:58:38 2019 Received: from localhost ([127.0.0.1]:34232 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1hKIEH-00075n-Qu for submit <at> debbugs.gnu.org; Sat, 27 Apr 2019 03:58:38 -0400 Received: from world.peace.net ([64.112.178.59]:49416) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <mhw@HIDDEN>) id 1hKIEF-00075Y-Gi for 35350 <at> debbugs.gnu.org; Sat, 27 Apr 2019 03:58:36 -0400 Received: from mhw by world.peace.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <mhw@HIDDEN>) id 1hKIE8-0005sn-FI; Sat, 27 Apr 2019 03:58:29 -0400 From: Mark H Weaver <mhw@HIDDEN> To: Ludovic =?utf-8?Q?Court=C3=A8s?= <ludo@HIDDEN> Subject: Re: bug#35350: Some compile output still leaks through with --verbosity=1 References: <87mukkfd2j.fsf@HIDDEN> <87r29v2jz2.fsf@HIDDEN> <87ftq9silk.fsf@HIDDEN> <87imv5jai5.fsf@HIDDEN> <87k1fgh9c0.fsf@HIDDEN> <87bm0sgts0.fsf@HIDDEN> Date: Sat, 27 Apr 2019 03:56:47 -0400 In-Reply-To: <87bm0sgts0.fsf@HIDDEN> (Mark H. Weaver's message of "Fri, 26 Apr 2019 20:45:24 -0400") Message-ID: <877ebfhodh.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 35350 Cc: 35350 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain Here's version 3 with much more precise specifications in the docstrings. If I recall correctly, the code itself is identical to version 2. Mark --=-=-= Content-Type: text/plain; charset=utf-8 Content-Disposition: inline; filename=utf8-decoder.scm Content-Transfer-Encoding: quoted-printable Content-Description: UTF-8 decoder v3 ;;; Copyright =C2=A9 2019 Mark H Weaver <mhw@HIDDEN> ;;; ;;; This program is free software: you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation, either version 3 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program. If not, see <http://www.gnu.org/licenses/>. (use-modules (rnrs bytevectors) ;; the following modules are needed only for the test. ;;(srfi srfi-1) ;;(ice-9 iconv) ) ;; Well-formed UTF-8 sequences ;; =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D ;; 00..7F ;; C2..DF 80..BF ;; E0 *A0..BF 80..BF ;; E1..EC 80..BF 80..BF ;; ED 80..9F* 80..BF ;; EE..EF 80..BF 80..BF ;; F0 *90..BF 80..BF 80..BF ;; F1..F3 80..BF 80..BF 80..BF ;; F4 80..8F* 80..BF 80..BF ;; UTF-8 Decoder states ;; =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D ;; 0 start state ;; C2 .. DF got 1/2 bytes ;; E0 .. EF got 1/3 bytes ;; F0 .. F4 got 1/4 bytes ;; E0A0 .. ED9F got 2/3 bytes (range 1) ;; EE80 .. EFBF got 2/3 bytes (range 2) ;; F090 .. F48F got 2/4 bytes ;; F09080 .. F48FBF got 3/4 bytes (define-syntax-rule (utf8-decode ((j init-expr) ...) (i continue) (output (code-point) e1 e1* ...) (error (maximal-subpart) e2 e2* ...) state-expr bv-expr start-expr end-expr) "Let BYTE-STR denote the concatenation of the following two byte strings: (1) the bytes encoded in STATE-EXPR, and (2) the bytevector BV-EXPR beginning with index START-EXPR (inclusive) and ending with index END-EXPR (exclusive). STATE-EXPR must evaluate to an exact integer between 0 and #xF48FBF that encodes a proper prefix of a well-formed UTF-8 sequence. The bytes are in big-endian order, e.g. #xF48FBF encodes (F4 8F BF) and 0 encodes the empty string. Let TAIL be the longest suffix of BYTE-STR that is a proper prefix of a well-formed UTF-8 byte sequence. Let ITEMS be a list of strings whose concatenation equals BYTE-STR with TAIL removed, such that each element in ITEMS is either (1) a well-formed UTF-8 byte sequence, or (2) a maximal subpart of an ill-formed subsequence, as defined in section 3.9 of The Unicode Standard 12.0, i.e. the longest code unit subsequence starting at an inconvertible offset that is either (a) the initial subsequence of a well-formed code unit sequence, or (b) a subsequence of length one. UTF8-DECODE iterates over ITEMS from left to right, evaluating the 'output' expressions (E1 E1* ...) for each well-formed UTF-8 byte sequence, and the 'error' expressions (E2 E2* ...) for each maximal subpart of an ill-formed subsequence. As with a 'fold' operation, zero or more seeds are included in the iterator state, bound to variables (J ...) with initial values (INIT-EXPR ...). Each of the user-provided expression sequences (E1 E1* ...) and (E2 E2* ...) have access to the current seed values (J ...), and produce new seed values each time they are called. The user-provided expression sequences have access to the following variables, whose identifiers are specified by operands to UTF8-DECODE: (1) I, the bytevector index immediately following the current item, i.e. where decoding should resume after processing this item. (2) (J ...) the user-provided seed values. (3) CODE-POINT [only bound in (E1 E1* ...)], an exact integer Unicode scalar value. (4) MAXIMAL-SUBPART [only bound in (E2 E2* ...)], the maximal subpart of the ill-formed subsequence, represented as an exact integer from #xC2 to #xF48FBF containing the bytes in big-endian order. For example, #xF48FBF represents the byte string (F4 8F BF). (5) CONTINUE, a procedure which may be applied to arguments (I J^ ...) by the user-provided expression sequences to continue decoding with the new seed values (J^ ...). (6) OUTPUT, a procedure which may be applied to arguments (CODE-POINT I J^ ...) to evaluate the user-provided expression sequence (E1 E1* ...). (7) ERROR, a procedure which may be applied to arguments (MAXIMAL-SUBPART I J^ ...) to evaluate the user-provided expression sequence (E2 E2* ...). Each user-provided expression sequence may choose either to continue the loop by calling (CONTINUE I J^ ...), or to terminate the loop by returning (values 0 I J^ ...), where (J^ ...) are the new seed values. OUTPUT and ERROR are included for convenience, to allow the output and error expression sequences to call each other. For example, it may be convenient for the error expression sequence to end with: (output #xFFFD i j ...) If the end of BYTE-STR is reached, UTF8-DECODE returns the values (NEW-STATE END J^ ...), where NEW-STATE encodes the bytes in TAIL, END equals END-EXPR, and (J^ ...) are the final seed values. In any case, if the user-provided expressions behave as specified above, then when UTF8-DECODE returns values (NEW-STATE NEW-POS J^ ...), every byte in BYTE-STR will have been reported in exactly one of the following ways: (1) as part of a well-formed UTF-8 byte sequence, reported to the user-provided output expressions (E1 E1* ...), or (2) as part of a maximal subpart of an ill-formed subsequence, reported to the user-provided error expressions (E2 E2* ...), or (3) as part of NEW-STATE, or (4) as part of the bytevector starting at index NEW-POS." (let ((bv bv-expr) (end end-expr)) (define (output code-point i j ...) e1 e1* ...) (define (error maximal-subpart i j ...) e2 e2* ...) =20=20=20=20 (define (continue i j ...) (if (< i end) (let ((byte (bytevector-u8-ref bv i))) (cond ((<=3D byte #x7F) (output byte (+ i 1) j ...)) ((<=3D #xC2 byte #xF4) (got-1 byte (+ i 1) j ...)) (else (error byte (+ i 1) j ...)))) (values 0 i j ...))) (define (got-1 state i j ...) (if (< i end) (let ((byte (bytevector-u8-ref bv i))) (cond ((not (<=3D #x80 byte #xBF)) (error state i j ...)) ((<=3D state #xDF) (output (logior (ash (logand state #x1F) 6) (logand byte #x3F)) (+ i 1) j ...)) (else (let ((state^ (logior (ash state 8) byte))) (cond ((or (<=3D #xE0A0 state^ #xED9F) (<=3D #xEE80 state^ #xEFBF)) (got-2/3 state^ (+ i 1) j ...)) ((<=3D #xF090 state^ #xF48F) (got-2/4 state^ (+ i 1) j ...)) (else (error state i j ...))))))) (values state i j ...))) (define (got-2/3 state i j ...) (if (< i end) (let ((byte (bytevector-u8-ref bv i))) (if (<=3D #x80 byte #xBF) (output (logior (ash (logand state #xF00) 4) (ash (logand state #x3F) 6) (logand byte #x3F)) (+ i 1) j ...) (error state i j ...))) (values state i j ...))) (define (got-2/4 state i j ...) (if (< i end) (let ((byte (bytevector-u8-ref bv i))) (if (<=3D #x80 byte #xBF) (got-3/4 (logior (ash state 8) byte) (+ i 1) j ...) (error state i j ...))) (values state i j ...))) (define (got-3/4 state i j ...) (if (< i end) (let ((byte (bytevector-u8-ref bv i))) (if (<=3D #x80 byte #xBF) (output (logior (ash (logand state #x70000) 2) (ash (logand state #x3F00) 4) (ash (logand state #x3F) 6) (logand byte #x3F)) (+ i 1) j ...) (error state i j ...))) (values state i j ...))) (define (enter state i j ...) (cond ((zero? state) (continue i j ...)) ((<=3D state #xF4) (got-1 state i j ...)) ((<=3D state #xEFBF) (got-2/3 state i j ...)) ((<=3D state #xF48F) (got-2/4 state i j ...)) (else (got-3/4 state i j ...)))) (enter state-expr start-expr init-expr ...))) (define (utf8->string! state source source-start source-end target target-start target-end) "Let BYTE-STR denote the concatenation of the following two byte strings: (1) the bytes encoded in STATE, and (2) the bytevector SOURCE beginning with index SOURCE-START (inclusive) and ending with index SOURCE-END (exclusive). STATE must be an exact integer between 0 and #xF48FBF that encodes a proper prefix of a well-formed UTF-8 sequence. The bytes are in big-endian order, e.g. #xF48FBF encodes (F4 8F BF), and 0 encodes the empty string. Let TAIL be the longest suffix of BYTE-STR that is a proper prefix of a well-formed UTF-8 byte sequence, and let BYTE-STR-SANS-TAIL be BYTE-STR with TAIL removed. UTF8->STRING! permissively decodes the Unicode 8-bit string BYTE-STR-SANS-TAIL and writes the resulting characters to the string TARGET beginning with index TARGET-START (inclusive) and ending with index TARGET-END (exclusive). In case of decoding errors, each 'maximal subpart of an ill-formed subsequence', as defined in section 3.9 of The Unicode Standard 12.0, is replaced with a Unicode replacement character (U+FFFD). UTF8->STRING! returns three values (NEW-STATE SOURCE-POS TARGET-POS). If the target string is able to hold all of the decoded characters and replacement characters, then NEW-STATE encodes the bytes in TAIL, SOURCE-POS equals SOURCE-END, and TARGET-POS equals TARGET-START plus the number of characters written. If there's not enough space in the target string, then NEW-STATE is 0, SOURCE-POS is the index of the first byte that is not represented by the characters written, and TARGET-POS equals TARGET-END." (if (< target-start target-end) (utf8-decode ((j target-start)) (i continue) (output (code-point) (string-set! target j (integer->char code-point)) (if (< (+ j 1) target-end) (continue i (+ j 1)) (values 0 i (+ j 1)))) (error (maximal-subpart) (output #xFFFD i j)) ;TODO: support other error h= andlers state source source-start source-end) (values state source-start target-start))) ;; Another experimental primitive, slower than the ones above. (define* (utf8-fold* out err seed state bv #:optional (start 0) (end (bytevector-length bv))) "Let BYTE-STR denote the concatenation of the following two byte strings: (1) the bytes encoded in STATE, and (2) the bytevector BV beginning with index START (inclusive) and ending with index END (exclusive). STATE must be an exact integer between 0 and #xF48FBF that encodes a proper prefix of a well-formed UTF-8 sequence. The bytes are in big-endian order, e.g. #xF48FBF encodes (F4 8F BF), and 0 encodes the empty string. Let TAIL be the longest suffix of BYTE-STR that is a proper prefix of a well-formed UTF-8 byte sequence. Let ITEMS be a list of strings whose concatenation equals BYTE-STR with TAIL removed, such that each element in ITEMS is either (1) a well-formed UTF-8 byte sequence, or (2) a maximal subpart of an ill-formed subsequence, as defined in section 3.9 of The Unicode Standard 12.0, i.e. the longest code unit subsequence starting at an inconvertible offset that is either (a) the initial subsequence of a well-formed code unit sequence, or (b) a subsequence of length one. UTF8-FOLD* iterates over ITEMS from left to right, calling OUT for each well-formed UTF-8 byte sequence, and ERR for each maximal subpart of an ill-formed subsequence. For each well-formed UTF-8 byte sequence, (OUT CODE-POINT INDEX SEED K) is called, where CODE-POINT is the Unicode scalar value as an exact integer, INDEX is the bytevector index immediately following the decoded code point, SEED is the current seed value, and K is the continuation. OUT may choose to either continue decoding or to exit the loop. To continue decoding, call (K INDEX NEW-SEED). To exit, return (values 0 INDEX FINAL-SEED). For each maximal subpart of an ill-formed UTF-8 byte sequence, (ERR MAXIMAL-SUBPART INDEX SEED K) is called, where MAXIMAL-SUBPART is an exact integer between #xC2 and #xF48FBF containing the bytes in big-endian order, and INDEX is the bytevector index immediately following those bytes. For example, #xF48FBF represents the byte string (F4 8F BF). Like OUT, ERR may either call (K INDEX NEW-SEED) to continue, or return (values 0 INDEX FINAL-SEED) to exit the loop. If the end of BYTE-STR is reached, UTF8-FOLD* returns the values (NEW-STATE END FINAL-SEED), where NEW-STATE encodes the bytes in TAIL. In any case, if the user-provided procedures behave as specified above, then when UTF8-FOLD* returns values (NEW-STATE NEW-POS FINAL-SEED), every byte in BYTE-STR will have been reported in exactly one of the following ways: (1) as part of a well-formed UTF-8 byte sequence, reported to OUT, (2) as part of a maximal subpart of an ill-formed subsequence, reported to ERR, (3) as part of NEW-STATE, or (4) as part of the bytevector starting at index NEW-POS." (utf8-decode ((j seed)) (i continue) (output (code-point) (out code-point i j continue)) (error (maximal-subpart) (err maximal-subpart i j continue)) state bv start end)) ;; Another experimental primitive, slower than the ones above. (define* (utf8-fold out err seed state bv #:optional (start 0) (end (bytevector-length bv))) "Let BYTE-STR denote the concatenation of the following two byte strings: (1) the bytes encoded in STATE, and (2) the bytevector BV beginning with index START (inclusive) and ending with index END (exclusive). STATE must be an exact integer between 0 and #xF48FBF that encodes a proper prefix of a well-formed UTF-8 sequence. The bytes are in big-endian order, e.g. #xF48FBF encodes (F4 8F BF), and 0 encodes the empty string. Let TAIL be the longest suffix of BYTE-STR that is a proper prefix of a well-formed UTF-8 byte sequence. Let ITEMS be a list of strings whose concatenation equals BYTE-STR with TAIL removed, such that each element in ITEMS is either (1) a well-formed UTF-8 byte sequence, or (2) a maximal subpart of an ill-formed subsequence, as defined in section 3.9 of The Unicode Standard 12.0, i.e. the longest code unit subsequence starting at an inconvertible offset that is either (a) the initial subsequence of a well-formed code unit sequence, or (b) a subsequence of length one. UTF8-FOLD iterates over ITEMS from left to right, calling OUT for each well-formed UTF-8 byte sequence, and ERR for each maximal subpart of an ill-formed subsequence. For each well-formed UTF-8 byte sequence, (OUT CODE-POINT INDEX SEED) is called, where CODE-POINT is the Unicode scalar value as an exact integer, INDEX is the bytevector index immediately following the decoded code point, and SEED is the current seed value. OUT should return the new seed value. For each maximal subpart of an ill-formed UTF-8 byte sequence, (ERR MAXIMAL-SUBPART INDEX SEED) is called, where MAXIMAL-SUBPART is an exact integer between #xC2 and #xF48FBF containing the bytes in big-endian order, and INDEX is the bytevector index immediately following those bytes. For example, #xF48FBF represents the byte string (F4 8F BF). ERR should return two values: (CONTINUE? NEW-SEED), where CONTINUE? is a boolean specifying whether to continue the loop. If the end of BYTE-STR is reached, UTF8-FOLD returns the values (NEW-STATE END FINAL-SEED), where NEW-STATE encodes the bytes in TAIL. In any case, if the user-provided procedures behave as specified above, then when UTF8-FOLD returns values (NEW-STATE NEW-POS FINAL-SEED), every byte in BYTE-STR will have been reported in exactly one of the following ways: (1) as part of a well-formed UTF-8 byte sequence, reported to OUT, (2) as part of a maximal subpart of an ill-formed subsequence, reported to ERR, (3) as part of NEW-STATE, or (4) as part of the bytevector starting at index NEW-POS." (utf8-fold* (lambda (code-point i j continue) (continue i (out code-point i j))) (lambda (maximal-subpart i j continue) (call-with-values (lambda () (err maximal-subpart i j)) (lambda (continue? j^) (if continue? (continue i j^) (values 0 i j^))))) seed state bv start end)) ;; A not-so-quick test of all valid characters. ;; TODO: Tests of strictness and error handling. #; (let () (define ss (string-tabulate (lambda (i) (if (< i #xD800) (integer->char i) (integer->char (+ i #x800)))) (- #x110000 #x800))) (define bv (string->utf8 ss)) (define bv-len (bytevector-length bv)) (define slen (* 2 (string-length ss))) (define s (make-string slen)) (every (lambda (incr) (string-fill! s #\a) (call-with-values (lambda () (let loop ((state 0) (i 0) (j 0)) (if (< i bv-len) (call-with-values (lambda () (utf8->string! state bv i (min bv-len (+ i incr)) s j slen)) loop) (values state i j)))) (lambda (state i j) (and (zero? state) (=3D i bv-len) (=3D j (string-length ss)) (string=3D? ss (substring s 0 j)))))) (iota 5 1))) --=-=-=--
bug-guix@HIDDEN
:bug#35350
; Package guix
.
Full text available.Received: (at 35350) by debbugs.gnu.org; 27 Apr 2019 00:47:14 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Apr 26 20:47:14 2019 Received: from localhost ([127.0.0.1]:33943 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1hKBUo-00053I-0L for submit <at> debbugs.gnu.org; Fri, 26 Apr 2019 20:47:14 -0400 Received: from world.peace.net ([64.112.178.59]:48904) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <mhw@HIDDEN>) id 1hKBUl-000535-9J for 35350 <at> debbugs.gnu.org; Fri, 26 Apr 2019 20:47:12 -0400 Received: from mhw by world.peace.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <mhw@HIDDEN>) id 1hKBUe-0003Bw-D1; Fri, 26 Apr 2019 20:47:04 -0400 From: Mark H Weaver <mhw@HIDDEN> To: Ludovic =?utf-8?Q?Court=C3=A8s?= <ludo@HIDDEN> Subject: Re: bug#35350: Some compile output still leaks through with --verbosity=1 References: <87mukkfd2j.fsf@HIDDEN> <87r29v2jz2.fsf@HIDDEN> <87ftq9silk.fsf@HIDDEN> <87imv5jai5.fsf@HIDDEN> <87k1fgh9c0.fsf@HIDDEN> Date: Fri, 26 Apr 2019 20:45:24 -0400 In-Reply-To: <87k1fgh9c0.fsf@HIDDEN> (Mark H. Weaver's message of "Fri, 26 Apr 2019 15:09:24 -0400") Message-ID: <87bm0sgts0.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 35350 Cc: 35350 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain Here's an improved version of the code with doc strings. It also properly handles the case of (target-source >= target-end) in 'utf8->string!'. Mark --=-=-= Content-Type: text/plain; charset=utf-8 Content-Disposition: inline; filename=utf8-decoder.scm Content-Transfer-Encoding: quoted-printable Content-Description: UTF-8 decoder, v2 ;;; Copyright =C2=A9 2019 Mark H Weaver <mhw@HIDDEN> ;;; ;;; This program is free software: you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation, either version 3 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program. If not, see <http://www.gnu.org/licenses/>. (use-modules (rnrs bytevectors) ;; the following modules are only needed for the test. ;;(srfi srfi-1) ;;(ice-9 iconv) ) ;; Well-formed UTF-8 sequences ;; =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D ;; 00..7F ;; C2..DF 80..BF ;; E0 *A0..BF 80..BF ;; E1..EC 80..BF 80..BF ;; ED 80..9F* 80..BF ;; EE..EF 80..BF 80..BF ;; F0 *90..BF 80..BF 80..BF ;; F1..F3 80..BF 80..BF 80..BF ;; F4 80..8F* 80..BF 80..BF ;; UTF-8 Decoder states ;; =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D ;; 0 start state ;; C2 .. DF got 1/2 bytes ;; E0 .. EF got 1/3 bytes ;; F0 .. F4 got 1/4 bytes ;; E0A0 .. ED9F got 2/3 bytes (range 1) ;; EE80 .. EFBF got 2/3 bytes (range 2) ;; F090 .. F48F got 2/4 bytes ;; F09080 .. F48FBF got 3/4 bytes (define-syntax-rule (utf8-decode ((j init-expr) ...) (i continue) (output (code-point) e1 e1* ...) (error (maximal-subpart) e2 e2* ...) state-expr bv-expr start-expr end-expr) "Decode part of a UTF-8 byte stream in the bytevector BV-EXPR with indices in the interval from START-EXPR (inclusive) to END-EXPR (exclusive). STATE-EXPR is the initial decoder state, which must be an incomplete prefix of a valid UTF-8 byte sequence. The start state is 0. =20=20 When a valid UTF-8 byte sequence is found, the output expressions (E1 E1* ...) are evaluated, with the following bindings available in the lexical environment: =20=20 CODE-POINT the decoded code point, as an exact integer. I bytevector index immediately after the decoded sequence. J ... the user-provided seeds. CONTINUE procedure with arguments (i j ...) to continue decoding. OUTPUT procedure with arguments (code-point i j ...), whose body consists of (E1 E1* ...), provided by the user. ERROR procedure with arguments (maximal-subpart i j ...), whose body consists of (E2 E2* ...), provided by the user. =20=20 If you wish for decoding to continue, (E1 E1* ...) should end by tail-calling (CONTINUE I J^ ...), where (J^ ...) are the new seeds. Alternatively, if you wish to terminate decoding early, simply return one or more values, which will be returned to the caller of 'utf8-decode'. Normally, (values 0 I J^ ...) should be returned. =20=20 In case of a decoding error, the expressions (E2 E2* ...) will be called with the same bindings listed above, except CODE-POINT is omitted, and MAXIMAL-SUBPART is bound to the 'maximal subpart of an ill-formed subsequence' as defined in section 3.9 of The Unicode Standard 12.0, i.e. the longest code unit subsequence starting at an inconvertible offset that is either (a) the initial subsequence of a well-formed code unit sequence, or (b) a subsequence of length one. MAXIMAL-SUBPART is represented as an exact integer containing the bytes in big-endian order, e.g. #xF48FBF represents the bytes (F4 8F BF). =20=20 The bindings OUTPUT and ERROR are provided for convenience, in case the error expressions (E2 E2* ...) wish to call the user-provided output procedure (e.g. to output a substitution character), or the output expressions (E1 E1* ...) wish to call the user-provided error procedure. =20=20 If the provided bytes in BV-EXPR end with a non-empty but incomplete prefix of a well-formed UTF-8 byte sequence, then the following values are returned: (NEW-STATE BV-POS J ...). =20=20 When decoding finishes, every byte in the input (including in the initial STATE-EXPR) will have been reported in exactly one of the following ways: =20=20 (1) as part of a well-formed UTF-8 byte sequence, via the output expressions (E1 E1* ...), or =20=20 (2) as part of a 'maximal subpart of an ill-formed subsequence', via the error expressions (E2 E2* ...), or =20=20 (3) as part of the new state. =20=20 (4) in the unexamined indices of BV-EXPR starting with BV-POS." (let ((bv bv-expr) (end end-expr)) (define (output code-point i j ...) e1 e1* ...) (define (error maximal-subpart i j ...) e2 e2* ...) =20=20=20=20 (define (continue i j ...) (if (< i end) (let ((byte (bytevector-u8-ref bv i))) (cond ((<=3D byte #x7F) (output byte (+ i 1) j ...)) ((<=3D #xC2 byte #xF4) (got-1 byte (+ i 1) j ...)) (else (error byte (+ i 1) j ...)))) (values 0 i j ...))) (define (got-1 state i j ...) (if (< i end) (let ((byte (bytevector-u8-ref bv i))) (cond ((not (<=3D #x80 byte #xBF)) (error state i j ...)) ((<=3D state #xDF) (output (logior (ash (logand state #x1F) 6) (logand byte #x3F)) (+ i 1) j ...)) (else (let ((state^ (logior (ash state 8) byte))) (cond ((or (<=3D #xE0A0 state^ #xED9F) (<=3D #xEE80 state^ #xEFBF)) (got-2/3 state^ (+ i 1) j ...)) ((<=3D #xF090 state^ #xF48F) (got-2/4 state^ (+ i 1) j ...)) (else (error state i j ...))))))) (values state i j ...))) (define (got-2/3 state i j ...) (if (< i end) (let ((byte (bytevector-u8-ref bv i))) (if (<=3D #x80 byte #xBF) (output (logior (ash (logand state #xF00) 4) (ash (logand state #x3F) 6) (logand byte #x3F)) (+ i 1) j ...) (error state i j ...))) (values state i j ...))) (define (got-2/4 state i j ...) (if (< i end) (let ((byte (bytevector-u8-ref bv i))) (if (<=3D #x80 byte #xBF) (got-3/4 (logior (ash state 8) byte) (+ i 1) j ...) (error state i j ...))) (values state i j ...))) (define (got-3/4 state i j ...) (if (< i end) (let ((byte (bytevector-u8-ref bv i))) (if (<=3D #x80 byte #xBF) (output (logior (ash (logand state #x70000) 2) (ash (logand state #x3F00) 4) (ash (logand state #x3F) 6) (logand byte #x3F)) (+ i 1) j ...) (error state i j ...))) (values state i j ...))) (define (enter state i j ...) (cond ((zero? state) (continue i j ...)) ((<=3D state #xF4) (got-1 state i j ...)) ((<=3D state #xEFBF) (got-2/3 state i j ...)) ((<=3D state #xF48F) (got-2/4 state i j ...)) (else (got-3/4 state i j ...)))) (enter state-expr start-expr init-expr ...))) (define (utf8->string! state source source-start source-end target target-start target-end) "Decode part of a UTF-8 byte stream from the bytevector SOURCE starting at index SOURCE-START and up to (but not including) index SOURCE-END, and writing into the string TARGET starting at index TARGET-START and up to (but not including) index TARGET-END. Returns three values: NEW-STATE, SOURCE-POS, and TARGET-POS. STATE is either 0 (the start state) or the value of NEW-STATE returned by the previous call. In case of errors, each 'maximal subpart of an ill-formed subsequence', as defined in section 3.9 of The Unicode Standard 12.0, is replaced with a Unicode replacement character (U+FFFD)." (if (< target-start target-end) (utf8-decode ((j target-start)) (i continue) (output (code-point) (string-set! target j (integer->char code-point)) (if (< (+ j 1) target-end) (continue i (+ j 1)) (values 0 i (+ j 1)))) (error (maximal-subpart) (output #xFFFD i j)) ;TODO: support other error h= andlers state source source-start source-end) (values state source-start target-start))) ;; Another experimental primitive, slower than the ones above. (define* (utf8-fold* out err seed state bv #:optional (start 0) (end (bytevector-length bv))) "Decode part of a UTF-8 byte stream from the bytevector SOURCE starting at index SOURCE-START and up to (but not including) index SOURCE-END. Returns three values: NEW-STATE, SOURCE-POS, and FINAL-SEED. STATE is either 0 (the start state) or the value of NEW-STATE returned by the previous call. For each valid code point, call (OUT CODE-POINT SOURCE-POS SEED K), which should either call (K SOURCE-POS NEW-SEED) to continue decoding, or return three values (0 SOURCE-POS NEW-SEED) which will terminate decoding and immediately exit. In case of errors, call (ERR MAXIMAL-SUBPART SOURCE-POS SEED K) where MAXIMAL-SUBPART is a 'maximal subpart of an ill-formed subsequence', as defined in section 3.9 of The Unicode Standard 12.0. Similarly, ERR should either call (K SOURCE-POS NEW-SEED) to continue decoding, or return to exit immediately." (utf8-decode ((j seed)) (i continue) (output (code-point) (out code-point i j continue)) (error (maximal-subpart) (err maximal-subpart i j continue)) state bv start end)) ;; Another experimental primitive, slower than the ones above. (define* (utf8-fold out err seed state bv #:optional (start 0) (end (bytevector-length bv))) "Decode part of a UTF-8 byte stream from the bytevector SOURCE starting at index SOURCE-START and up to (but not including) index SOURCE-END. Returns three values: NEW-STATE, SOURCE-POS, and FINAL-SEED. STATE is either 0 (the start state) or the value of NEW-STATE returned by the previous call. For each valid code point, call (OUT CODE-POINT SOURCE-POS SEED), which should return a new SEED. In case of errors, call (ERR MAXIMAL-SUBPART SOURCE-POS SEED) where MAXIMAL-SUBPART is a 'maximal subpart of an ill-formed subsequence', as defined in section 3.9 of The Unicode Standard 12.0. ERR should return two values: a boolean specifying whether to continue decoding, and a new seed." (utf8-fold* (lambda (code-point i j continue) (continue i (out code-point i j))) (lambda (maximal-subpart i j continue) (call-with-values (lambda () (err maximal-subpart i j)) (lambda (continue? j^) (if continue? (continue i j^) (values 0 i j^))))) seed state bv start end)) ;; A not-so-quick test of all valid characters. ;; TODO: Tests of strictness and error handling. #; (let () (define ss (string-tabulate (lambda (i) (if (< i #xD800) (integer->char i) (integer->char (+ i #x800)))) (- #x110000 #x800))) (define bv (string->utf8 ss)) (define bv-len (bytevector-length bv)) (define slen (* 2 (string-length ss))) (define s (make-string slen)) (every (lambda (incr) (string-fill! s #\a) (call-with-values (lambda () (let loop ((state 0) (i 0) (j 0)) (if (< i bv-len) (call-with-values (lambda () (utf8->string! state bv i (min bv-len (+ i incr)) s j slen)) loop) (values state i j)))) (lambda (state i j) (and (zero? state) (=3D i bv-len) (=3D j (string-length ss)) (string=3D? ss (substring s 0 j)))))) (iota 5 1))) --=-=-=--
bug-guix@HIDDEN
:bug#35350
; Package guix
.
Full text available.Received: (at 35350) by debbugs.gnu.org; 26 Apr 2019 19:11:14 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Apr 26 15:11:13 2019 Received: from localhost ([127.0.0.1]:33586 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1hK6Fd-0006XV-CV for submit <at> debbugs.gnu.org; Fri, 26 Apr 2019 15:11:13 -0400 Received: from world.peace.net ([64.112.178.59]:48374) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <mhw@HIDDEN>) id 1hK6Fb-0006XB-BS for 35350 <at> debbugs.gnu.org; Fri, 26 Apr 2019 15:11:12 -0400 Received: from mhw by world.peace.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <mhw@HIDDEN>) id 1hK6FU-0000cq-W1; Fri, 26 Apr 2019 15:11:05 -0400 From: Mark H Weaver <mhw@HIDDEN> To: Ludovic =?utf-8?Q?Court=C3=A8s?= <ludo@HIDDEN> Subject: Re: bug#35350: Some compile output still leaks through with --verbosity=1 References: <87mukkfd2j.fsf@HIDDEN> <87r29v2jz2.fsf@HIDDEN> <87ftq9silk.fsf@HIDDEN> <87imv5jai5.fsf@HIDDEN> Date: Fri, 26 Apr 2019 15:09:24 -0400 In-Reply-To: <87imv5jai5.fsf@HIDDEN> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Tue, 23 Apr 2019 12:12:34 +0200") Message-ID: <87k1fgh9c0.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 35350 Cc: 35350 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Ludovic, Thanks for investigating this. Ludovic Court=C3=A8s <ludo@HIDDEN> writes: > The third read(2) call here ends on a partial UTF-8 sequence for LEFT > SINGLE QUOTATION MARK (we get the first two bytes of a three byte > sequence.) > > What happens is that =E2=80=98process-stderr=E2=80=99 in (guix store) get= s that byte > string from the daemon, passes it through =E2=80=98read-maybe-utf8-string= =E2=80=99, > which replaces the last two bytes with REPLACEMENT CHARACTER, which is > itself a 3-byte sequence. It seems to me that what's needed here is to save the UTF-8 decoder state between calls to 'process-stderr'. Coincidentally, I also needed something like this a week ago, when I tried implementing R6RS custom textual input/output ports on top of R6RS custom binary input/output ports. To meet these needs, I've implemented a fairly efficient, purely functional UTF-8 decoder in Scheme that accepts a decoder state and an arbitrary range from a bytevector, and returns a new decoder state. There's a macro that allows arbitrary actions to be performed when a code point (or maximal subpart in the case of errors) is found. This macro is then used to implement a decoder (utf8->string!) that writes into an arbitrary range of an existing string. Of course, it's not purely functional, but it avoids heap allocation when compiled with Guile. On my Thinkpad X200, it can process around 10 megabytes per second. The state is represented as an exact integer between 0 and #xF48FBF inclusive, which are simply the bytes that have been seen so far in the current code sequence, in big-endian order, or 0 for the start state. For example, #xF48FBF represents the state where the bytes (F4 8F BF) have been read. The state is always either 0 or a proper prefix of a valid UTF-8 byte sequence. I also plan to implement an optimized C version of 'utf8->string!' and add it to Guile, in order to implement fast custom textual ports. The precise name and API is not yet finalized. At present, 'utf8->string!' always replaces maximal subparts with the substitution character in case of errors, but I intend to eventually support other error modes as well. What would you think about using this code to replace the uses of 'read-maybe-utf8-string', and storing the UTF-8 decoder state in the <store-connection> object? Would we need to store multiple states in case of (max-jobs > 1)? Regards Mark --=-=-= Content-Type: text/plain; charset=utf-8 Content-Disposition: inline; filename=utf8-decoder.scm Content-Transfer-Encoding: quoted-printable Content-Description: UTF-8 decoder implementation ;;; Copyright =C2=A9 2019 Mark H Weaver <mhw@HIDDEN> ;;; ;;; This program is free software: you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation, either version 3 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program. If not, see <http://www.gnu.org/licenses/>. (use-modules (rnrs bytevectors) ;; the following modules are only needed for the test. ;;(srfi srfi-1) ;;(ice-9 iconv) ) ;; Well-formed UTF-8 sequences ;; =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D ;; 00..7F ;; C2..DF 80..BF ;; E0 *A0..BF 80..BF ;; E1..EC 80..BF 80..BF ;; ED 80..9F* 80..BF ;; EE..EF 80..BF 80..BF ;; F0 *90..BF 80..BF 80..BF ;; F1..F3 80..BF 80..BF 80..BF ;; F4 80..8F* 80..BF 80..BF ;; UTF-8 Decoder states ;; =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D ;; 0 start state ;; C2 .. DF got 1/2 bytes ;; E0 .. EF got 1/3 bytes ;; F0 .. F4 got 1/4 bytes ;; E0A0 .. ED9F got 2/3 bytes (range 1) ;; EE80 .. EFBF got 2/3 bytes (range 2) ;; F090 .. F48F got 2/4 bytes ;; F09080 .. F48FBF got 3/4 bytes (define-syntax-rule (utf8-decode ((j init-expr) ...) (i continue) (output (code-point) e1 e1* ...) (error (maximal-subpart) e2 e2* ...) state-expr bv-expr start-expr end-expr) ;; The start state is 0. ;; When 'error' is called with arguments (state i j ...), 'state' ;; contains the bytes of the "maximal subpart of an ill-formed ;; subsequence" as defined in The Unicode Standard section 3.9, ;; i.e. the bytes which are being represented by this error report ;; and which are not being converted. 'i' is the bytevector index ;; immediately following this maximal subpart, i.e. the index where ;; decoding should resume. 'j ...' are the user-provided seeds. ;; the decoder returns the values: (new-state bv-pos j ...) (let ((bv bv-expr) (end end-expr)) (define (output code-point i j ...) e1 e1* ...) (define (error maximal-subpart i j ...) e2 e2* ...) =20=20=20=20 (define (continue i j ...) (if (< i end) (let ((byte (bytevector-u8-ref bv i))) (cond ((<=3D byte #x7F) (output byte (+ i 1) j ...)) ((<=3D #xC2 byte #xF4) (got-1 byte (+ i 1) j ...)) (else (error byte (+ i 1) j ...)))) (values 0 i j ...))) (define (got-1 state i j ...) (if (< i end) (let ((byte (bytevector-u8-ref bv i))) (cond ((not (<=3D #x80 byte #xBF)) (error state i j ...)) ((<=3D state #xDF) (output (logior (ash (logand state #x1F) 6) (logand byte #x3F)) (+ i 1) j ...)) (else (let ((state^ (logior (ash state 8) byte))) (cond ((or (<=3D #xE0A0 state^ #xED9F) (<=3D #xEE80 state^ #xEFBF)) (got-2/3 state^ (+ i 1) j ...)) ((<=3D #xF090 state^ #xF48F) (got-2/4 state^ (+ i 1) j ...)) (else (error state i j ...))))))) (values state i j ...))) (define (got-2/3 state i j ...) (if (< i end) (let ((byte (bytevector-u8-ref bv i))) (if (<=3D #x80 byte #xBF) (output (logior (ash (logand state #xF00) 4) (ash (logand state #x3F) 6) (logand byte #x3F)) (+ i 1) j ...) (error state i j ...))) (values state i j ...))) (define (got-2/4 state i j ...) (if (< i end) (let ((byte (bytevector-u8-ref bv i))) (if (<=3D #x80 byte #xBF) (got-3/4 (logior (ash state 8) byte) (+ i 1) j ...) (error state i j ...))) (values state i j ...))) (define (got-3/4 state i j ...) (if (< i end) (let ((byte (bytevector-u8-ref bv i))) (if (<=3D #x80 byte #xBF) (output (logior (ash (logand state #x70000) 2) (ash (logand state #x3F00) 4) (ash (logand state #x3F) 6) (logand byte #x3F)) (+ i 1) j ...) (error state i j ...))) (values state i j ...))) (define (enter state i j ...) (cond ((zero? state) (continue i j ...)) ((<=3D state #xF4) (got-1 state i j ...)) ((<=3D state #xEFBF) (got-2/3 state i j ...)) ((<=3D state #xF48F) (got-2/4 state i j ...)) (else (got-3/4 state i j ...)))) (enter state-expr start-expr init-expr ...))) ;; Returns three values: (new-state source-pos target-pos) (define (utf8->string! state source source-start source-end target target-start target-end) (utf8-decode ((j target-start)) (i continue) (output (code-point) (string-set! target j (integer->char code-point)) (if (< (+ j 1) target-end) (continue i (+ j 1)) (values 0 i (+ j 1)))) (error (maximal-subpart) (output #xFFFD i j)) ;TODO: support other error handl= ers state source source-start source-end)) ;; Another experimental primitive, slower than the ones above. (define* (utf8-fold* out err seed state bv #:optional (start 0) (end (bytevector-length bv))) (utf8-decode ((j seed)) (i continue) (output (code-point) (out code-point i j continue)) (error (maximal-subpart) (err maximal-subpart i j continue)) state bv start end)) ;; Another experimental primitive, slower than the ones above. (define* (utf8-fold out err seed state bv #:optional (start 0) (end (bytevector-length bv))) (utf8-fold* (lambda (code-point i j continue) (continue i (out code-point i j))) (lambda (maximal-subpart i j continue) (call-with-values (lambda () (err maximal-subpart i j)) (lambda (continue? j^) (if continue? (continue i j^) (values 0 i j^))))) seed state bv start end)) ;; A not-so-quick test of all valid characters. ;; TODO: Tests of strictness and error handling. #; (let () (define ss (string-tabulate (lambda (i) (if (< i #xD800) (integer->char i) (integer->char (+ i #x800)))) (- #x110000 #x800))) (define bv (string->utf8 ss)) (define bv-len (bytevector-length bv)) (define slen (* 2 (string-length ss))) (define s (make-string slen)) (every (lambda (incr) (string-fill! s #\a) (call-with-values (lambda () (let loop ((state 0) (i 0) (j 0)) (if (< i bv-len) (call-with-values (lambda () (utf8->string! state bv i (min bv-len (+ i incr)) s j slen)) loop) (values state i j)))) (lambda (state i j) (and (=3D i bv-len) (=3D j (string-length ss)) (string=3D? ss (substring s 0 j)))))) (iota 5 1))) --=-=-=--
bug-guix@HIDDEN
:bug#35350
; Package guix
.
Full text available.Received: (at 35350) by debbugs.gnu.org; 23 Apr 2019 10:12:49 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 23 06:12:49 2019 Received: from localhost ([127.0.0.1]:52470 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1hIsPx-0000L7-53 for submit <at> debbugs.gnu.org; Tue, 23 Apr 2019 06:12:49 -0400 Received: from eggs.gnu.org ([209.51.188.92]:56649) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <ludo@HIDDEN>) id 1hIsPu-0000Ks-Mf for 35350 <at> debbugs.gnu.org; Tue, 23 Apr 2019 06:12:48 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:58403) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <ludo@HIDDEN>) id 1hIsPp-00006A-8v; Tue, 23 Apr 2019 06:12:41 -0400 Received: from [2001:660:6102:320:e120:2c8f:8909:cdfe] (port=50668 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from <ludo@HIDDEN>) id 1hIsPm-0001Ed-6m; Tue, 23 Apr 2019 06:12:39 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN> To: Mark H Weaver <mhw@HIDDEN> Subject: Re: bug#35350: Some compile output still leaks through with --verbosity=1 References: <87mukkfd2j.fsf@HIDDEN> <87r29v2jz2.fsf@HIDDEN> <87ftq9silk.fsf@HIDDEN> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 4 =?utf-8?Q?Flor=C3=A9al?= an 227 de la =?utf-8?Q?R?= =?utf-8?Q?=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Tue, 23 Apr 2019 12:12:34 +0200 In-Reply-To: <87ftq9silk.fsf@HIDDEN> (Mark H. Weaver's message of "Mon, 22 Apr 2019 19:52:28 -0400") Message-ID: <87imv5jai5.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 35350 Cc: 35350 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Mark, Mark H Weaver <mhw@HIDDEN> skribis: > Ludovic Court=C3=A8s <ludo@HIDDEN> writes: > >> Mark H Weaver <mhw@HIDDEN> skribis: >> >>> Sometimes when compiling a package with --verbosity=3D1, some parts of = the >>> compile output leak through. For example, see the transcript below. >> >> Weird. > > FWIW, a few observations, possibly relevant: > > (1) Each chunk of leaked output begins with 1 or 2 Unicode Replacement > characters (U+FFFD). In the transcript I provided, the first leak > began with 1 replacement char, and all later leaks began with 2. > > (2) The replacement characters are immediately followed by > "@ build-log 30033 4096\n", and that string is also sprinkled > throughout the leaked output, with approximately ~4060-4070 > characters of leaked output between each occurrence of > "@ build-log 30033 4096\n". Indeed. I managed to reproduce it while building modem-manager. I strace=E2=80=99d =E2=80=98guix build=E2=80=99 with an additional =E2=80=98p= k=E2=80=99=C2=B9 to see what happens, and here=E2=80=99s what leads to the wrong =E2=80=9Cwrite(2, "=EF=BF=BD@ build-= log=E2=80=A6")=E2=80=9D call: --8<---------------cut here---------------start------------->8--- read(13, "gmlo\0\0\0\0", 8) =3D 8 read(13, "\27\20\0\0\0\0\0\0", 8) =3D 8 read(13, "@ build-log 22090 4096\n [=E2=80=A6] warning: \342\200", 4119) = =3D 4119 read(13, "\0", 1) =3D 1 write(1, "\n", 1) =3D 1 write(1, ";;; (write 1008 <> #f 0)\n", 25) =3D 25 write(1, "\n", 1) =3D 1 write(1, ";;; (write 985 <> 22090 4096)\n", 30) =3D 30 write(1, "\n", 1) =3D 1 write(1, ";;; (write 1008 <> 22090 3111)\n", 31) =3D 31 write(1, "\n", 1) =3D 1 write(1, ";;; (write 1008 <> 22090 2103)\n", 31) =3D 31 write(1, "\n", 1) =3D 1 write(1, ";;; (write 1008 <> 22090 1095)\n", 31) =3D 31 write(1, "\n", 1) =3D 1 write(1, ";;; (write 88 <> 22090 87)\n", 27) =3D 27 write(2, "\r\33[K\\ 'build' phase", 19) =3D 19 [=E2=80=A6] write(2, "\r\33[K\\ 'build' phase", 19) =3D 19 write(1, "\n", 1) =3D 1 write(1, ";;; (write 1 <> #f 0)\n", 22) =3D 22 read(13, "gmlo\0\0\0\0", 8) =3D 8 read(13, "\27\20\0\0\0\0\0\0", 8) =3D 8 read(13, "@ build-log 22090 4096\n\230g_simple_async_result_take_error\342\= 200\231 is deprecated[=E2=80=A6]", 4119) =3D 4119 read(13, "\0", 1) =3D 1 write(1, "\n", 1) =3D 1 write(1, ";;; (write 1008 <> #f 0)\n", 25) =3D 25 write(2, "\357\277\275@ build-log 22090 4096\n", 26) =3D 26 --8<---------------cut here---------------end--------------->8--- The third read(2) call here ends on a partial UTF-8 sequence for LEFT SINGLE QUOTATION MARK (we get the first two bytes of a three byte sequence.) What happens is that =E2=80=98process-stderr=E2=80=99 in (guix store) gets = that byte string from the daemon, passes it through =E2=80=98read-maybe-utf8-string= =E2=80=99, which replaces the last two bytes with REPLACEMENT CHARACTER, which is itself a 3-byte sequence. Thus, we have this extra byte that=E2=80=99s being inserted. That confuses= the whole machinery since the build log was announced as being 4096-byte long, and it=E2=80=99s now 4097-byte long. Internally, =E2=80=98build-event-output-port=E2=80=99 keeps the last byte o= f the REPLACEMENT CHARACTER sequence in the =E2=80=98%fragments=E2=80=99 buffer. Consequently, the =E2=80=9C@ build-log=E2=80=9D string that comes next does= n=E2=80=99t start on a newline, and thus it is considered build output. Since the first byte does not constitute a valid UTF-8 sequence, another REPLACEMENT CHARACTER is inserted there when it gets printed. So =E2=80=98build-event-output-port=E2=80=99 is working as expected. The p= roblem is the first layer of UTF-8 decoding that happens in =E2=80=98process-stderr=E2=80= =99, in the =E2=80=98%stderr-next=E2=80=99 case. We would need to disable it, but only= if the build output port is =E2=80=98build-event-output-port=E2=80=99 (i.e., it=E2=80=99= s capable of interpreting =E2=80=9Cmultiplexed build output=E2=80=9D correctly.) Thanks, Ludo=E2=80=99. =C2=B9 pk: --=-=-= Content-Type: text/x-patch Content-Disposition: inline diff --git a/guix/status.scm b/guix/status.scm index cbea4151f2..4dcbcb0c1f 100644 --- a/guix/status.scm +++ b/guix/status.scm @@ -717,6 +717,7 @@ The second return value is a thunk to retrieve the current state." (pointer->bytevector ptr count))) (define (write! bv offset count) + (pk 'write count '<> %build-output-pid %build-output-left) (if %build-output-pid (let ((keep (min count %build-output-left))) (set! %build-output --=-=-=--
bug-guix@HIDDEN
:bug#35350
; Package guix
.
Full text available.Received: (at 35350) by debbugs.gnu.org; 23 Apr 2019 08:47:03 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 23 04:47:03 2019 Received: from localhost ([127.0.0.1]:52307 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1hIr4w-0004hK-Ou for submit <at> debbugs.gnu.org; Tue, 23 Apr 2019 04:47:03 -0400 Received: from world.peace.net ([64.112.178.59]:35364) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <mhw@HIDDEN>) id 1hIr4t-0004gp-9M for 35350 <at> debbugs.gnu.org; Tue, 23 Apr 2019 04:47:01 -0400 Received: from mhw by world.peace.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <mhw@HIDDEN>) id 1hIr4n-00077G-LI; Tue, 23 Apr 2019 04:46:53 -0400 From: Mark H Weaver <mhw@HIDDEN> To: Ludovic =?utf-8?Q?Court=C3=A8s?= <ludo@HIDDEN> Subject: Re: bug#35350: Some compile output still leaks through with --verbosity=1 References: <87mukkfd2j.fsf@HIDDEN> <87r29v2jz2.fsf@HIDDEN> <87ftq9silk.fsf@HIDDEN> Date: Tue, 23 Apr 2019 04:45:13 -0400 In-Reply-To: <87ftq9silk.fsf@HIDDEN> (Mark H. Weaver's message of "Mon, 22 Apr 2019 19:52:28 -0400") Message-ID: <877eblw1mz.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 35350 Cc: 35350 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) > What=E2=80=99s the value of --max-jobs? max-jobs is 1. Please disregard my previous response. Thanks, Mark
bug-guix@HIDDEN
:bug#35350
; Package guix
.
Full text available.Received: (at 35350) by debbugs.gnu.org; 22 Apr 2019 23:54:17 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Apr 22 19:54:17 2019 Received: from localhost ([127.0.0.1]:51922 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1hIilN-00068Y-CL for submit <at> debbugs.gnu.org; Mon, 22 Apr 2019 19:54:17 -0400 Received: from world.peace.net ([64.112.178.59]:34648) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <mhw@HIDDEN>) id 1hIilK-00068K-PQ for 35350 <at> debbugs.gnu.org; Mon, 22 Apr 2019 19:54:15 -0400 Received: from mhw by world.peace.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <mhw@HIDDEN>) id 1hIilE-0003AK-Rr; Mon, 22 Apr 2019 19:54:08 -0400 From: Mark H Weaver <mhw@HIDDEN> To: Ludovic =?utf-8?Q?Court=C3=A8s?= <ludo@HIDDEN> Subject: Re: bug#35350: Some compile output still leaks through with --verbosity=1 References: <87mukkfd2j.fsf@HIDDEN> <87r29v2jz2.fsf@HIDDEN> Date: Mon, 22 Apr 2019 19:52:28 -0400 In-Reply-To: <87r29v2jz2.fsf@HIDDEN> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Sun, 21 Apr 2019 22:15:29 +0200") Message-ID: <87ftq9silk.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 35350 Cc: 35350 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Hi Ludovic, Ludovic Court=C3=A8s <ludo@HIDDEN> writes: > Mark H Weaver <mhw@HIDDEN> skribis: > >> Sometimes when compiling a package with --verbosity=3D1, some parts of t= he >> compile output leak through. For example, see the transcript below. > > Weird. FWIW, a few observations, possibly relevant: (1) Each chunk of leaked output begins with 1 or 2 Unicode Replacement characters (U+FFFD). In the transcript I provided, the first leak began with 1 replacement char, and all later leaks began with 2. (2) The replacement characters are immediately followed by "@ build-log 30033 4096\n", and that string is also sprinkled throughout the leaked output, with approximately ~4060-4070 characters of leaked output between each occurrence of "@ build-log 30033 4096\n". > What=E2=80=99s the value of --max-jobs? I'm not sure, how do I find out? I don't specify it in my OS configuration, and it's not on the command line of 'guix-daemon'. Here's the relevant portion of my OS config: (modify-services %base-services (guix-service-type config =3D> (guix-configuration (inherit config) (use-substitutes? #f) (authorized-keys '()) (substitute-urls '()) (extra-options '("--gc-keep-derivations=3Dyes" "--gc-keep-outputs=3Dyes")))= )) I guess it's probably 2, because that's how many cores are in this machine (Thinkpad X200), and 2 is also the number of GCC processes that I typically see when building packages on this machine. > Is offloading enabled? No. In addition to the above configuration, my /etc/guix/acl also contains simply "(acl)". > Presumably both the client and daemon are recent, right? Yes, this machine is rarely more than a week out-of-date w.r.t. our 'master' branch. Thanks, Mark
bug-guix@HIDDEN
:bug#35350
; Package guix
.
Full text available.Received: (at 35350) by debbugs.gnu.org; 21 Apr 2019 20:15:38 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Apr 21 16:15:38 2019 Received: from localhost ([127.0.0.1]:49138 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1hIIsE-000634-8m for submit <at> debbugs.gnu.org; Sun, 21 Apr 2019 16:15:38 -0400 Received: from eggs.gnu.org ([209.51.188.92]:45838) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <ludo@HIDDEN>) id 1hIIsC-00062s-Ri for 35350 <at> debbugs.gnu.org; Sun, 21 Apr 2019 16:15:37 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:56075) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <ludo@HIDDEN>) id 1hIIs7-0004Xu-OC; Sun, 21 Apr 2019 16:15:31 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=38654 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from <ludo@HIDDEN>) id 1hIIs7-0004oz-4M; Sun, 21 Apr 2019 16:15:31 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN> To: Mark H Weaver <mhw@HIDDEN> Subject: Re: bug#35350: Some compile output still leaks through with --verbosity=1 References: <87mukkfd2j.fsf@HIDDEN> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 2 =?utf-8?Q?Flor=C3=A9al?= an 227 de la =?utf-8?Q?R?= =?utf-8?Q?=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Sun, 21 Apr 2019 22:15:29 +0200 In-Reply-To: <87mukkfd2j.fsf@HIDDEN> (Mark H. Weaver's message of "Sat, 20 Apr 2019 19:53:29 -0400") Message-ID: <87r29v2jz2.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 35350 Cc: 35350 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Hi Mark, Mark H Weaver <mhw@HIDDEN> skribis: > Sometimes when compiling a package with --verbosity=3D1, some parts of the > compile output leak through. For example, see the transcript below. Weird. What=E2=80=99s the value of --max-jobs? Is offloading enabled? Presumably both the client and daemon are recent, right? Thanks, Ludo=E2=80=99.
bug-guix@HIDDEN
:bug#35350
; Package guix
.
Full text available.Received: (at submit) by debbugs.gnu.org; 21 Apr 2019 00:00:14 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Apr 20 20:00:14 2019 Received: from localhost ([127.0.0.1]:47091 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1hHztz-0000iq-3m for submit <at> debbugs.gnu.org; Sat, 20 Apr 2019 20:00:14 -0400 Received: from eggs.gnu.org ([209.51.188.92]:51272) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <mhw@HIDDEN>) id 1hHztv-0000hM-0T for submit <at> debbugs.gnu.org; Sat, 20 Apr 2019 20:00:10 -0400 Received: from lists.gnu.org ([209.51.188.17]:51629) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from <mhw@HIDDEN>) id 1hHztp-00010y-M2 for submit <at> debbugs.gnu.org; Sat, 20 Apr 2019 20:00:01 -0400 Received: from eggs.gnu.org ([209.51.188.92]:37411) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <mhw@HIDDEN>) id 1hHzti-0004gf-Q1 for bug-guix@HIDDEN; Sat, 20 Apr 2019 20:00:01 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <mhw@HIDDEN>) id 1hHzpD-0006s3-5J for bug-guix@HIDDEN; Sat, 20 Apr 2019 19:55:21 -0400 Received: from world.peace.net ([64.112.178.59]:37882) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from <mhw@HIDDEN>) id 1hHzpC-0006rG-Us for bug-guix@HIDDEN; Sat, 20 Apr 2019 19:55:15 -0400 Received: from mhw by world.peace.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <mhw@HIDDEN>) id 1hHzp6-0001TJ-Tm; Sat, 20 Apr 2019 19:55:10 -0400 From: Mark H Weaver <mhw@HIDDEN> To: bug-guix@HIDDEN Subject: Some compile output still leaks through with --verbosity=1 Date: Sat, 20 Apr 2019 19:53:29 -0400 Message-ID: <87mukkfd2j.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 64.112.178.59 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.3 (--) Sometimes when compiling a package with --verbosity=3D1, some parts of the compile output leak through. For example, see the transcript below. Mark --8<---------------cut here---------------start------------->8--- mhw@jojen ~$ guix system build /etc/config.scm --verbosity=3D1 --keep-faile= d --keep-going; guix package -m mhw-manifest.scm --keep-failed --keep-going building /gnu/store/3c9f2rv92fb5id7xy0h62jl4vvglvpvh-linux-libre-5.0.8-gnu.= tar.xz.drv... downloading from https://linux-libre.fsfla.org/pub/linux-libre/releases/5.0= .8-gnu/linux-libre-5.0.8-gnu.tar.xz... building /gnu/store/cxlivh8bq6adnhdzc6i75z5i2qplq8zr-linux-libre-5.0.8-gnu.= tar.xz.drv... building /gnu/store/9xlx7zj4w9cl69xi3d21gl40l3gx4jri-linux-libre-5.0.8.drv.= .. building /gnu/store/la179xxpm8m4jmajjr3xfrchzfwpc06y-console-setup-1.191-ch= eckout.drv... building /gnu/store/v7a1y4v0nwrq64ddr7kdm4855gzjrzrc-console-setup-1.191.dr= v... building /gnu/store/04wdi408fbl9bmnzdy4dwxd135cy9jss-gpgme-1.13.0.tar.bz2.d= rv... downloading from https://gnupg.org/ftp/gcrypt/gpgme/gpgme-1.13.0.tar.bz2... building /gnu/store/yaavzrys958mhmki2axpdnbrlyzd911f-gpgme-1.13.0.drv... - 'check' phaselt. building /gnu/store/0rdfdqsahs0axzhpn6k3g4zmskmgkvcg-samba-4.10.2.drv... building /gnu/store/75z0i5hb2cwn0y76gnaqlj18z1715yy1-volume-key-0.3.12.drv.= .. building /gnu/store/0fjcqx6s7bm7wsa4iwf2knpki9r8g71h-libblockdev-2.21.drv... building /gnu/store/dk1867ygsaimm5yzxp6rrx3379fsx878-udisks-2.7.7.drv... building /gnu/store/a2cwdflfbklmj4cflrzkd4n4m3q3ain5-gvfs-1.32.1.drv... building /gnu/store/j8a8k76qaslj3bvbbbzpp6wwh80cv27b-libmbim-1.18.2.tar.xz.= drv... downloading from https://www.freedesktop.org/software/libmbim/libmbim-1.18.= 2.tar.xz... building /gnu/store/070338avjl034y1vqd40hb62aw3i7yg0-libqmi-1.22.4.tar.xz.d= rv... downloading from https://www.freedesktop.org/software/libqmi/libqmi-1.22.4.= tar.xz... building /gnu/store/vgli6q8lyfp92mxr9v5783kd2cgyb3mr-libmbim-1.18.2.drv... building /gnu/store/7jq010r8fvdgdr9sb6g2znrkqkjgpbjk-libqmi-1.22.4.drv... building /gnu/store/rn5mbq2h2fmxpd95q6cfx31bgbw5q89a-modem-manager-1.4.14.d= rv... \ 'build' phase=EF=BF=BD@ build-log 30033 4096 =EF=BF=BD is deprecated [-Wdeprecated-declarations] g_simple_async_result_set_error (ctx->result, ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:122:21: note: declared here void g_simple_async_result_set_error (GSimpleAsyncRe= sult *simple, ^ mm-broadband-modem.c:6136:5: warning: =E2=80=98g_simple_async_result_set_op= _res_gboolean=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:88:21: note: declared here void g_simple_async_result_set_op_res_gboolean (GSimpleAsyn= cResult *simple, ^ mm-broadband-modem.c: In function =E2=80=98sms_pdu_part_list_ready=E2=80=99: mm-broadband-modem.c:6172:9: warning: =E2=80=98g_simple_async_result_take_e= rror=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_take_error (ctx->result, error); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:116:21: note: declared here void g_simple_async_result_take_error (GSimpleAsyncRe= sult *simple, ^ mm-broadband-modem.c:6179:9: warning: =E2=80=98g_simple_async_result_take_e= rror=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_take_error (ctx->result, error); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:116:21: note: declared here void g_simple_async_result_take_error (GSimpleAsyncRe= sult *simple, ^ mm-broadband-modem.c:6205:5: warning: =E2=80=98g_simple_async_result_set_op= _res_gboolean=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:88:21: note: declared here void g_simple_async_result_set_op_res_gboolean (GSimpleAsyn= cResult *simple, ^ mm-broadband-modem.c: In function =E2=80=98list_parts_lock_storages_ready= =E2=80=99: mm-broadband-modem.c:6219:9: warning: =E2=80=98g_simple_async_result_take_e= rror=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_take_error (ctx->result, error); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, @ build-log 30033 4096 from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:116:21: note: declared here void g_simple_async_result_take_error (GSimpleAsyncRe= sult *simple, ^ mm-broadband-modem.c: In function =E2=80=98modem_messaging_load_initial_sms= _parts=E2=80=99: mm-broadband-modem.c:6249:15: warning: assignment from incompatible pointer= type [-Wincompatible-pointer-types] ctx->self =3D g_object_ref (self); ^ mm-broadband-modem.c:6250:5: warning: =E2=80=98g_simple_async_result_new=E2= =80=99 is deprecated: Use 'g_task_new' instead [-Wdeprecated-declarations] ctx->result =3D g_simple_async_result_new (G_OBJECT (self), ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:51:21: note: declared here GSimpleAsyncResult *g_simple_async_result_new (GObject = *source_object, ^ mm-broadband-modem.c: In function =E2=80=98hdr_state_context_complete_and_f= ree=E2=80=99: mm-broadband-modem.c:6365:5: warning: =E2=80=98g_simple_async_result_comple= te=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_complete (ctx->result); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:104:21: note: declared here void g_simple_async_result_complete (GSimpleAsyncRe= sult *simple); ^ mm-broadband-modem.c: In function =E2=80=98modem_cdma_get_hdr_state_finish= =E2=80=99: mm-broadband-modem.c:6382:5: warning: =E2=80=98g_simple_async_result_propag= ate_error=E2=80=99 is deprecated [-Wdeprecated-declarations] if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (res)= , error)) ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:119:21: note: declared here gboolean g_simple_async_result_propagate_error (GSimpleAsyncRe= sult *simple, ^ mm-broadband-modem.c:6385:5: warning: =E2=80=98g_simple_async_result_get_op= _res_gpointer=E2=80=99 is deprecated [-Wdeprecated-declarations] results =3D g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_= RESULT (res)); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:79:21: note: declared here gpointer g_simple_async_result_get_op_res_gpointer (GSimpleAsyn= cResult *simple); ^ mm-broadband-modem.c: In function =E2=80=98hdr_subsys_state_info_ready=E2= =80=99: mm-broadband-modem.c:6405:9: warning: =E2=80=98g_simple_async_result_set_fr= om_error=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_set_from_error (ctx->result, error); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-g@ build-log 30033 4096 lib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:113:21: note: declared here void g_simple_async_result_set_from_error (GSimpleAsyncRe= sult *simple, ^ mm-broadband-modem.c:6415:9: warning: =E2=80=98g_simple_async_result_set_er= ror=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_set_error (ctx->result, ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:122:21: note: declared here void g_simple_async_result_set_error (GSimpleAsyncRe= sult *simple, ^ mm-broadband-modem.c:6433:5: warning: =E2=80=98g_simple_async_result_set_op= _res_gpointer=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_set_op_res_gpointer (ctx->result, results, (GDes= troyNotify)g_free); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:75:21: note: declared here void g_simple_async_result_set_op_res_gpointer (GSimpleAsyn= cResult *simple, ^ mm-broadband-modem.c: In function =E2=80=98modem_cdma_get_hdr_state=E2=80= =99: mm-broadband-modem.c:6448:9: warning: =E2=80=98g_simple_async_report_error_= in_idle=E2=80=99 is deprecated: Use 'g_task_report_error' instead [-Wdeprec= ated-declarations] g_simple_async_report_error_in_idle (G_OBJECT (self), ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:140:6: note: declared here void g_simple_async_report_error_in_idle (GObject *object, ^ mm-broadband-modem.c:6459:15: warning: assignment from incompatible pointer= type [-Wincompatible-pointer-types] ctx->self =3D g_object_ref (self); ^ mm-broadband-modem.c:6460:5: warning: =E2=80=98g_simple_async_result_new=E2= =80=99 is deprecated: Use 'g_task_new' instead [-Wdeprecated-declarations] ctx->result =3D g_simple_async_result_new (G_OBJECT (self), ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:51:21: note: declared here GSimpleAsyncResult *g_simple_async_result_new (GObject = *source_object, ^ mm-broadband-modem.c: In function =E2=80=98call_manager_state_context_compl= ete_and_free=E2=80=99: mm-broadband-modem.c:6497:5: warning: =E2=80=98g_simple_async_result_comple= te=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_complete (ctx->result); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncre@ build-log 30033 4096 sult.h:104:21: note: declared here void g_simple_async_result_complete (GSimpleAsyncRe= sult *simple); ^ mm-broadband-modem.c: In function =E2=80=98modem_cdma_get_call_manager_stat= e_finish=E2=80=99: mm-broadband-modem.c:6513:5: warning: =E2=80=98g_simple_async_result_propag= ate_error=E2=80=99 is deprecated [-Wdeprecated-declarations] if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (res)= , error)) ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:119:21: note: declared here gboolean g_simple_async_result_propagate_error (GSimpleAsyncRe= sult *simple, ^ mm-broadband-modem.c:6516:5: warning: =E2=80=98g_simple_async_result_get_op= _res_gpointer=E2=80=99 is deprecated [-Wdeprecated-declarations] results =3D g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_= RESULT (res)); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:79:21: note: declared here gpointer g_simple_async_result_get_op_res_gpointer (GSimpleAsyn= cResult *simple); ^ mm-broadband-modem.c: In function =E2=80=98cm_subsys_state_info_ready=E2=80= =99: mm-broadband-modem.c:6535:9: warning: =E2=80=98g_simple_async_result_take_e= rror=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_take_error (ctx->result, error); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:116:21: note: declared here void g_simple_async_result_take_error (GSimpleAsyncRe= sult *simple, ^ mm-broadband-modem.c:6546:9: warning: =E2=80=98g_simple_async_result_set_er= ror=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_set_error (ctx->result, ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:122:21: note: declared here void g_simple_async_result_set_error (GSimpleAsyncRe= sult *simple, ^ mm-broadband-modem.c:6561:5: warning: =E2=80=98g_simple_async_result_set_op= _res_gpointer=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_set_op_res_gpointer (ctx->result, results, (GDes= troyNotify)g_free); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:75:21: note: declared here void g_simple_async_result_set_op_res_gpointer (GSimpleAsyn= cResult *simple, ^ mm-broadband-modem.c: In function =E2=80=98modem_cdma_get_call_manager_stat= e=E2=80=99: mm-broadband-modem.c:6576:9: warning: =E2=80=98g_sim@ build-log 30033 4096 ple_async_report_error_in_idle=E2=80=99 is deprecated: Use 'g_task_report_e= rror' instead [-Wdeprecated-declarations] g_simple_async_report_error_in_idle (G_OBJECT (self), ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:140:6: note: declared here void g_simple_async_report_error_in_idle (GObject *object, ^ mm-broadband-modem.c:6587:15: warning: assignment from incompatible pointer= type [-Wincompatible-pointer-types] ctx->self =3D g_object_ref (self); ^ mm-broadband-modem.c:6588:5: warning: =E2=80=98g_simple_async_result_new=E2= =80=99 is deprecated: Use 'g_task_new' instead [-Wdeprecated-declarations] ctx->result =3D g_simple_async_result_new (G_OBJECT (self), ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:51:21: note: declared here GSimpleAsyncResult *g_simple_async_result_new (GObject = *source_object, ^ mm-broadband-modem.c: In function =E2=80=98cdma1x_serving_system_context_co= mplete_and_free=E2=80=99: mm-broadband-modem.c:6627:5: warning: =E2=80=98g_simple_async_result_comple= te=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_complete (ctx->result); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:104:21: note: declared here void g_simple_async_result_complete (GSimpleAsyncRe= sult *simple); ^ mm-broadband-modem.c: In function =E2=80=98modem_cdma_get_cdma1x_serving_sy= stem_finish=E2=80=99: mm-broadband-modem.c:6656:5: warning: =E2=80=98g_simple_async_result_propag= ate_error=E2=80=99 is deprecated [-Wdeprecated-declarations] if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (res)= , error)) ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:119:21: note: declared here gboolean g_simple_async_result_propagate_error (GSimpleAsyncRe= sult *simple, ^ mm-broadband-modem.c:6659:5: warning: =E2=80=98g_simple_async_result_get_op= _res_gpointer=E2=80=99 is deprecated [-Wdeprecated-declarations] results =3D (Cdma1xServingSystemResults *)g_simple_async_result_get_op= _res_gpointer (G_SIMPLE_ASYNC_RESULT (res)); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:79:21: note: declared here gpointer g_simple_async_result_get_op_res_gpointer (GSimpleAsyn= cResult *simple); ^ mm-broadband-modem.c: In function =E2=80=98css_query_ready=E2=80=99: mm-broadband-modem.c:6685:9: warning: =E2=80=98g_simple_async_result_take_e= @ build-log 30033 4096 rror=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_take_error (ctx->result, error); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:116:21: note: declared here void g_simple_async_result_take_error (GSimpleAsyncRe= sult *simple, ^ mm-broadband-modem.c:6708:13: warning: =E2=80=98g_simple_async_result_set_e= rror=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_set_error ( ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:122:21: note: declared here void g_simple_async_result_set_error (GSimpleAsyncRe= sult *simple, ^ mm-broadband-modem.c:6748:9: warning: =E2=80=98g_simple_async_result_set_er= ror=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_set_error ( ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:122:21: note: declared here void g_simple_async_result_set_error (GSimpleAsyncRe= sult *simple, ^ mm-broadband-modem.c:6777:9: warning: =E2=80=98g_simple_async_result_take_e= rror=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_take_error (ctx->result, ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:116:21: note: declared here void g_simple_async_result_take_error (GSimpleAsyncRe= sult *simple, ^ mm-broadband-modem.c:6790:5: warning: =E2=80=98g_simple_async_result_set_op= _res_gpointer=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_set_op_res_gpointer (ctx->result, results, (GDes= troyNotify)g_free); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:75:21: note: declared here void g_simple_async_result_set_op_res_gpointer (GSimpleAsyn= cResult *simple, ^ mm-broadband-modem.c: In function =E2=80=98qcdm_cdma_status_ready=E2=80=99: mm-broadband-modem.c:6854:5: warning: =E2=80=98g_simple_async_result_set_op= _res_gpointer=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_set_op_res_gpointer (ctx->result, results, (GDes= troyNotify)g_free); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/@ build-log 30033 4096 store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gio/gsi= mpleasyncresult.h:75:21: note: declared here void g_simple_async_result_set_op_res_gpointer (GSimpleAsyn= cResult *simple, ^ mm-broadband-modem.c: In function =E2=80=98modem_cdma_get_cdma1x_serving_sy= stem=E2=80=99: mm-broadband-modem.c:6867:15: warning: assignment from incompatible pointer= type [-Wincompatible-pointer-types] ctx->self =3D g_object_ref (self); ^ mm-broadband-modem.c:6868:5: warning: =E2=80=98g_simple_async_result_new=E2= =80=99 is deprecated: Use 'g_task_new' instead [-Wdeprecated-declarations] ctx->result =3D g_simple_async_result_new (G_OBJECT (self), ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:51:21: note: declared here GSimpleAsyncResult *g_simple_async_result_new (GObject = *source_object, ^ mm-broadband-modem.c: In function =E2=80=98modem_cdma_get_service_status_fi= nish=E2=80=99: mm-broadband-modem.c:6909:5: warning: =E2=80=98g_simple_async_result_propag= ate_error=E2=80=99 is deprecated [-Wdeprecated-declarations] if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (res)= , error)) ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:119:21: note: declared here gboolean g_simple_async_result_propagate_error (GSimpleAsyncRe= sult *simple, ^ mm-broadband-modem.c:6912:5: warning: =E2=80=98g_simple_async_result_get_op= _res_gboolean=E2=80=99 is deprecated [-Wdeprecated-declarations] *has_cdma_service =3D g_simple_async_result_get_op_res_gboolean (G_SIM= PLE_ASYNC_RESULT (res)); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:91:21: note: declared here gboolean g_simple_async_result_get_op_res_gboolean (GSimpleAsyn= cResult *simple); ^ mm-broadband-modem.c: In function =E2=80=98cad_query_ready=E2=80=99: mm-broadband-modem.c:6926:9: warning: =E2=80=98g_simple_async_result_take_e= rror=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_take_error (simple, error); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:116:21: note: declared here void g_simple_async_result_take_error (GSimpleAsyncRe= sult *simple, ^ mm-broadband-modem.c:6933:13: warning: =E2=80=98g_simple_async_result_set_e= rror=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_set_error (simple, ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/@ build-log 30033 4= 096 include/glib-2.0/gio/gsimpleasyncresult.h:122:21: note: declared here void g_simple_async_result_set_error (GSimpleAsyncRe= sult *simple, ^ mm-broadband-modem.c:6940:13: warning: =E2=80=98g_simple_async_result_set_o= p_res_gboolean=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_set_op_res_gboolean (simple, (cad =3D=3D= 1)); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:88:21: note: declared here void g_simple_async_result_set_op_res_gboolean (GSimpleAsyn= cResult *simple, ^ mm-broadband-modem.c:6943:5: warning: =E2=80=98g_simple_async_result_comple= te=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_complete (simple); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:104:21: note: declared here void g_simple_async_result_complete (GSimpleAsyncRe= sult *simple); ^ mm-broadband-modem.c: In function =E2=80=98modem_cdma_get_service_status=E2= =80=99: mm-broadband-modem.c:6954:5: warning: =E2=80=98g_simple_async_result_new=E2= =80=99 is deprecated: Use 'g_task_new' instead [-Wdeprecated-declarations] result =3D g_simple_async_result_new (G_OBJECT (self), ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:51:21: note: declared here GSimpleAsyncResult *g_simple_async_result_new (GObject = *source_object, ^ mm-broadband-modem.c: In function =E2=80=98detailed_registration_state_cont= ext_complete_and_free=E2=80=99: mm-broadband-modem.c:6988:9: warning: =E2=80=98g_simple_async_result_take_e= rror=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_take_error (ctx->result, ctx->error); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:116:21: note: declared here void g_simple_async_result_take_error (GSimpleAsyncRe= sult *simple, ^ mm-broadband-modem.c:6995:9: warning: =E2=80=98g_simple_async_result_set_op= _res_gpointer=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_set_op_res_gpointer (ctx->result, results, g= _free); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:75:21: note: declared here void g_simple_async_result_set_op_res_gpointer (GSimpleAsyn= cResult *simple, ^ mm-broadband-modem.c:6998:5: warning: =E2=80=98g_simple_async_result_comple= te=E2=80=99 is deprecated [-Wdepre@ build-log 30033 1434 cated-declarations] g_simple_async_result_complete (ctx->result); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:104:21: note: declared here void g_simple_async_result_complete (GSimpleAsyncRe= sult *simple); ^ mm-broadband-modem.c: In function =E2=80=98modem_cdma_get_detailed_registra= tion_state_finish=E2=80=99: mm-broadband-modem.c:7014:5: warning: =E2=80=98g_simple_async_result_propag= ate_error=E2=80=99 is deprecated [-Wdeprecated-declarations] if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (res)= , error)) ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-broadband-modem.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:119:21: note: declared here gboolean g_simple_async_result_propagate_error (GSimpleAsyncRe= sult *simple, ^ | 'build' phase=EF=BF=BD=EF=BF=BD@ build-log 30033 4096 =EF=BF=BD=EF=BF=BDg_simple_async_result_propagate_error=E2=80=99 is depreca= ted [-Wdeprecated-declarations] if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (res)= , error)) ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-sim-mbim.c:25: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:119:21: note: declared here gboolean g_simple_async_result_propagate_error (GSimpleAsyncRe= sult *simple, ^ mm-sim-mbim.c:283:5: warning: =E2=80=98g_simple_async_result_get_op_res_gpo= inter=E2=80=99 is deprecated [-Wdeprecated-declarations] provider =3D (MbimProvider *)g_simple_async_result_get_op_res_gpointer= (G_SIMPLE_ASYNC_RESULT (res)); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-sim-mbim.c:25: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:79:21: note: declared here gpointer g_simple_async_result_get_op_res_gpointer (GSimpleAsyn= cResult *simple); ^ mm-broadband-modem-qmi.c:7964:5: warning: =E2=80=98g_simple_async_result_se= t_op_res_gboolean=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE); ^ mm-sim-mbim.c: In function =E2=80=98load_operator_name_ready=E2=80=99: In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:88:21: note: declared here void g_simple_async_result_set_op_res_gboolean (GSimpleAsyn= cResult *simple, ^ mm-sim-mbim.c:303:9: warning: =E2=80=98g_simple_async_result_set_op_res_gpo= inter=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_set_op_res_gpointer (simple, provider, (GDes= troyNotify)mbim_provider_free); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-sim-mbim.c:25: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:75:21: note: declared here void g_simple_async_result_set_op_res_gpointer (GSimpleAsyn= cResult *simple, ^ mm-sim-mbim.c:305:9: warning: =E2=80=98g_simple_async_result_take_error=E2= =80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_take_error (simple, error); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-sim-mbim.c:25: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:116:21: note: declared here void g_simple_async_result_take_error (GSimpleAsyncRe= sult *simple, ^ mm-sim-mbim.c:309:5: warning: =E2=80=98g_simple_async_result_complete=E2=80= =99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_complete (simple); ^ mm-broadband-modem-qmi.c: In function =E2=80=98disable_location_gathering= =E2=80=99: In file included from /gn@ build-log 30033 4096 u/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gio/g= io.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-sim-mbim.c:25: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:104:21: note: declared here void g_simple_async_result_complete (GSimpleAsyncRe= sult *simple); ^ mm-broadband-modem-qmi.c:7979:5: warning: =E2=80=98g_simple_async_result_ne= w=E2=80=99 is deprecated: Use 'g_task_new' instead [-Wdeprecated-declaratio= ns] result =3D g_simple_async_result_new (G_OBJECT (self), ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:51:21: note: declared here GSimpleAsyncResult *g_simple_async_result_new (GObject = *source_object, ^ mm-sim-mbim.c: In function =E2=80=98load_operator_name=E2=80=99: mm-sim-mbim.c:325:5: warning: =E2=80=98g_simple_async_result_new=E2=80=99 i= s deprecated: Use 'g_task_new' instead [-Wdeprecated-declarations] result =3D g_simple_async_result_new (G_OBJECT (self), callback, user_= data, load_operator_name); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-sim-mbim.c:25: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:51:21: note: declared here GSimpleAsyncResult *g_simple_async_result_new (GObject = *source_object, ^ mm-broadband-modem-qmi.c:7987:9: warning: =E2=80=98g_simple_async_result_se= t_op_res_gboolean=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_set_op_res_gboolean (result, TRUE); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:88:21: note: declared here void g_simple_async_result_set_op_res_gboolean (GSimpleAsyn= cResult *simple, ^ mm-broadband-modem-qmi.c:7988:9: warning: =E2=80=98g_simple_async_result_co= mplete_in_idle=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_complete_in_idle (result); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:106:21: note: declared here void g_simple_async_result_complete_in_idle (GSimpleAsyncRe= sult *simple); ^ mm-sim-mbim.c: In function =E2=80=98send_pin_finish=E2=80=99: mm-sim-mbim.c:345:5: warning: =E2=80=98g_simple_async_result_propagate_erro= r=E2=80=99 is deprecated [-Wdeprecated-declaratio@ build-log 30033 4096 ns] return !g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (= res), error); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-sim-mbim.c:25: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:119:21: note: declared here gboolean g_simple_async_result_propagate_error (GSimpleAsyncRe= sult *simple, ^ mm-broadband-modem-qmi.c:8001:15: warning: assignment from incompatible poi= nter type [-Wincompatible-pointer-types] ctx->self =3D g_object_ref (self); ^ mm-broadband-modem-qmi.c:8002:17: warning: assignment from incompatible poi= nter type [-Wincompatible-pointer-types] ctx->client =3D g_object_ref (client); ^ mm-sim-mbim.c: In function =E2=80=98pin_set_enter_ready=E2=80=99: mm-sim-mbim.c:380:9: warning: =E2=80=98g_simple_async_result_take_error=E2= =80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_take_error (simple, error); ^ mm-broadband-modem-qmi.c:8032:5: warning: =E2=80=98g_simple_async_result_se= t_op_res_gboolean=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-sim-mbim.c:25: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:116:21: note: declared here void g_simple_async_result_take_error (GSimpleAsyncRe= sult *simple, ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:88:21: note: declared here void g_simple_async_result_set_op_res_gboolean (GSimpleAsyn= cResult *simple, ^ mm-sim-mbim.c:382:9: warning: =E2=80=98g_simple_async_result_set_op_res_gbo= olean=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_set_op_res_gboolean (simple, TRUE); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-sim-mbim.c:25: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:88:21: note: declared here void g_simple_async_result_set_op_res_gboolean (GSimpleAsyn= cResult *simple, ^ mm-sim-mbim.c:383:5: warning: =E2=80=98g_simple_async_result_complete=E2=80= =99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_complete (simple); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-sim-mbim.c:25: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:104:21: note: declared here void g_simple_async_result_complete (GSimpleAsyncRe= sult *simple); ^ mm-sim-mbim.c: In function =E2=80=98send_pin=E2=80=99: mm-sim-mbim.c:403:5: warning: =E2=80=98g_simple_async_result_new=E2=80=99 @= build-log 30033 4096 is deprecated: Use 'g_task_new' instead [-Wdeprecated-declarations] result =3D g_simple_async_result_new (G_OBJECT (self), callback, user_= data, send_pin); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-sim-mbim.c:25: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:51:21: note: declared here GSimpleAsyncResult *g_simple_async_result_new (GObject = *source_object, ^ mm-broadband-modem-qmi.c: In function =E2=80=98enable_location_gathering_co= ntext_complete_and_free=E2=80=99: mm-broadband-modem-qmi.c:8074:5: warning: =E2=80=98g_simple_async_result_co= mplete=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_complete (ctx->result); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:104:21: note: declared here void g_simple_async_result_complete (GSimpleAsyncRe= sult *simple); ^ mm-sim-mbim.c:413:9: warning: =E2=80=98g_simple_async_result_take_error=E2= =80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_take_error (result, error); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-sim-mbim.c:25: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:116:21: note: declared here void g_simple_async_result_take_error (GSimpleAsyncRe= sult *simple, ^ mm-sim-mbim.c:414:9: warning: =E2=80=98g_simple_async_result_complete_in_id= le=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_complete_in_idle (result); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-sim-mbim.c:25: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:106:21: note: declared here void g_simple_async_result_complete_in_idle (GSimpleAsyncRe= sult *simple); ^ mm-broadband-modem-qmi.c: In function =E2=80=98enable_location_gathering_fi= nish=E2=80=99: mm-broadband-modem-qmi.c:8087:5: warning: =E2=80=98g_simple_async_result_pr= opagate_error=E2=80=99 is deprecated [-Wdeprecated-declarations] return !g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (= res), error); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:119:21: note: declared here gboolean g_simple_async_result_propagate_error (GSimpleAsyncRe= sult *simple, ^ mm-broadband-modem-qmi.c: In function =E2=80=98ser_location_ready=E2=80=99: mm-broadband-modem-qmi.c:81@ build-log 30033 1705 01:9: warning: =E2=80=98g_simple_async_result_take_error=E2=80=99 is deprec= ated [-Wdeprecated-declarations] g_simple_async_result_take_error (ctx->result, error); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:116:21: note: declared here void g_simple_async_result_take_error (GSimpleAsyncRe= sult *simple, ^ mm-broadband-modem-qmi.c:8108:9: warning: =E2=80=98g_simple_async_result_ta= ke_error=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_take_error (ctx->result, error); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:116:21: note: declared here void g_simple_async_result_take_error (GSimpleAsyncRe= sult *simple, ^ | 'build' phase=EF=BF=BD=EF=BF=BD@ build-log 30033 4096 =EF=BF=BD=EF=BF=BDg_simple_async_result_complete=E2=80=99 is deprecated [-W= deprecated-declarations] g_simple_async_result_complete (simple); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:104:21: note: declared here void g_simple_async_result_complete (GSimpleAsyncRe= sult *simple); ^ mm-broadband-modem-qmi.c: In function =E2=80=98oma_cancel_session=E2=80=99: mm-broadband-modem-qmi.c:8696:9: warning: =E2=80=98g_simple_async_result_ne= w=E2=80=99 is deprecated: Use 'g_task_new' instead [-Wdeprecated-declaratio= ns] g_simple_async_result_new (G_OBJECT (self), ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:51:21: note: declared here GSimpleAsyncResult *g_simple_async_result_new (GObject = *source_object, ^ mm-broadband-modem-qmi.c: In function =E2=80=98common_oma_setup_cleanup_uns= olicited_events_finish=E2=80=99: mm-broadband-modem-qmi.c:8757:5: warning: =E2=80=98g_simple_async_result_pr= opagate_error=E2=80=99 is deprecated [-Wdeprecated-declarations] return !g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (= res), error); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:119:21: note: declared here gboolean g_simple_async_result_propagate_error (GSimpleAsyncRe= sult *simple, ^ mm-broadband-modem-qmi.c: In function =E2=80=98common_setup_cleanup_oma_uns= olicited_events=E2=80=99: mm-broadband-modem-qmi.c:8774:5: warning: =E2=80=98g_simple_async_result_ne= w=E2=80=99 is deprecated: Use 'g_task_new' instead [-Wdeprecated-declaratio= ns] result =3D g_simple_async_result_new (G_OBJECT (self), ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:51:21: note: declared here GSimpleAsyncResult *g_simple_async_result_new (GObject = *source_object, ^ mm-broadband-modem-qmi.c:8782:9: warning: =E2=80=98g_simple_async_result_se= t_op_res_gboolean=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_set_op_res_gboolean (result, TRUE); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, @ build-log 30033 4096 from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:88:21: note: declared here void g_simple_async_result_set_op_res_gboolean (GSimpleAsyn= cResult *simple, ^ mm-broadband-modem-qmi.c:8783:9: warning: =E2=80=98g_simple_async_result_co= mplete_in_idle=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_complete_in_idle (result); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:106:21: note: declared here void g_simple_async_result_complete_in_idle (GSimpleAsyncRe= sult *simple); ^ mm-broadband-modem-qmi.c:8805:5: warning: =E2=80=98g_simple_async_result_se= t_op_res_gboolean=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_set_op_res_gboolean (result, TRUE); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:88:21: note: declared here void g_simple_async_result_set_op_res_gboolean (GSimpleAsyn= cResult *simple, ^ mm-broadband-modem-qmi.c:8806:5: warning: =E2=80=98g_simple_async_result_co= mplete_in_idle=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_complete_in_idle (result); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:106:21: note: declared here void g_simple_async_result_complete_in_idle (GSimpleAsyncRe= sult *simple); ^ mm-broadband-modem-qmi.c: In function =E2=80=98enable_oma_unsolicited_event= s_context_complete_and_free=E2=80=99: mm-broadband-modem-qmi.c:8845:5: warning: =E2=80=98g_simple_async_result_co= mplete=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_complete (ctx->result); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:104:21: note: declared here void g_simple_async_result_complete (GSimpleAsyncRe= sult *simple); ^ mm-broadband-modem-qmi.c: In function =E2=80=98common_oma_enable_disa@ buil= d-log 30033 4096 ble_unsolicited_events_finish=E2=80=99: mm-broadband-modem-qmi.c:8857:5: warning: =E2=80=98g_simple_async_result_pr= opagate_error=E2=80=99 is deprecated [-Wdeprecated-declarations] return !g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (= res), error); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:119:21: note: declared here gboolean g_simple_async_result_propagate_error (GSimpleAsyncRe= sult *simple, ^ mm-broadband-modem-qmi.c: In function =E2=80=98ser_oma_indicator_ready=E2= =80=99: mm-broadband-modem-qmi.c:8882:5: warning: =E2=80=98g_simple_async_result_se= t_op_res_gboolean=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:88:21: note: declared here void g_simple_async_result_set_op_res_gboolean (GSimpleAsyn= cResult *simple, ^ mm-broadband-modem-qmi.c: In function =E2=80=98common_enable_disable_oma_un= solicited_events=E2=80=99: mm-broadband-modem-qmi.c:8902:5: warning: =E2=80=98g_simple_async_result_ne= w=E2=80=99 is deprecated: Use 'g_task_new' instead [-Wdeprecated-declaratio= ns] result =3D g_simple_async_result_new (G_OBJECT (self), ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:51:21: note: declared here GSimpleAsyncResult *g_simple_async_result_new (GObject = *source_object, ^ mm-broadband-modem-qmi.c:8910:9: warning: =E2=80=98g_simple_async_result_se= t_op_res_gboolean=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_set_op_res_gboolean (result, TRUE); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:88:21: note: declared here void g_simple_async_result_set_op_res_gboolean (GSimpleAsyn= cResult *simple, ^ mm-broadband-modem-qmi.c:8911:9: warning: =E2=80=98g_simple_async_result_co= mplete_in_idle=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_complete_in_idle (result); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.@ build-log = 30033 4096 h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:106:21: note: declared here void g_simple_async_result_complete_in_idle (GSimpleAsyncRe= sult *simple); ^ mm-broadband-modem-qmi.c:8918:17: warning: assignment from incompatible poi= nter type [-Wincompatible-pointer-types] ctx->client =3D g_object_ref (client); ^ mm-broadband-modem-qmi.c: In function =E2=80=98firmware_check_support_conte= xt_complete_and_free=E2=80=99: mm-broadband-modem-qmi.c:8993:5: warning: =E2=80=98g_simple_async_result_co= mplete=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_complete (ctx->result); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:104:21: note: declared here void g_simple_async_result_complete (GSimpleAsyncRe= sult *simple); ^ mm-broadband-modem-qmi.c: In function =E2=80=98firmware_check_support_finis= h=E2=80=99: mm-broadband-modem-qmi.c:9007:5: warning: =E2=80=98g_simple_async_result_ge= t_op_res_gboolean=E2=80=99 is deprecated [-Wdeprecated-declarations] return g_simple_async_result_get_op_res_gboolean (G_SIMPLE_ASYNC_RESUL= T (res)); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:91:21: note: declared here gboolean g_simple_async_result_get_op_res_gboolean (GSimpleAsyn= cResult *simple); ^ mm-broadband-modem-qmi.c: In function =E2=80=98get_next_image_info=E2=80=99: mm-broadband-modem-qmi.c:9121:13: warning: =E2=80=98g_simple_async_result_s= et_op_res_gboolean=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_set_op_res_gboolean (ctx->result, FALSE); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:88:21: note: declared here void g_simple_async_result_set_op_res_gboolean (GSimpleAsyn= cResult *simple, ^ mm-broadband-modem-qmi.c:9123:13: warning: =E2=80=98g_simple_async_result_s= et_op_res_gboolean=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, @ build-log 30033 4096 from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:88:21: note: declared here void g_simple_async_result_set_op_res_gboolean (GSimpleAsyn= cResult *simple, ^ mm-broadband-modem-qmi.c: In function =E2=80=98list_stored_images_ready=E2= =80=99: mm-broadband-modem-qmi.c:9163:9: warning: =E2=80=98g_simple_async_result_se= t_op_res_gboolean=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_set_op_res_gboolean (ctx->result, FALSE); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:88:21: note: declared here void g_simple_async_result_set_op_res_gboolean (GSimpleAsyn= cResult *simple, ^ mm-broadband-modem-qmi.c:9208:9: warning: =E2=80=98g_simple_async_result_se= t_op_res_gboolean=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_set_op_res_gboolean (ctx->result, FALSE); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:88:21: note: declared here void g_simple_async_result_set_op_res_gboolean (GSimpleAsyn= cResult *simple, ^ mm-broadband-modem-qmi.c:9256:9: warning: =E2=80=98g_simple_async_result_se= t_op_res_gboolean=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_set_op_res_gboolean (ctx->result, FALSE); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:88:21: note: declared here void g_simple_async_result_set_op_res_gboolean (GSimpleAsyn= cResult *simple, ^ mm-broadband-modem-qmi.c: In function =E2=80=98firmware_check_support=E2=80= =99: mm-broadband-modem-qmi.c:9283:15: warning: assignment from incompatible poi= nter type [-Wincompatible-pointer-types] ctx->self =3D g_object_ref (self); ^ mm-broadband-modem-qmi.c:9284:17: warning: assignment from incompatible poi= nter type [-Wincompatible-pointer-types] ctx->client =3D g_object_ref (client); ^ mm-broadband-modem-qmi.c:9285:5: warning: =E2=80=98g_simple_async_result_ne= w=E2=80=99 is deprecated: Use 'g_task_new' instead [-Wdeprecated-declaratio= ns] ctx->result =3D g_simple_async_result_new (G_OBJECT (self), ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-@ build-log 30033 4096 broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:51:21: note: declared here GSimpleAsyncResult *g_simple_async_result_new (GObject = *source_object, ^ mm-broadband-modem-qmi.c: In function =E2=80=98firmware_load_list_finish=E2= =80=99: mm-broadband-modem-qmi.c:9307:5: warning: =E2=80=98g_simple_async_result_ge= t_op_res_gpointer=E2=80=99 is deprecated [-Wdeprecated-declarations] return (GList *)g_simple_async_result_get_op_res_gpointer (G_SIMPLE_AS= YNC_RESULT (res)); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:79:21: note: declared here gpointer g_simple_async_result_get_op_res_gpointer (GSimpleAsyn= cResult *simple); ^ mm-broadband-modem-qmi.c: In function =E2=80=98firmware_load_list=E2=80=99: mm-broadband-modem-qmi.c:9319:5: warning: =E2=80=98g_simple_async_result_ne= w=E2=80=99 is deprecated: Use 'g_task_new' instead [-Wdeprecated-declaratio= ns] result =3D g_simple_async_result_new (G_OBJECT (self), ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:51:21: note: declared here GSimpleAsyncResult *g_simple_async_result_new (GObject = *source_object, ^ mm-broadband-modem-qmi.c:9328:5: warning: =E2=80=98g_simple_async_result_se= t_op_res_gpointer=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_set_op_res_gpointer (result, dup, NULL); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:75:21: note: declared here void g_simple_async_result_set_op_res_gpointer (GSimpleAsyn= cResult *simple, ^ mm-broadband-modem-qmi.c:9329:5: warning: =E2=80=98g_simple_async_result_co= mplete_in_idle=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_complete_in_idle (result); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:106:21: note: declared here void g_simple_async_result_complete_in_idle (GSimpleAsyncRe= sult *simple); ^ mm-broadband-modem-qmi.c: In function =E2=80=98firmware_load_current_finish= =E2=80=99: mm-broadband-modem-qmi.c:9341:5: warning: =E2=80=98g_simple_async_result_ge= t_op_res_gpointer=E2=80=99 i@ build-log 30033 4096 s deprecated [-Wdeprecated-declarations] return (MMFirmwareProperties *)g_simple_async_result_get_op_res_gpoint= er (G_SIMPLE_ASYNC_RESULT (res)); ^ CC ModemManager-mm-bearer-mbim.o mm-bearer-mbim.c: In function =E2=80=98peek_ports=E2=80=99: mm-bearer-mbim.c:73:13: warning: =E2=80=98g_simple_async_report_error_in_id= le=E2=80=99 is deprecated: Use 'g_task_report_error' instead [-Wdeprecated-= declarations] g_simple_async_report_error_in_idle (G_OBJECT (self), ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:79:21: note: declared here gpointer g_simple_async_result_get_op_res_gpointer (GSimpleAsyn= cResult *simple); ^ mm-broadband-modem-qmi.c: In function =E2=80=98firmware_load_current=E2=80= =99: mm-broadband-modem-qmi.c:9352:5: warning: =E2=80=98g_simple_async_result_ne= w=E2=80=99 is deprecated: Use 'g_task_new' instead [-Wdeprecated-declaratio= ns] result =3D g_simple_async_result_new (G_OBJECT (self), ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:51:21: note: declared here GSimpleAsyncResult *g_simple_async_result_new (GObject = *source_object, ^ mm-broadband-modem-qmi.c:9358:5: warning: =E2=80=98g_simple_async_result_se= t_op_res_gpointer=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_set_op_res_gpointer ( ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:75:21: note: declared here void g_simple_async_result_set_op_res_gpointer (GSimpleAsyn= cResult *simple, ^ mm-broadband-modem-qmi.c:9362:5: warning: =E2=80=98g_simple_async_result_co= mplete_in_idle=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_complete_in_idle (result); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:106:21: note: declared here void g_simple_async_result_complete_in_idle (GSimpleAsyncRe= sult *simple); ^ mm-broadband-modem-qmi.c: In function =E2=80=98firmware_change_current_cont= ext_complete_and_free=E2=80=99: mm-broadband-modem-qmi.c:9379:5: warning: =E2=80=98g_simple_async_result_co= mplete_in_idle=E2=80=99 is deprecated [-Wdeprecated-declarations] g_simple_async_result_complete_in_idle (ctx->result@ build-log 30033 2= 129 ); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:106:21: note: declared here void g_simple_async_result_complete_in_idle (GSimpleAsyncRe= sult *simple); ^ mm-broadband-modem-qmi.c: In function =E2=80=98firmware_change_current_fini= sh=E2=80=99: mm-broadband-modem-qmi.c:9393:5: warning: =E2=80=98g_simple_async_result_pr= opagate_error=E2=80=99 is deprecated [-Wdeprecated-declarations] return !g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (= res), error); ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-base-modem.h:27, from mm-broadband-modem.h:27, from mm-broadband-modem-qmi.h:19, from mm-broadband-modem-qmi.c:24: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:119:21: note: declared here gboolean g_simple_async_result_propagate_error (GSimpleAsyncRe= sult *simple, ^ In file included from /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56= .3/include/glib-2.0/gio/gio.h:117:0, from ../libmm-glib/generated/mm-gdbus-manager.h:11, from ../libmm-glib/libmm-glib.h:77, from mm-bearer-mbim.c:27: /gnu/store/cgy82g6yv8l1chawgch47zh23b0jll3l-glib-2.56.3/include/glib-2.0/gi= o/gsimpleasyncresult.h:140:6: note: declared here void g_simple_async_report_error_in_idle (GObject *object, ^ building /gnu/store/chimxmk6w5i4slhlzfb7iqdfc0qng37g-network-manager-1.8.4.= drv... building /gnu/store/sr67b6i666xyl9ch6r812m1kps6pd0mj-network-manager-applet= -1.8.4.drv... building /gnu/store/pmcv8mr5a2c69ab0g6sfh9aq4w4c0w55-nano-4.1.tar.xz.drv... downloading from https://ftpmirror.gnu.org/gnu/nano/nano-4.1.tar.xz... building /gnu/store/d3d7djjvmis2gj9s3w4ikzapw94fr8hd-nano-4.1.drv... building /gnu/store/79n246z4ijwmnsgn4w075irbhc1pgl92-guix-0.16.0-13.b8b1e4d= -checkout.drv... building /gnu/store/dg7jimn8nfwhg8hlpgmpmhzdv32yyk8g-http-parser-2.9.2-chec= kout.drv... building /gnu/store/d1pgfdvh6l6znqmfkp8sy104gczh62b8-libgit2-0.28.1-checkou= t.drv... building /gnu/store/2q2l0kvwfqnq9ggak495ihbzcyh1jfv8-http-parser-2.9.2.drv.= .. building /gnu/store/79kqyg6njag5gbycj72i5bfa3irpiafr-libgit2-0.28.tar.xz.dr= v... / --8<---------------cut here---------------end--------------->8---
Mark H Weaver <mhw@HIDDEN>
:bug-guix@HIDDEN
.
Full text available.bug-guix@HIDDEN
:bug#35350
; Package guix
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.