From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Sun, 27 Nov 2016 13:32:23 +0300 (MSK) From: Ivan Zakharyaschev To: ALT Linux Team development discussions In-Reply-To: Message-ID: References: <201611131123.19050@ruslandh> <201611150122.44073@ruslandh> User-Agent: Alpine 2.20 (LFD 67 2015-01-07) MIME-Version: 1.0 Content-Type: multipart/mixed; BOUNDARY="1807885841-1059275258-1480242743=:13365" Subject: Re: [devel] =?koi8-r?b?8NLPwszFzcEg0NLJINPCz9LLxSBuZXdtb24gMjcuMA==?= 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: Sun, 27 Nov 2016 10:32:23 -0000 Archived-At: List-Archive: List-Post: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --1807885841-1059275258-1480242743=:13365 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8BIT > On Tue, 15 Nov 2016, Hihin Ruslan wrote: > >> Здравствуйте Alexey Tourbin >> В сообщении от 13 ноября 2016 Alexey Tourbin написал(a): >> > 2016-11-13 11:23 GMT+03:00 Hihin Ruslan : >> > > Ruslan Hihin, [13.11.16 11:18] >> > > Я что-то не пойму как правильно сделать. В новой версии >> > > palemoon почему-то вдруг взорвалось : >> > > >> > > ... >> > > Verifying ELF objects in /usr/src/tmp/palemoon-buildroot >> > > (arch=normal,fhs=normal,lfs=relaxed,lint=relaxed,rpath=norma >> > > l,stack=normal,textrel=normal,unresolved=normal) verify-elf: >> > > ERROR: ./usr/lib64/newmoon/plugin-container: not found: >> > > libmozalloc.so >> > > verify-elf: ERROR: ./usr/lib64/newmoon/plugin-container: not >> > > found: libxul.so >> > >> > У него в прежней версии прописан RPATH, а в новой, вероятно, >> > не прописан (или прописан неверно). >> > >> > $ rpmpeek newmoon-26.5.0-alt1.x86_64.rpm \ >> > objdump -p ./usr/lib64/newmoon/plugin-container |grep PATH >> > RPATH /usr/lib64/newmoon >> > >> > plugin-container как программу и запустить не получится, если >> > только какой-нибудь скрипт перед запуском не выставит ему в >> > окружение LD_LIBRARY_PATH=/usr/lib64/newmoon. >> > >> > Короче, посмотрите, что говорит >> > $ objdump -p >> > newmoon-buildroot/usr/lib64/newmoon/plugin-container |grep >> > PATH >> >> Получается что-то странное: >> objdump -p plugin-container | grep PATH >> RUNPATH /usr/lib64/newmoon >> >> Что за RUNPATH ? > > Из того, что я узнал и понял из этого обсуждения, RUNPATH должен был бы > работать не хуже, чем RPATH, который был в прошлых версиях. > > Но хочется понять до конца: проблема всё же в изменении этого ключевого слова > (как Вы стали предполагать) или в каких-то других изменениях. Вот действительно, проблема в том, что verify-elf не учитывает RUNPATH (как Вы и предположили). В отличие от lib.req, например. http://git.altlinux.org/gears/r/rpm.git?p=rpm.git;a=blob;f=scripts/verify-elf.in;h=316117f05428961b85fa4428f86f4e6f9f0a7968;hb=HEAD#l378 verify_unresolved "$f" "$preload" "$fname" \ "$(printf %s "$objdump_info" |awk '{if ($1=="RPATH") print $2}' |tr -s : ' ' |sed -e "s|\$ORIGIN|${fname%/*}|g")" lib.req.in:95: awk '($1=="RPATH"||$1=="RUNPATH"){print $2}' | Спасибо за предоставленный более полный материал (хотя бы в виде бинарника) к этому, получается, багрепорту. > У Вас есть под рукой бинарник plugin-container, который должен был бы > работать, но verify-elf не проходит? (verify-elf и т.п. можно запускать > отдельной командой, не во время сборки.) Без всяких дополнительных > редактирований. Просто нам остальным не так просто его получить -- процесс > сборки тяжёлый -- чтобы потом поизучать. Напишите побольше подробностей про > один конкретный бинарник (verify-elf, objdump для начала), чтобы ситуация > была яснее. > > -- > Best regards, > Ivan > --1807885841-1059275258-1480242743=:13365--