From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Mon, 30 Aug 2021 12:18:18 +0300 From: "Dmitry V. Levin" To: devel@lists.altlinux.org Message-ID: <20210830091818.GA30406@altlinux.org> References: <20210824182050.GA5179@altlinux.org> <20210824182216.GC5179@altlinux.org> <043cdbd3-8056-6468-2a3e-78304d89dcd0@basealt.ru> <20210827221847.arp4wv7ngnkdliwm@altlinux.org> <387ef60e-7e00-bdab-163e-9b94c20ad36d@basealt.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <387ef60e-7e00-bdab-163e-9b94c20ad36d@basealt.ru> Subject: Re: [devel] =?koi8-r?b?89TB1MnexdPLycUgwsnCzMnP1MXLySDJIHRoaW4gTFRP?= X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Aug 2021 09:18:19 -0000 Archived-At: List-Archive: List-Post: On Sun, Aug 29, 2021 at 10:34:49AM +0400, Alexey Sheplyakov wrote: > On 28.08.2021 02:18, Vitaly Chikunov wrote: > > On Fri, Aug 27, 2021 at 11:43:17PM +0400, Alexey Sheplyakov wrote: > >> On 24.08.2021 22:22, Dmitry V. Levin wrote: > >>> On Tue, Aug 24, 2021 at 09:20:50PM +0300, Dmitry V. Levin wrote: > >>>> * 382 пакета перестанут пересобираться с диагностикой следующего вида: > >>>> process-lto: ERROR: ./usr/lib64/libtcb.a: contains __gnu_lto_slim only. > >>>> Perhaps, you need to %define optflags_lto %optflags_lto -ffat-lto-objects > >> > >> Странно это. GCC прекрасно умеет создавать и использовать архивы > >> из thin LTO объектов: > > > > Нельзя запаковывать GIMPLE в репозиторий, так как он не переносимый > > между версиями GCC. Иначе после каждого обновления GCC пришлось бы > > пересобирать все эти пакеты. > > Тогда почему бы не написать об этом прямо, например: > > process-lto: ERROR: ./usr/lib64/libfoo.a: contains GIMPLE bytecode only. > Bytecode should NOT be packaged since its format can change between GCC versions. > To package the machine code in static libraries use -ffat-lto-objects option: > %define optflags_lto %optflags_lto -ffat-lto-object > Alternatively you might want to stop packaging static libraries. > > А не говорить загадками -- "contains __gnu_lto_slim only". > "Perhaps you need" - а как понять, таки нужно, или не нужно? Предлагаю компромиссный вариант: в диагностике написать короткую формально корректную фразу для скриптов, которая будет меняться редко, после которой длинный текст для людей с описанием, которое может меняться чаще. Например, так: process-lto: ERROR: ./usr/lib64/libfoo.a: contains __gnu_lto_slim Most likely this file contains GIMPLE bytecode that should NOT be packaged since its format can change between GCC versions. Use -ffat-lto-objects option to package machine code in static libraries, e.g. %{?optflags_lto:%global optflags_lto %optflags_lto -ffat-lto-objects} Alternatively, you might want to stop packaging static libraries. -- ldv