Приветствую!
Задался тут целью скомпилировать под свой ноут 64-х битный KDE Trinity http://www.autotrain.org/mdv-kde/2010.2/SRPMS/
И на этапе компиляции arts3 столкнулся с ошибкой:
/home/oleg/rpmbuild/BUILD/arts-1.5.12/flow/audioioossthreaded.cc:207: undefined reference to `rsm_open_device'
.libs/libartsflow_la.all_cc.o: In function `Arts::AudioIOOSS::open()':
/home/oleg/rpmbuild/BUILD/arts-1.5.12/flow/audioiooss.cc:162: undefined reference to `rsm_open_device'
collect2: ld returned 1 exit status
make[3]: *** [libartsflow.la] Ошибка 1
make[3]: Выход из каталога `/home/oleg/rpmbuild/BUILD/arts-1.5.12/flow'
make[2]: *** [all-recursive] Ошибка 1
make[2]: Выход из каталога `/home/oleg/rpmbuild/BUILD/arts-1.5.12/flow'
make[1]: *** [all-recursive] Ошибка 1
make[1]: Выход из каталога `/home/oleg/rpmbuild/BUILD/arts-1.5.12'
make: *** [all] Ошибка 2
ошибка: Неверный код возврата из /var/tmp/rpm-tmp.PaAJz6 (%build)
Ошибки сборки пакетов:
Неверный код возврата из /var/tmp/rpm-tmp.PaAJz6 (%build)
[oleg@localhost SPECS]$
в файле audioiooss.cc со 162-й по 174-ю строки прописано:
audio_fd = ::rsm_open_device(_deviceName.c_str(), mode);
if(audio_fd == -1)
audio_fd = ::open(_deviceName.c_str(), mode, 0);
if(audio_fd == -1)
{
_error = "device ";
_error += _deviceName.c_str();
_error += " can't be opened (";
_error += strerror(errno);
_error += ")";
return false;
}
и с 203-й строчки по 214-ю:
if (_format && (ossBits(gotFormat) != ossBits(requestedFormat)))
{
char details[80];
sprintf(details," (_format = %d, asked driver to give %d, got %d)",
_format, requestedFormat, gotFormat);
_error = "Can't set playback format";
_error += details;
close();
return false;
}
Судя по названиям файлов OSS не может определить звуковуху (если, конечно моих знаний хватило). А так как у меня на ноуте ALSA, то нельзя ли собрать arts3 без поддержки OSS в принципе? Может команда есть какая?
Собираю командой rpmbuild -ba --target x86_64 arts3.spec
Дистрибутив Mageia 1.
Нужна помощь (Компиляция пакета arts KDE Trinity)
Модератор: Bizdelnick
-
- Сообщения: 509
- Статус: MIB/Cooker/ROSA
- ОС: Rosa 2012.1 i686
Re: Нужна помощь
Беpc писал(а): ↑09.09.2011 03:34Задался тут целью скомпилировать под свой ноут 64-х битный KDE Trinity http://www.autotrain.org/mdv-kde/2010.2/SRPMS/
И на этапе компиляции arts3 столкнулся с ошибкой:
Подозреваю, что дальше ошибок там тоже будет дофига - когда я в последний раз брался за Trinity, проблем было столько, что я устал писать патчи и забил. Хотя может сейчас уже получше дела обстоят.
Вот в этом и проблема, а не в поддержке OSS на ноуте.

К сожалению, у меня нет Магеи, поэтому не могу посмотреть, почему конкретно там возникла проблема с libresmgr при сборке.
Ради интереса можно попробовать собрать arts не из Trinity: http://mib.pianetalinux.org/2011.0/srpms/a...5.10-12.src.rpm
Если соберётся, то уже смотреть, что там в Trinity поменяли, из-за чего проблема могла возникнуть.
Mandriva International Backports - http://mib.pianetalinux.org
-
- Сообщения: 310
- Статус: Продвинутый чайник
- ОС: ROSA 2011
-
- Сообщения: 73
Re: Нужна помощь
Pulfer писал(а): ↑09.09.2011 06:10К сожалению, у меня нет Магеи, поэтому не могу посмотреть, почему конкретно там возникла проблема с libresmgr при сборке.
Ради интереса можно попробовать собрать arts не из Trinity: http://mib.pianetalinux.org/2011.0/srpms/a...5.10-12.src.rpm
На Mandriva 2010.2 компиляция отвалилась с этой же ошибкой. У тебя, вроде, тоже 2010.2. Посмотри, пожалуйста.
Собственно Mageia и Mandriva 2010.2 идентичны, на мой взгляд. У Mageia просто пакеты новее. По крайней мере Mandriva 2010.2 спокойно запускается с ядром от Mageia. А вот с ядром от Mandriva 2011 уже нет. Да и пакеты некоторые я в Mageia из 2010.2 напрямую ставлю и всё работает.
Пакет arts по ссылке собрался.
Установлен.
-
- Сообщения: 509
- Статус: MIB/Cooker/ROSA
- ОС: Rosa 2012.1 i686
Re: Нужна помощь
Глянул. Так и есть - разработчики написали кривой Makefile.am, поэтому при сборке не было линковки с библиотекой resmgr. Заменяем
libartsflow_la_LDFLAGS = $(MAS_LDFLAGS) $(JACK_LDFLAGS) $(LIBAUDIOFILE_LDFLAGS) $(LIBAUDIONAS_LDFLAGS) $(LIBESD_LDFLAGS) -no-undefined -version-info 1:0
на
libartsflow_la_LDFLAGS = $(MAS_LDFLAGS) $(JACK_LDFLAGS) $(LIBAUDIOFILE_LDFLAGS) $(LIBAUDIONAS_LDFLAGS) $(LIBESD_LDFLAGS) -lresmgr -no-undefined -version-info 1:0
и всё линкуется. Обновлённый патч для resmgr - во вложении. Старый (arts-1.5.3-resmgr.patch) надо выкинуть и заменить новым. Только в спеке указать, что это патч p1, а не p0.
Впрочем, это решение только одной из проблем сборки. Дальше ещё другая вылазит, а у меня сейчас нет времени ей заниматься

У вас нет необходимых прав для просмотра вложений в этом сообщении.
Mandriva International Backports - http://mib.pianetalinux.org
-
- Сообщения: 73
Re: Нужна помощь
Нда, придётся пока на простом KDE 3.5 посидеть. Моих знаний для такого глубокого изучения не хватает.
Спасибо за ответ и помощь.
Спасибо за ответ и помощь.