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