Jump to content

    
Sign in to follow this  

Recommended Posts

Задам еще вопрос.

Компилирую linphone, получаю ошибку:

...
make  all-am
make[5]: Entering directory `/home/user/linphone-34/linphone-3.4.3/mediastreamer2/src'
  CC     mscommon.lo
  CC     msfilter.lo
msfilter.c: In function `get_cur_time_ns':
msfilter.c:257: error: `CLOCK_MONOTONIC' undeclared (first use in this function)
msfilter.c:257: error: (Each undeclared identifier is reported only once
msfilter.c:257: error: for each function it appears in.)
make[5]: *** [msfilter.lo] Ошибка 1
make[5]: Leaving directory `/home/user/linphone-34/linphone-3.4.3/mediastreamer2/src'
make[4]: *** [all] Ошибка 2
make[4]: Leaving directory `/home/user/linphone-34/linphone-3.4.3/mediastreamer2/src'
make[3]: *** [all-recursive] Ошибка 1
make[3]: Leaving directory `/home/user/linphone-34/linphone-3.4.3/mediastreamer2'
make[2]: *** [all] Ошибка 2
make[2]: Leaving directory `/home/user/linphone-34/linphone-3.4.3/mediastreamer2'
make[1]: *** [all-recursive] Ошибка 1
make[1]: Leaving directory `/home/user/linphone-34/linphone-3.4.3'
make: *** [all] Ошибка 2

 

предполагаю, что если закоментировать и эти строки, то ошибка пропадет:) но это плохое решение. От чего возникают подобные ошибки?

Share this post


Link to post
Share on other sites
Задам еще вопрос.

Компилирую linphone, получаю ошибку:

...
make  all-am
...
msfilter.c: In function `get_cur_time_ns':
...
make: *** [all] Ошибка 2

 

предполагаю, что если закоментировать и эти строки, то ошибка пропадет:) но это плохое решение. От чего возникают подобные ошибки?

Похоже на то, что ваша целевая ОС (та, которая на ARM) не поддерживает RTC таймеры (скорее всего собрана без их поддержки).

Share this post


Link to post
Share on other sites

в поисках решения забрел на один китайский блог

Google Chrome помог мне перевести страницу, и если я правильно понял, то там советуют закоментировать ветку else в условии, но там говорится про файл msticker.с а у меня msfilter.c, но мне то же помогло. Прошу поправить, если я понял не правильно.

 

не нравится мне эти операции с удалением строк из кода.

В общем ошибка пропала и появилась следующая, не помню точно содержание, но что-то про неопределенные SPEEX_PREPROCESS_GET_PSD_SIZE и SPEEX_PREPROCESS_GET_PSD. В этом же блоге было и решение - достаточно было добавить в файл mediastreamer2/src/msconf.c строки

#define SPEEX_PREPROCESS_GET_PSD_SIZE 34
#define SPEEX_PREPROCESS_GET_PSD 35

 

Эти ошибки больше не возникают, появляются другие, но пока все решается.

 

Первый раз в жизни столкнулся с кросс-компиляцией и сразу же такой геморой. Кросс-компиляция всегда так тяжело проходит или мой случай исключительный?

Edited by jacuba

Share this post


Link to post
Share on other sites

Попробуйте воспользоваться openembedded. Там в закромах есть рецепты для сборки linphone, найдите похожую целевую платформу, с тем же процессором что и у вас, и попробуйте скомпилировать. Оно само посчитает все зависимости (заодно и кросс-компилятор для вас соберет). В конце получите директорию, которую нужно будет просто переписать на целевое устройство или установить через пакетный менеджер.

 

А самому, ручками собирать это, ИМХО, весьма сомнительное удовольствие...

 

может вдруг поможет, собрал linphone под armv6 http://dl.dropbox.com/u/2632562/linphone-3.1.0-r3.tar.bz2

Share this post


Link to post
Share on other sites

кхм, может я плохо искал, но ничего на openembedded.org (kurtis, вы ведь об этом говорили?), посему решил вернуться к ручной самостоятельной сборке.

 

CXXLD  libmediastreamer.la
/usr/local/arm/3.3.2/lib/gcc-lib/arm-linux/3.3.2/../../../../arm-linux/bin/ld: cannot find -lspeexdsp
collect2: ld returned 1 exit status
make[5]: *** [libmediastreamer.la] Ошибка 1
make[5]: Leaving directory `/home/user/linphone-34/linphone-3.4.3/mediastreamer2/src'
make[4]: *** [all] Ошибка 2
make[4]: Leaving directory `/home/user/linphone-34/linphone-3.4.3/mediastreamer2/src'
make[3]: *** [all-recursive] Ошибка 1
make[3]: Leaving directory `/home/user/linphone-34/linphone-3.4.3/mediastreamer2'
make[2]: *** [all] Ошибка 2
make[2]: Leaving directory `/home/user/linphone-34/linphone-3.4.3/mediastreamer2'
make[1]: *** [all-recursive] Ошибка 1
make[1]: Leaving directory `/home/user/linphone-34/linphone-3.4.3'
make: *** [all] Ошибка 2

 

Конфигурирую следующим образом:

./configure --prefix=/armbuild --host=arm-linux --with-gnu-ld --disable-static --disable-glib --with-osip=$ARM_INSTALL_TREE/usr --with-readline=$ARM_INSTALL_TREE/usr SPEEX_CFLAGS="-I$ARM_INSTALL_TREE/usr/include"  SPEEX_LIBS="-L$ARM_INSTALL_TREE/usr/lib -lspeex" --disable-video --disable-nls --enable-gtk_ui=no --disable-glib --enable-alsa=no

я уже ничего не понимаю, откуда почему и как? Прошу помощи!

Edited by jacuba

Share this post


Link to post
Share on other sites
jacuba, удалось вам запустить linphone? Я тоже с ним сейчас работаю но у меня ucLinux. У меня проблемы с работой linphone на целевой плате. Он отжирает память. Если звонить на него с интервалом: 1 сек пауза, 1 сек разговор в режиме автоподнятия, то через час работы уходит метров 30. После этого моя плата виснет из-за отсутствия свободного ОЗУ. Возможно это проблема не linphone, а ucLinux. Хотел узнать как вас с ОЗУ обстоят дела.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this