* [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