ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Ivan Zakharyaschev <imz@altlinux.org>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] Проблема при сборке newmon 27.0
Date: Sun, 27 Nov 2016 13:32:23 +0300 (MSK)
Message-ID: <alpine.LFD.2.20.1611271246190.13365@imap.altlinux.org> (raw)
In-Reply-To: <alpine.LFD.2.20.1611252047490.13365@imap.altlinux.org>

[-- Attachment #1: Type: text/plain, Size: 3924 bytes --]

> 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 <ruslandh@gmail.com>:
>> > >  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
>

  parent reply	other threads:[~2016-11-27 10:32 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-13  8:23 Hihin Ruslan
2016-11-13 12:11 ` Alexey Tourbin
2016-11-13 12:29   ` Hihin Ruslan
2016-11-14 22:22   ` Hihin Ruslan
2016-11-15 13:34     ` Ruslan Hihin
2016-11-25 18:02     ` Ivan Zakharyaschev
2016-11-26  9:05       ` Hihin Ruslan
2016-11-27 10:32       ` Ivan Zakharyaschev [this message]
2016-11-27 11:11         ` Hihin Ruslan
2016-11-27 11:54           ` Ivan Zakharyaschev
2016-12-02 12:20           ` Ivan Zakharyaschev
2016-12-02 12:34             ` Ivan Zakharyaschev
2016-12-02 13:09             ` Ivan Zakharyaschev
2016-12-03 14:56             ` Hihin Ruslan
2016-12-03 21:19               ` Ivan Zakharyaschev
2016-12-03 23:53               ` Ivan Zakharyaschev
2016-12-04  9:40                 ` Hihin Ruslan
2016-12-04 10:11                   ` Ivan Zakharyaschev
2016-11-27 11:12         ` [devel] [PATCH] verify-elf: honor RUNPATH, too ; was: " Ivan Zakharyaschev
2016-11-29 12:00           ` Ivan Zakharyaschev
2016-11-19  4:11   ` [devel] Что такое runpath ? Hihin Ruslan
2016-11-19  4:20     ` Hihin Ruslan
2016-11-19  4:39     ` Hihin Ruslan
2016-11-25 18:07     ` Ivan Zakharyaschev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.LFD.2.20.1611271246190.13365@imap.altlinux.org \
    --to=imz@altlinux.org \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git