ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] Q: linuxsampler
@ 2005-12-04 22:40 Mikhail Yakshin
  2005-12-04 22:51 ` Dmitry V. Levin
  0 siblings, 1 reply; 9+ messages in thread
From: Mikhail Yakshin @ 2005-12-04 22:40 UTC (permalink / raw)
  To: ALT Devel discussion list

Приветствую и попробую попросить помощи у сообщества.

Есть связка пакетов проекта linuxsampler, которую я пытаюсь собирает. 
Состоит из 2 независимых приложений: frontend и backend. Весь frontend 
собрался и прошел в Сизиф, без проблем.

Проблемы с backend: он состоит из libgig, которая парсит файлы, 
liblinuxsampler.so.0, которая содержит собственно функциональность 
сэмплера и тривиального бинарника linuxsampler, который тупо загружает и 
выполняет по сути код из этой библиотеки. libgig собрался без проблем, 
все в порядке, TEXTREL нет, в Сизиф прошел. А вот linuxsampler и его lib 
собираются из одного и того же тарболла (впрочем, пакуются они тоже в 
один бинарный пакет), и здесь начинаются проблемы с TEXTREL: пакет 
собирается, но в результате почему-то внутри получаются эти самые text 
relocations и проверки оно не проходит.

Что характерно, сам продукт написан достаточно грамотно и сам 
обрабатывает ситуацию с -fPIC, что видно по логам:

[...]
checking if i586-alt-linux-gcc static flag  works... yes
checking if i586-alt-linux-gcc supports -fno-rtti -fno-exceptions... no
checking for i586-alt-linux-gcc option to produce PIC... -fPIC
checking if i586-alt-linux-gcc PIC flag -fPIC works... yes
checking if i586-alt-linux-gcc supports -c -o file.o... yes
checking whether the i586-alt-linux-gcc linker (/usr/bin/ld) supports 
shared libraries... yes
checking whether -lc should be explicitly linked in... no
[...]

и далее по сборке, -fPIC используется:

  i586-alt-linux-g++ -DHAVE_CONFIG_H -I. -I. -I../.. -Wreturn-type 
-ffast-math -march=i586 -pipe -Wall -O2 -march=i586 -mcpu=i686 -msse -MT 
lscpparser.lo -MD -MP -MF .deps/lscpparser.Tpo -c lscpparser.cpp  -fPIC 
-DPIC -o .libs/lscpparser.o

и т.п.

Но при этом почему-то на выходе получаем:

Verifying and fixing files in /usr/src/tmp/linuxsampler-buildroot 
(binconfig,pkgconfig,libtool)
/usr/lib/linuxsampler/liblinuxsampler.la: dependency_libs: ' -lgig ljack 
-lasound' --> '-lgig -ljack -lasound'
Compressing files in /usr/src/tmp/linuxsampler-buildroot (auto)
Verifying ELF objects in /usr/src/tmp/linuxsampler-buildroot 
(rpath=normal,textrel=normal)
verify-elf: ./usr/lib/linuxsampler/liblinuxsampler.so.0.0.0: TEXTREL 
entry found: 0x0

и соответственно, это правда - видно и .la-файл, который собрался туда 
же. Вероятно, есть какие-то проблемы с libtool, которые приводят к 
такому результату - в какую сторону копать, что читать, что стоит смотреть?

Сам spec очень простой, собирается все вот таким вот образом:

%prep
%setup -q

%build
autoreconf -fisv
%configure
%make_build

%install
%make DESTDIR=%buildroot install

Пробовал добавлять в %configure --disable-static - не помогает. Есть 
подозрение на то, что такой эффект дают "assembly optimizations", 
которые включены и выключать их не очень хочется...

-- 
WBR, Mikhail Yakshin AKA GreyCat


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

* Re: [devel] Q: linuxsampler
  2005-12-04 22:40 [devel] Q: linuxsampler Mikhail Yakshin
@ 2005-12-04 22:51 ` Dmitry V. Levin
  2005-12-05  5:44   ` Andrey Rahmatullin
                     ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Dmitry V. Levin @ 2005-12-04 22:51 UTC (permalink / raw)
  To: ALT Devel discussion list

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

On Mon, Dec 05, 2005 at 01:40:24AM +0300, Mikhail Yakshin wrote:
> Приветствую и попробую попросить помощи у сообщества.
> 
> Есть связка пакетов проекта linuxsampler, которую я пытаюсь собирает. 
> Состоит из 2 независимых приложений: frontend и backend. Весь frontend 
> собрался и прошел в Сизиф, без проблем.
> 
> Проблемы с backend: он состоит из libgig, которая парсит файлы, 
> liblinuxsampler.so.0, которая содержит собственно функциональность 
> сэмплера и тривиального бинарника linuxsampler, который тупо загружает и 
> выполняет по сути код из этой библиотеки. libgig собрался без проблем, 
> все в порядке, TEXTREL нет, в Сизиф прошел. А вот linuxsampler и его lib 
> собираются из одного и того же тарболла (впрочем, пакуются они тоже в 
> один бинарный пакет), и здесь начинаются проблемы с TEXTREL: пакет 
> собирается, но в результате почему-то внутри получаются эти самые text 
> relocations и проверки оно не проходит.
> 
> Что характерно, сам продукт написан достаточно грамотно и сам 
> обрабатывает ситуацию с -fPIC, что видно по логам:

Подобная история приключилась когда-то с libalsa, патч до сих пор в
пакете называется alsa-lib-0.9.8-alt-fpic.patch, стоит на него один раз
взглянуть, чтобы понять, насколько нетиповыми бывают грабли.

[...]
> в какую сторону копать, что читать, что стоит смотреть?
[...]
> Пробовал добавлять в %configure --disable-static - не помогает. Есть 
> подозрение на то, что такой эффект дают "assembly optimizations", 
> которые включены и выключать их не очень хочется...

Для начала надо локализовать тот объектный файл, который содержит text
relocations.  Для этого достаточно из каждого объектного файла,
образующего liblinuxsampler.so.0, собрать ELF shared object и проверить
его на наличие text relocations.


-- 
ldv

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

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

* Re: [devel] Q: linuxsampler
  2005-12-04 22:51 ` Dmitry V. Levin
@ 2005-12-05  5:44   ` Andrey Rahmatullin
  2005-12-05 19:08     ` Dmitry V. Levin
  2005-12-05  9:19   ` [devel] q: textrel faq/wiki entry? (was: Q: linuxsampler) Michael Shigorin
  2005-12-09 18:46   ` [devel] Q: linuxsampler Mikhail Yakshin
  2 siblings, 1 reply; 9+ messages in thread
From: Andrey Rahmatullin @ 2005-12-05  5:44 UTC (permalink / raw)
  To: devel

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

On Mon, Dec 05, 2005 at 01:51:25AM +0300, Dmitry V. Levin wrote:
> relocations.  Для этого достаточно из каждого объектного файла,
> образующего liblinuxsampler.so.0, собрать ELF shared object
Это как?

-- 
WBR, wRAR (ALT Linux Team)
Powered by the ALT Linux fortune(8):

Хотя в 2.6-mm его [aic7xxx] всё-таки стали чинить, в результате, как
обычно, сначала сломали ;)
		-- vsu in hardware@

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

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

* [devel] q: textrel faq/wiki entry? (was: Q: linuxsampler)
  2005-12-04 22:51 ` Dmitry V. Levin
  2005-12-05  5:44   ` Andrey Rahmatullin
@ 2005-12-05  9:19   ` Michael Shigorin
  2005-12-05 19:03     ` [devel] q: textrel faq/wiki entry? Dmitry V. Levin
  2005-12-05 21:09     ` [devel] q: textrel faq/wiki entry? (was: Q: linuxsampler) Vitaly Lipatov
  2005-12-09 18:46   ` [devel] Q: linuxsampler Mikhail Yakshin
  2 siblings, 2 replies; 9+ messages in thread
From: Michael Shigorin @ 2005-12-05  9:19 UTC (permalink / raw)
  To: ALT Devel discussion list

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

On Mon, Dec 05, 2005 at 01:51:25AM +0300, Dmitry V. Levin wrote:
> Подобная история приключилась когда-то с libalsa, патч до сих
> пор в пакете называется alsa-lib-0.9.8-alt-fpic.patch, стоит на
> него один раз взглянуть, чтобы понять, насколько нетиповыми
> бывают грабли.

Кстати, на днях заглыдывал в faq по поводу TEXTREL.
Там ничего нет, пришлось лезть в архивы.

Что именно стоит занести туда или на wiki, помимо вот ссылки 
на патч (кстати, опять спасибо)?

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/

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

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

* Re: [devel] q: textrel faq/wiki entry?
  2005-12-05  9:19   ` [devel] q: textrel faq/wiki entry? (was: Q: linuxsampler) Michael Shigorin
@ 2005-12-05 19:03     ` Dmitry V. Levin
  2005-12-05 21:09     ` [devel] q: textrel faq/wiki entry? (was: Q: linuxsampler) Vitaly Lipatov
  1 sibling, 0 replies; 9+ messages in thread
From: Dmitry V. Levin @ 2005-12-05 19:03 UTC (permalink / raw)
  To: ALT Devel discussion list

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

On Mon, Dec 05, 2005 at 11:19:32AM +0200, Michael Shigorin wrote:
> On Mon, Dec 05, 2005 at 01:51:25AM +0300, Dmitry V. Levin wrote:
> > Подобная история приключилась когда-то с libalsa, патч до сих
> > пор в пакете называется alsa-lib-0.9.8-alt-fpic.patch, стоит на
> > него один раз взглянуть, чтобы понять, насколько нетиповыми
> > бывают грабли.
> 
> Кстати, на днях заглыдывал в faq по поводу TEXTREL.
> Там ничего нет, пришлось лезть в архивы.
> 
> Что именно стоит занести туда или на wiki, помимо вот ссылки 
> на патч?

Ценные мысли и простые рецепты.  Тот патч скорее исключение.


-- 
ldv

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

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

* Re: [devel] Q: linuxsampler
  2005-12-05  5:44   ` Andrey Rahmatullin
@ 2005-12-05 19:08     ` Dmitry V. Levin
  0 siblings, 0 replies; 9+ messages in thread
From: Dmitry V. Levin @ 2005-12-05 19:08 UTC (permalink / raw)
  To: ALT Devel discussion list

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

On Mon, Dec 05, 2005 at 10:44:52AM +0500, Andrey Rahmatullin wrote:
> On Mon, Dec 05, 2005 at 01:51:25AM +0300, Dmitry V. Levin wrote:
> > relocations.  Для этого достаточно из каждого объектного файла,
> > образующего liblinuxsampler.so.0, собрать ELF shared object
> Это как?

Примерно тем же способом, как собирается сама библиотека.


-- 
ldv

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

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

* Re: [devel] q: textrel faq/wiki entry? (was: Q: linuxsampler)
  2005-12-05  9:19   ` [devel] q: textrel faq/wiki entry? (was: Q: linuxsampler) Michael Shigorin
  2005-12-05 19:03     ` [devel] q: textrel faq/wiki entry? Dmitry V. Levin
@ 2005-12-05 21:09     ` Vitaly Lipatov
  2005-12-06  9:58       ` [devel] " Michael Shigorin
  1 sibling, 1 reply; 9+ messages in thread
From: Vitaly Lipatov @ 2005-12-05 21:09 UTC (permalink / raw)
  To: ALT Devel discussion list

On Monday 05 December 2005 12:19, Michael Shigorin wrote:

> Кстати, на днях заглыдывал в faq по поводу TEXTREL.
> Там ничего нет, пришлось лезть в архивы.
>
> Что именно стоит занести туда или на wiki, помимо вот ссылки
> на патч (кстати, опять спасибо)?
А не уже?
http://wiki.sisyphus.ru/devel/ProblemWithVerifyELFAndRPATH
http://wiki.sisyphus.ru/devel/TextRel

-- 
Lav
Виталий Липатов
Санкт-Петербург
GNU! ALT Linux Team! WINE! LaTeX! LyX! http://freesource.info


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

* [devel] Re: q: textrel faq/wiki entry? (was: Q: linuxsampler)
  2005-12-05 21:09     ` [devel] q: textrel faq/wiki entry? (was: Q: linuxsampler) Vitaly Lipatov
@ 2005-12-06  9:58       ` Michael Shigorin
  0 siblings, 0 replies; 9+ messages in thread
From: Michael Shigorin @ 2005-12-06  9:58 UTC (permalink / raw)
  To: ALT Devel discussion list

On Tue, Dec 06, 2005 at 12:09:20AM +0300, Vitaly Lipatov wrote:
> А не уже?
> http://wiki.sisyphus.ru/devel/TextRel

Точно; добавил в SpecTips ссылку. (tnx 2 wrar)

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


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

* Re: [devel] Q: linuxsampler
  2005-12-04 22:51 ` Dmitry V. Levin
  2005-12-05  5:44   ` Andrey Rahmatullin
  2005-12-05  9:19   ` [devel] q: textrel faq/wiki entry? (was: Q: linuxsampler) Michael Shigorin
@ 2005-12-09 18:46   ` Mikhail Yakshin
  2 siblings, 0 replies; 9+ messages in thread
From: Mikhail Yakshin @ 2005-12-09 18:46 UTC (permalink / raw)
  To: ALT Devel discussion list

Dmitry V. Levin wrote:
>>Что характерно, сам продукт написан достаточно грамотно и сам 
>>обрабатывает ситуацию с -fPIC, что видно по логам:
> 
> Подобная история приключилась когда-то с libalsa, патч до сих пор в
> пакете называется alsa-lib-0.9.8-alt-fpic.patch, стоит на него один раз
> взглянуть, чтобы понять, насколько нетиповыми бывают грабли.

Посмотрел, понял, что все ужасно %)

>>Пробовал добавлять в %configure --disable-static - не помогает. Есть 
>>подозрение на то, что такой эффект дают "assembly optimizations", 
>>которые включены и выключать их не очень хочется...
> 
> Для начала надо локализовать тот объектный файл, который содержит text
> relocations.  Для этого достаточно из каждого объектного файла,
> образующего liblinuxsampler.so.0, собрать ELF shared object и проверить
> его на наличие text relocations.

Потратил кучу времени, пытаясь это сделать, но достаточно безуспешно - 
даже собрать отдельно каждый .o довольно проблематично, а сделав это - 
нет никакой гарантии, что то, что получается - это то, что нужно. Пока 
решил, что дальше тратить время бессмысленно, хотя бы потому, что 
liblinuxsampler.so собственно как таковой никому не нужен - пока даже в 
дикой природе нет ни одного проекта, кроме самого linuxsampler, который 
бы ее с ней линковался.

Сдался и собрал с --disable-shared. В итоге пакет занимает вместо 900 
килобайт всего 600 и должен наконец-то пройти в Сизиф.

-- 
WBR, Mikhail Yakshin AKA GreyCat
ALT Linux [http://www.altlinux.ru] [xmpp:greycat@altlinux.org]


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

end of thread, other threads:[~2005-12-09 18:46 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-12-04 22:40 [devel] Q: linuxsampler Mikhail Yakshin
2005-12-04 22:51 ` Dmitry V. Levin
2005-12-05  5:44   ` Andrey Rahmatullin
2005-12-05 19:08     ` Dmitry V. Levin
2005-12-05  9:19   ` [devel] q: textrel faq/wiki entry? (was: Q: linuxsampler) Michael Shigorin
2005-12-05 19:03     ` [devel] q: textrel faq/wiki entry? Dmitry V. Levin
2005-12-05 21:09     ` [devel] q: textrel faq/wiki entry? (was: Q: linuxsampler) Vitaly Lipatov
2005-12-06  9:58       ` [devel] " Michael Shigorin
2005-12-09 18:46   ` [devel] Q: linuxsampler Mikhail Yakshin

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