LINUX.ORG.RU

Не собирается linphone 3.5.2

 , ,


0

2

Slackware-current i486, linphone 3.5.2 из SBo не собирается как с поддержкой видео, так и без неё.

Зависимости:

# ls /var/log/packages/ |grep SBo
OpenAL-1.13-i486-2_SBo
conky-1.9.0-i486-1_SBo
distribute-0.6.36-i486-1_SBo
ffmpeg-0.11.1-i686_custom-2_SBo
flash-player-plugin-11.2.202.280-i386-1_SBo
gst-plugins-ugly-0.10.19-i486-1_SBo
kcm_touchpad-0.3.1-i486-2_SBo
lame-3.99.5-i486-1_SBo
libeXosip2-3.6.0-i486-1_SBo
libmpeg2-0.5.1-i486-1_SBo
libosip2-3.6.0-i486-1_SBo
libvdpau-0.6-i486-1_SBo
lua-5.1.5-i486-1_SBo
nvidia-driver-310.32-x86-1_SBo
nvidia-kernel-310.32_3.4.47_smp-x86-1_SBo
protobuf-2.4.1-i486-2_SBo
qt-creator-2.6.2-i486-1_SBo
skype-4.1.0.20-i486-1_SBo
smplayer-0.8.4-i486-1_SBo
smtube-1.6-i486-1_SBo
speex-1.2rc1-i486-3_SBo
unrar-4.2.4-i486-1_SBo
x264-20120804-i486-1_SBo
xvidcore-1.3.2-i486-1_SBo
yakuake-2.9.9-i486-1_SBo
root@ASUS-SlackBooK:~# 
Лог:
Making all in coreapi
make[2]: Вход в каталог `/tmp/SBo/linphone-3.5.2/coreapi'
Making all in .
make[3]: Вход в каталог `/tmp/SBo/linphone-3.5.2/coreapi'
  CC     linphonecore.lo
  CC     offeranswer.lo
  CC     sal.lo
  CC     sal_eXosip2.lo
  CC     sal_eXosip2_sdp.lo
In file included from /usr/include/string.h:633:0,
                 from ../oRTP/include/ortp/port.h:38,
                 from ../oRTP/include/ortp/rtpsession.h:34,
                 from ../oRTP/include/ortp/ortp_srtp.h:38,
                 from sal_eXosip2_sdp.c:22:
sal_eXosip2_sdp.c: В функции «sdp_message_a_attr_value_get_with_pt»:
sal_eXosip2_sdp.c:26:47: ошибка: argument to «sizeof» in «strncmp» call is the same expression as the first source; did you mean to provide an explicit length? [-Werror=sizeof-pointer-memaccess]
 #define keywordcmp(key,b) strncmp(key,b,sizeof(key))
                                               ^
sal_eXosip2_sdp.c:65:7: замечание: in expansion of macro «keywordcmp»
   if (keywordcmp(field,attr->a_att_field)==0 && attr->a_att_value!=NULL){
       ^
cc1: all warnings being treated as errors
make[3]: *** [sal_eXosip2_sdp.lo] Ошибка 1
make[3]: Выход из каталога `/tmp/SBo/linphone-3.5.2/coreapi'
make[2]: *** [all-recursive] Ошибка 1
make[2]: Выход из каталога `/tmp/SBo/linphone-3.5.2/coreapi'
make[1]: *** [all-recursive] Ошибка 1
make[1]: Выход из каталога `/tmp/SBo/linphone-3.5.2'
make: *** [all] Ошибка 2
Помогите решить проблему. Поддержка видео нужна.

А не из SBo собирается, что ли?

Citramonum ★★★
()
diff -u a/coreapi/sal_eXosip2_sdp.c b/coreapi/sal_eXosip2_sdp.c
--- a/coreapi/sal_eXosip2_sdp.c      2013-05-26 21:36:27.707647613 +0400
+++ b/coreapi/sal_eXosip2_sdp.c   2013-05-26 21:41:31.057855213 +0400
@@ -56,13 +56,13 @@
 }
 
 /* return the value of attr "field" for payload pt at line pos (field=rtpmap,fmtp...)*/
-static const char *sdp_message_a_attr_value_get_with_pt(sdp_message_t *sdp,int pos,int pt,const char *field)
+static const char *sdp_message_a_attr_value_get_with_pt(sdp_message_t *sdp,int pos,int pt,const char *field,size_t fsize)
 {
        int i,tmppt=0,scanned=0;
        char *tmp;
        sdp_attribute_t *attr;
        for (i=0;(attr=sdp_message_attribute_get(sdp,pos,i))!=NULL;i++){
-               if (keywordcmp(field,attr->a_att_field)==0 && attr->a_att_value!=NULL){
+               if (strncmp(field,attr->a_att_field,fsize)==0 && attr->a_att_value!=NULL){
                        int nb = sscanf(attr->a_att_value,"%i %n",&tmppt,&scanned);
                        /* the return value may depend on how %n is interpreted by the libc: see manpage*/
                        if (nb == 1 || nb==2 ){
@@ -402,10 +402,10 @@
                        PayloadType *pt=payload_type_new();
                        payload_type_set_number(pt,ptn);
                        /* get the rtpmap associated to this codec, if any */
-                       rtpmap=sdp_message_a_attr_value_get_with_pt(msg, i,ptn,"rtpmap");
+                       rtpmap=sdp_message_a_attr_value_get_with_pt(msg, i,ptn,"rtpmap",6);
                        if (payload_type_fill_from_rtpmap(pt,rtpmap)==0){
                                /* get the fmtp, if any */
-                               fmtp=sdp_message_a_attr_value_get_with_pt(msg, i, ptn,"fmtp");
+                               fmtp=sdp_message_a_attr_value_get_with_pt(msg, i, ptn,"fmtp",4);
                                payload_type_set_send_fmtp(pt,fmtp);
                                stream->payloads=ms_list_append(stream->payloads,pt);
                                ms_message("Found payload %s/%i fmtp=%s",pt->mime_type,pt->clock_rate,

Вот с этим не соберётся?

bormant ★★★★★
()

Мы с видео тоже не смогли собрать, sftp говорит, что это из-за обратной несовместимости версий ffmpeg, а без видео нормально собрался, но не на курренте. Если хочешь, могу пакет дать. А ваще попробуй екигу, у меня нормально собралась и видео работает. В общем пиши, ты меня знаешь, я oziris.

the_green
()
Ответ на: комментарий от GreenTea

не знаю, что это такое

В первых трёх строчках недвусмысленно указано, что это патч к исходникам. Положить в файл, дописать применение в слакбилд, собрать. При наличии новых ошибок — сообщить.

bormant ★★★★★
()
Ответ на: комментарий от bormant
|
|diff -u a/coreapi/sal_eXosip2_sdp.c b/coreapi/sal_eXosip2_sdp.c
|--- a/coreapi/sal_eXosip2_sdp.c      2013-05-26 21:36:27.707647613 +0400
|+++ b/coreapi/sal_eXosip2_sdp.c   2013-05-26 21:41:31.057855213 +0400
--------------------------
File to patch: /home/neko/Work/Slackware/Neko/linphone/fix_video.patch
patching file /home/neko/Work/Slackware/Neko/linphone/fix_video.patch
Hunk #1 FAILED at 56.
patch unexpectedly ends in middle of line
Hunk #2 FAILED at 402.
2 out of 2 hunks FAILED -- saving rejects to file /home/neko/Work/Slackware/Neko/linphone/fix_video.patch.rej
root@Jarlaxle:/home/neko/Work/Slackware/Neko/linphone#
GreenTea ★★
() автор топика
Ответ на: комментарий от GreenTea

Угу, форумный движок заменяет табуляцию пробелами... Кроме того, одного этого патча будет недостаточно, проверил.

Вот с таким «напильником» вполне собирается без ffmpeg: http://rusfolder.com/36579161

bormant ★★★★★
()
Ответ на: комментарий от GreenTea

Пусть для определённости тарбол с патчами в /tmp/linphone-3.5.2.diff.tar.xz.
Подготовительный этап, общий для ручной сборки со slackbuilds.org:

# mkdir ~/bld; cd ~/bld
# wget http://slackbuilds.org/slackbuilds/14.0/network/linphone.tar.gz
# tar xf linphone.tar.gz
# cd linphone
# . *.info
# wget $DOWNLOAD
Патчим слакбилд (на предмет применения остальных патчей при сборке), собираем, ставим:
# tar xf /tmp/linphone-3.5.2.diff.tar.xz
# patch --verbose < SlackBuild.diff
# ./*Build 2>&1 | tee build.log
# upgradepkg --install-new /tmp/linphone-3.5.2-*t?z

bormant ★★★★★
()
Последнее исправление: bormant (всего исправлений: 1)
Ответ на: комментарий от bormant

Спасибо, собралось. Но с поддержкой видео не собирается. Не можешь помочь с этим?

GreenTea ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.