From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 9 Feb 2022 03:11:09 +0300 From: "Dmitry V. Levin" To: ALT Devel discussion list Message-ID: <20220209001109.GE21338@altlinux.org> References: <20220206134111.GA14395@altlinux.org> <20220206224406.GC8387@altlinux.org> <20220206230130.GD20689@altlinux.org> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Subject: Re: [devel] I: lib.req: upgraded "library not found" warnings to errors 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: Wed, 09 Feb 2022 00:11:10 -0000 Archived-At: List-Archive: List-Post: On Tue, Feb 08, 2022 at 11:50:39PM +0300, Vitaly Lipatov wrote: > Dmitry V. Levin писал(а) 7.2.22 2:01: > > On Mon, Feb 07, 2022 at 01:44:06AM +0300, Alexey V. Vissarionov wrote: > >> On 2022-02-06 16:41:12 +0300, Dmitry V. Levin wrote: > >> > >> > lib.req: upgraded "library not found" warnings to errors: > >> > these warnings are real packaging errors, they also cause > >> > further ldd errors down the line. > >> > Это изменение затрагивает нижеперечисленные пакеты > >> > >> Дим, а вот тут нужна ручка для отключения: например, лично я > >> предпочитаю использовать "охвисный" пакет (любителям файлов в > >> проприетарных форматах особый превед) без Java со всеми ее > >> ужасающими зависимостями. > > > > Это всё давно есть. > > > > Тут речь идёт о том, что если некий elf уже слинкован с некоторой > > библиотекой, эта библиотека должна быть доступна для lib.req, > > иначе lib.req оказывается в сложной ситуации. > > > > А так можно фильтровать и то, что попадает к lib.req, и то, > > что получается на выходе. > > Вы не могли бы подсказать хороший способ для этого? > Вот к примеру > https://git.altlinux.org/tasks/295053/gears/10/git?p=git;a=blob;f=test_lib_requires2.spec;h=93cbd138404bdff484450d986f7b42f0a6721d4f;hb=57d1826fc867f8617bb0de9e0cb3af1c872a3161 > > у меня есть приватная библиотека ntdll.so, которая расположена в > %_libdir/%name > Там же находится линкующаяся с ntdll.so библиотека sane.so. По идее, достаточно сделать %add_findprov_lib_path %_libdir/%name, плюс что-то у линкующихся, например, rpath или ld.so.conf, должно навести линкер на мысль поискать библиотеку в %_libdir/%name/. > Я смог найти только такой вариант: > 1. Положил ntdll.so также и в %_libdir > 2. Убрал генерируемые зависимости на неё: > %filter_from_requires /^ntdll.so()(64bit).*/d > 3. Не стал упаковывать %_libdir/ntdll.so в пакет, потому что она там не > нужна. Это по сути способ отключить проверку зависимостей на ntdll.so. > https://git.altlinux.org/tasks/295053/build/10/x86_64/log > > А как было бы лучше? При условии, что мне нужны auto requires для > ntdll.so, но не нужны auto provides для неё. Почему вы хотите избежать auto provides вида %_libdir/%name/ntdll.so()(64bit) ? -- ldv