ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] проблемы со сборкой deadbeef
@ 2012-06-08 16:47 Andrew Clark
  2012-06-09 11:31 ` REAL
  0 siblings, 1 reply; 9+ messages in thread
From: Andrew Clark @ 2012-06-08 16:47 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Добрый день господа!

Пытаюсь собрать в сизиф новую версию плеера.
При проверке elf выскакивает ошибка:

Adjusting library links in /usr/src/tmp/deadbeef-buildroot
./usr/lib:
Verifying ELF objects in /usr/src/tmp/deadbeef-buildroot 
(arch=normal,fhs=normal,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=normal)
either the file containing the function 'ffap_load' or the file 
containing the function '_fini' is not compiled with -fpic/-fPIC
verify-elf: ERROR: ./usr/lib/deadbeef/ffap.so.0.0.0: TEXTREL entry 
found: 0x00000000

Отключить сборку плагина monkey's audio не могу, так
как появятся unmet'ы при сборке в сизиф. Прошу помощи
у коллег.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [devel] проблемы со сборкой deadbeef
  2012-06-08 16:47 [devel] проблемы со сборкой deadbeef Andrew Clark
@ 2012-06-09 11:31 ` REAL
  2012-06-09 19:27   ` Andrew Clark
  0 siblings, 1 reply; 9+ messages in thread
From: REAL @ 2012-06-09 11:31 UTC (permalink / raw)
  To: ALT Linux Team development discussions

08.06.2012 23:47, Andrew Clark пишет:
> При проверке elf выскакивает ошибка:
>
> Adjusting library links in /usr/src/tmp/deadbeef-buildroot
> ./usr/lib:
> Verifying ELF objects in /usr/src/tmp/deadbeef-buildroot
> (arch=normal,fhs=normal,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=normal)
>
> either the file containing the function 'ffap_load' or the file
> containing the function '_fini' is not compiled with -fpic/-fPIC
> verify-elf: ERROR: ./usr/lib/deadbeef/ffap.so.0.0.0: TEXTREL entry
> found: 0x00000000

не воспроизводится.

-- 

REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [devel] проблемы со сборкой deadbeef
  2012-06-09 11:31 ` REAL
@ 2012-06-09 19:27   ` Andrew Clark
  2012-06-10  1:06     ` REAL
  0 siblings, 1 reply; 9+ messages in thread
From: Andrew Clark @ 2012-06-09 19:27 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On 09.06.2012 15:31, REAL wrote:
>> found: 0x00000000
>
>
> не воспроизводится.
>

http://git.altlinux.org/tasks/73237/logs/events.1.1.log

Воспроизводится.



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [devel] проблемы со сборкой deadbeef
  2012-06-09 19:27   ` Andrew Clark
@ 2012-06-10  1:06     ` REAL
  2012-06-10  3:15       ` Andrew Clark
  0 siblings, 1 reply; 9+ messages in thread
From: REAL @ 2012-06-10  1:06 UTC (permalink / raw)
  To: ALT Linux Team development discussions

10.06.2012 02:27, Andrew Clark пишет:
>> не воспроизводится.
>>
>
> http://git.altlinux.org/tasks/73237/logs/events.1.1.log
>
> Воспроизводится.

когда вы писали первое письмо, в вашем репозитории был 
0.5.4-alt1.bfca08d0. сейчас там 0.5.4-alt2.bfca08d0. а надо было сразу 
выкладывать то, на что жалуетесь. а то как-то нечестно получается, что 
ли...

в новом deadbeef используется ассемблер, поэтому имеет смысл в спеке 
указать
%set_verify_elf_method textrel=relaxed

-- 

REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [devel] проблемы со сборкой deadbeef
  2012-06-10  1:06     ` REAL
@ 2012-06-10  3:15       ` Andrew Clark
  2012-06-10  3:21         ` REAL
  2012-06-12  7:57         ` Sergey Vlasov
  0 siblings, 2 replies; 9+ messages in thread
From: Andrew Clark @ 2012-06-10  3:15 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On 10.06.2012 05:06, REAL wrote:
>
> когда вы писали первое письмо, в вашем репозитории был 
> 0.5.4-alt1.bfca08d0. сейчас там 0.5.4-alt2.bfca08d0. а надо было сразу 
> выкладывать то, на что жалуетесь. а то как-то нечестно получается, что 
> ли...
Это мое упущение, прошу прощения! Хотел сначала собрать без этого плагина,
но получил unmet, поэтому пришлось плагин включать в сборку.
>
> в новом deadbeef используется ассемблер, поэтому имеет смысл в спеке 
> указать
> %set_verify_elf_method textrel=relaxed
А корень проблемы можно узнать? В elf файле наличие какой-то секции 
проверяется
или что?



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [devel] проблемы со сборкой deadbeef
  2012-06-10  3:15       ` Andrew Clark
@ 2012-06-10  3:21         ` REAL
  2012-06-12  7:57         ` Sergey Vlasov
  1 sibling, 0 replies; 9+ messages in thread
From: REAL @ 2012-06-10  3:21 UTC (permalink / raw)
  To: ALT Linux Team development discussions

10.06.2012 10:15, Andrew Clark пишет:
>> в новом deadbeef используется ассемблер, поэтому имеет смысл в спеке
>> указать
>> %set_verify_elf_method textrel=relaxed
> А корень проблемы можно узнать? В elf файле наличие какой-то секции
> проверяется
> или что?

вот тут не знаю, здесь надо у более продвинутых спрашивать (vsu@, 
ldv@), знаю только, что asm нередко порождает TEXTREL.

-- 

REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [devel] проблемы со сборкой  deadbeef
  2012-06-10  3:15       ` Andrew Clark
  2012-06-10  3:21         ` REAL
@ 2012-06-12  7:57         ` Sergey Vlasov
  2012-06-12  8:04           ` Andrew Clark
  2012-06-12  8:19           ` Kirill A. Shutemov
  1 sibling, 2 replies; 9+ messages in thread
From: Sergey Vlasov @ 2012-06-12  7:57 UTC (permalink / raw)
  To: devel

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

On Sun, Jun 10, 2012 at 07:15:24AM +0400, Andrew Clark wrote:
> On 10.06.2012 05:06, REAL wrote:
> > в новом deadbeef используется ассемблер, поэтому имеет смысл в спеке 
> > указать
> > %set_verify_elf_method textrel=relaxed

Видимо, в данном случае так и придётся сделать; пакет libav (откуда и
был вытащен декодер в плагине ffap) собирается тоже с textrel=relaxed.

> А корень проблемы можно узнать? В elf файле наличие какой-то секции 
> проверяется или что?

Ассемблерный код должен быть написан с учётом использования -fPIC,
однако в данном случае для 32-битного кода эта проблема практически не
решаема из-за нехватки регистров.  Для x86_64 использование TEXTREL
запрещено полностью, однако там в наборе команд присутствует адресация
относительно %rip, в результате не требуется занимать дополнительный
регистр для адресации данных (да и самих регистров там доступно
больше).

[off]
  Хотя вообще этот APE в 99% случаев всё равно надо отправлять в
  shntool split -o 'flac ...'.
[/off]

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [devel] проблемы со сборкой  deadbeef
  2012-06-12  7:57         ` Sergey Vlasov
@ 2012-06-12  8:04           ` Andrew Clark
  2012-06-12  8:19           ` Kirill A. Shutemov
  1 sibling, 0 replies; 9+ messages in thread
From: Andrew Clark @ 2012-06-12  8:04 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On 12.06.2012 11:57, Sergey Vlasov wrote:
>> А корень проблемы можно узнать? В elf файле наличие какой-то секции
>> проверяется или что?
> Ассемблерный код должен быть написан с учётом использования -fPIC,
Это опция компилятора gcc? Подробнее про нее где прочитать можно?
> однако в данном случае для 32-битного кода эта проблема практически не
> решаема из-за нехватки регистров.  Для x86_64 использование TEXTREL
> запрещено полностью, однако там в наборе команд присутствует адресация
> относительно %rip,
Относительно чего? что такое %rip?
>   в результате не требуется занимать дополнительный
> регистр для адресации данных (да и самих регистров там доступно
> больше).
Речь идет о сегментном регистре, если я правильно понимаю?
>
> [off]
>    Хотя вообще этот APE в 99% случаев всё равно надо отправлять в
>    shntool split -o 'flac ...'.
> [/off]




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [devel] проблемы со сборкой deadbeef
  2012-06-12  7:57         ` Sergey Vlasov
  2012-06-12  8:04           ` Andrew Clark
@ 2012-06-12  8:19           ` Kirill A. Shutemov
  1 sibling, 0 replies; 9+ messages in thread
From: Kirill A. Shutemov @ 2012-06-12  8:19 UTC (permalink / raw)
  To: devel

On Tue, Jun 12, 2012 at 11:57:54AM +0400, Sergey Vlasov wrote:
> On Sun, Jun 10, 2012 at 07:15:24AM +0400, Andrew Clark wrote:
> > On 10.06.2012 05:06, REAL wrote:
> > > в новом deadbeef используется ассемблер, поэтому имеет смысл в спеке 
> > > указать
> > > %set_verify_elf_method textrel=relaxed
> 
> Видимо, в данном случае так и придётся сделать; пакет libav (откуда и
> был вытащен декодер в плагине ffap) собирается тоже с textrel=relaxed.
> 
> > А корень проблемы можно узнать? В elf файле наличие какой-то секции 
> > проверяется или что?
> 
> Ассемблерный код должен быть написан с учётом использования -fPIC,
> однако в данном случае для 32-битного кода эта проблема практически не
> решаема из-за нехватки регистров.

Точнее решаема ценой производительности.

Есть мнение, что для производительности имеет смысл на 32-битной системе
всё (за исключением, наверно, glibc) собирать без -fPIC. А что бы код
всё-же получился shared использовать prelink и kernel same page (добавить
соответвующий madvise(2) в dynamic linker).

-- 
 Kirill A. Shutemov


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2012-06-12  8:19 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-08 16:47 [devel] проблемы со сборкой deadbeef Andrew Clark
2012-06-09 11:31 ` REAL
2012-06-09 19:27   ` Andrew Clark
2012-06-10  1:06     ` REAL
2012-06-10  3:15       ` Andrew Clark
2012-06-10  3:21         ` REAL
2012-06-12  7:57         ` Sergey Vlasov
2012-06-12  8:04           ` Andrew Clark
2012-06-12  8:19           ` Kirill A. Shutemov

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