1 (23.03.2012 16:43:26 отредактировано godor2008)

Всем привет! Продолжаю мучать http://www.variscite.com/products/item/48-var-dvk-am35 с процессорным модулем на основе AM3517.

Система:

root@am3517-evm:/home/mc_here/bin# uname -a
Linux am3517-evm 2.6.37 #1 Sun Aug 28 08:36:02 IDT 2011 armv7l unknown

Скомпилировал и установил туда Linphone с опцией "--enable-alsa". При его запуске получаю:

root@am3517-evm:/usr/share/alsa# /home/linphone/install/usr/local/bin/linphonec
ortp-error-Could not find a suitable soundcard !
ortp-error-Could not find a suitable soundcard !
ortp-error-Could not find a suitable soundcard !
Ready
Warning: video is disabled in linphonec, use -V or -C or -D to enable.
linphonec>

Команда

soundcard list

в Linphone выводит пустой список. Не видит звуковой карты.

Но aplay и arecord работают нормально.

root@am3517-evm:/usr/share/alsa# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: am3517evm [am3517evm], device 0: AIC23 tlv320aic23-hifi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
root@am3517-evm:/usr/share/alsa# aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)

MPlayer проигрывает mp3 файлы.
Alsamixer также удачно работает и позволяет регулировать настройки.

Каталог /dev/dsp отсутствует. В наличии имеется /dev/snd

root@am3517-evm:/usr/share/alsa# ls -la /dev/snd
drwxr-xr-x    2 root     root          120 Jul  7 19:31 .
drwxr-xr-x   12 root     root         3200 Jul  7 19:31 ..
crw-rw----    1 root     audio    116,   0 Jan  1  2000 controlC0
crw-rw----    1 root     audio    116,  24 Jan  1  2000 pcmC0D0c
crw-rw----    1 root     audio    116,  16 Jan  1  2000 pcmC0D0p
crw-rw----    1 root     audio    116,  33 Jan  1  2000 timer

Также в наличии имеется каталог ALSA

root@am3517-evm:/usr/share/alsa# ls
alsa.conf         cards             pcm               sndo-mixer.alisp
bluetooth.conf    init              smixer.conf       speaker-test

Но LInphone всё равно не хочет запускаться.
Пробывал также софтфон PJSUA. Он тоже не видит звуковую карту. ac

Может кто сталкивался с таким

2 (23.03.2012 16:34:19 отредактировано Fat-Zer)

godor2008,  а strace запихнуть на эту коробочку можно?
чтобы посмотреть, куда он тыкается в поисках звуковухи...

и устройства в /dev ручками создаёте или там udev есть?

95% процентов проблем находятся между клавиатурой и стулом.

3 (23.03.2012 17:03:31 отредактировано godor2008)

Устройства вручную не создавал

root@am3517-evm:~# find / -name "*udev*"
/dev/udev_network_queue
/etc/udev
/etc/udev/rules.d/50-udev-default.rules
/etc/udev/rules.d/95-udev-late.rules
/etc/udev/rules.d/udev.rules
/etc/udev/udev.conf
/etc/default/udev
/etc/rcS.d/S12udev-cache
/etc/rcS.d/S03udev
/etc/init.d/udev
/etc/init.d/udev-cache
/lib/udev

strace я скомпилил и запустил на ките. При запуске "/home/strace/install/usr/local/bin/strace /home/linphone/install/usr/local/bin/linphonec"  получаю бесконечный поток сообщений

...
gettimeofday({1310083181, 460582}, NULL) = 0
select(7, [6], NULL, NULL, {0, 0})      = 0 (Timeout)
gettimeofday({1310083181, 461019}, NULL) = 0
gettimeofday({1310083181, 461208}, NULL) = 0
....

4 (23.03.2012 17:11:21 отредактировано Fat-Zer)

godor2008 пишет:

root@am3517-evm:~# find / -name "*udev*"

какие-то ошмётки... настораживает, что udevd нет...
но проще посмотреть, запущен ли он... ps aux | grep udev

godor2008 пишет:

strace я скомпилил и запустил на ките. При запуске "/home/strace/install/usr/local/bin/strace /home/linphone/install/usr/local/bin/linphonec"  получаю бесконечный поток сообщений

нас не всё интересует: strace -e open /home/linphone/install/usr/local/bin/linphonec

95% процентов проблем находятся между клавиатурой и стулом.

5 (23.03.2012 17:36:56 отредактировано godor2008)

root@am3517-evm:~# ps | grep udev
  595 root      1852 S <  /sbin/udevd -d
 1514 root      2680 S    grep udev

При запуске с кодом "ps aux" получаю ошибку:

root@am3517-evm:~# ps aux | grep udev
ps: invalid option -- 'a'
BusyBox v1.13.2 (2011-07-05 21:30:53 CDT) multi-call binary

Usage: ps

Report process status

Options:
        w       Wide output


root@am3517-evm:~# /home/strace/install/usr/local/bin/strace -e open /home/linphone/install/usr/local/bin/linphonec
open("/home/linphone/install/usr/local/lib/tls/v7l/fast-mult/half/liblinphone.so.4", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/linphone/install/usr/local/lib/tls/v7l/fast-mult/liblinphone.so.4", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/linphone/install/usr/local/lib/tls/v7l/half/liblinphone.so.4", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/linphone/install/usr/local/lib/tls/v7l/liblinphone.so.4", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/linphone/install/usr/local/lib/tls/fast-mult/half/liblinphone.so.4", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/linphone/install/usr/local/lib/tls/fast-mult/liblinphone.so.4", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/linphone/install/usr/local/lib/tls/half/liblinphone.so.4", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/linphone/install/usr/local/lib/tls/liblinphone.so.4", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/linphone/install/usr/local/lib/v7l/fast-mult/half/liblinphone.so.4", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/linphone/install/usr/local/lib/v7l/fast-mult/liblinphone.so.4", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/linphone/install/usr/local/lib/v7l/half/liblinphone.so.4", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/linphone/install/usr/local/lib/v7l/liblinphone.so.4", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/linphone/install/usr/local/lib/fast-mult/half/liblinphone.so.4", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/linphone/install/usr/local/lib/fast-mult/liblinphone.so.4", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/linphone/install/usr/local/lib/half/liblinphone.so.4", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/linphone/install/usr/local/lib/liblinphone.so.4", O_RDONLY) = 3
open("/home/linphone/install/usr/local/lib/libreadline.so.6", O_RDONLY) = 3
open("/home/linphone/install/usr/local/lib/libncurses.so.5", O_RDONLY) = 3
open("/home/linphone/install/usr/local/lib/libmediastreamer.so.1", O_RDONLY) = 3
open("/home/linphone/install/usr/local/lib/libortp.so.8", O_RDONLY) = 3
open("/home/linphone/install/usr/local/lib/libspeex.so.1", O_RDONLY) = 3
open("/home/linphone/install/usr/local/lib/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/var/run/ld.so.cache", O_RDONLY)  = -1 ENOENT (No such file or directory)
open("/lib/tls/v7l/fast-mult/half/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/tls/v7l/fast-mult/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/tls/v7l/half/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/tls/v7l/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/tls/fast-mult/half/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/tls/fast-mult/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/tls/half/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/tls/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/v7l/fast-mult/half/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/v7l/fast-mult/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/v7l/half/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/v7l/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/fast-mult/half/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/fast-mult/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/half/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libpthread.so.0", O_RDONLY)  = 3
open("/home/linphone/install/usr/local/lib/libeXosip2.so.6", O_RDONLY) = 3
open("/home/linphone/install/usr/local/lib/libosip2.so.6", O_RDONLY) = 3
open("/home/linphone/install/usr/local/lib/libSDL-1.2.so.0", O_RDONLY) = 3
open("/home/linphone/install/usr/local/lib/libspeexdsp.so.1", O_RDONLY) = 3
open("/home/linphone/install/usr/local/lib/libogg.so.0", O_RDONLY) = 3
open("/home/linphone/install/usr/local/lib/libosipparser2.so.6", O_RDONLY) = 3
open("/home/linphone/install/usr/local/lib/libgcc_s.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libgcc_s.so.1", O_RDONLY)    = 3
open("/home/linphone/install/usr/local/lib/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libc.so.6", O_RDONLY)        = 3
open("/home/linphone/install/usr/local/lib/libstdc++.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libstdc++.so.6", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/v7l/fast-mult/half/libstdc++.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/v7l/fast-mult/libstdc++.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/v7l/half/libstdc++.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/v7l/libstdc++.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/fast-mult/half/libstdc++.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/fast-mult/libstdc++.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/half/libstdc++.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/libstdc++.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/v7l/fast-mult/half/libstdc++.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/v7l/fast-mult/libstdc++.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/v7l/half/libstdc++.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/v7l/libstdc++.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/fast-mult/half/libstdc++.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/fast-mult/libstdc++.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/half/libstdc++.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/libstdc++.so.6", O_RDONLY) = 3
open("/home/linphone/install/usr/local/lib/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libm.so.6", O_RDONLY)        = 3
open("/home/linphone/install/usr/local/lib/librt.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/librt.so.1", O_RDONLY)       = 3
open("/home/linphone/install/usr/local/lib/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libdl.so.2", O_RDONLY)       = 3
open("/home/linphone/install/usr/local/lib/libnsl.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libnsl.so.1", O_RDONLY)      = 3
open("/home/linphone/install/usr/local/lib/libresolv.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libresolv.so.2", O_RDONLY)   = 3
open("/usr/local/lib/mediastreamer/plugins", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/home/root/.linphonerc", O_RDONLY) = 3
[b]open("/usr/local/lib/liblinphone/plugins", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
ortp-error-Could not find a suitable soundcard !
ortp-error-Could not find a suitable soundcard !
ortp-error-Could not find a suitable soundcard ![/b]
Ready
Warning: video is disabled in linphonec, use -V or -C or -D to enable.
open("/home/root/.linphonec_history", O_RDONLY|O_LARGEFILE) = 9
open("/etc/inputrc", O_RDONLY|O_LARGEFILE) = 9
linphonec> open("/dev/urandom", O_RDONLY)          = 9
open("/home/root/.linphonerc", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 9

Я тут не вижу попыток обращения к звуковой карте
open("/usr/local/lib/liblinphone/plugins", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
ortp-error-Could not find a suitable soundcard !
ortp-error-Could not find a suitable soundcard !
ortp-error-Could not find a suitable soundcard !

6

godor2008 пишет:

Я тут не вижу попыток обращения к звуковой карте

я тоже...
странно, что он фейлится при открытии библиотек... а, не... он просто их ищет...
а ещё, что он не тыкается в поисках asound...
он вообще с ним слинкован? ldd /home/linphone/install/usr/local/bin/linphonec

godor2008 пишет:

При запуске с кодом "ps aux" получаю ошибку:

не суть... важно, что он запущен...

95% процентов проблем находятся между клавиатурой и стулом.

7 (23.03.2012 19:02:15 отредактировано godor2008)

Мой Linux не понимает "ldd"

Перед запуском Linphone я добавляю либы
export LD_LIBRARY_PATH=/home/linphone/install/usr/local/lib

Отредактировал /etc/asound.conf

pcm.!default {
    type hw
    card 0
}
ctl.!default {
    type hw
    card 0
}

8

godor2008 пишет:

Мой Linux не понимает "ldd"

это часть glibc... какая у вас libc сказать и даже предположить не берусь...

просто похоже, что он собран без поддержки alsa...

95% процентов проблем находятся между клавиатурой и стулом.

9

Очень странно, ибо опцию "--enable-alsa" я включил на хостовой машине, где компилил. Там же стоит пакет libasound-dev и есть папка с header файлами alsa

10

ну тогда давайте подробно, как-что собирали...

*сам кросс-компиляцией ни разу не занимался...

95% процентов проблем находятся между клавиатурой и стулом.

11 (23.03.2012 21:13:41 отредактировано godor2008)

Скомпилированный под x86 Linphone исправно работает в виртуальных машинах.

Компиляция под АРМ:

export PATH=/opt/arm-2011.09/bin:$PATH
export HOSTTPL=arm-none-linux-gnueabi
export PREFIX=/usr/local
export SOURCEDIR=$HOME/linphone
export INSTALLDIR=$SOURCEDIR/install
export COMPDIR=$SOURCEDIR/install$PREFIX

...
Компиляция под ARM всех зависимостей:
ncurses-5.9
readline-6.2
libosip2-3.5.0
libogg-1.3.0
libeXosip2-3.5.0
speex-1.2rc1
libav-0.7.4
SDL-1.2.15
libvorbis-1.3.2
...

Периодическое удаление *.la файлов в конечной директории

Компиляция Linphone:

cd $SOURCEDIR/linphone-3.5.2
./configure --prefix=$PREFIX --host=$HOSTTPL --with-gnu-ld --disable-static --disable-glib --enable-gtk_ui=no --enable-sdl --disable-x11 --disable-libv4l2 --with-osip=$COMPDIR --with-readline=$COMPDIR SPEEX_CFLAGS="-I$COMPDIR/include" SPEEX_LIBS="-L$COMPDIR/lib -lspeex" FFMPEG_CFLAGS="-I$COMPDIR/include" FFMPEG_LIBS="-L$COMPDIR/lib -lavcodec" SWSCALE_CFLAGS="-I$COMPDIR/include" SWSCALE_LIBS="-L$COMPDIR/lib -lswscale" SDL_CFLAGS="-I$COMPDIR/include" SDL_LIBS="-L$COMPDIR/lib -lSDL" --disable-video --enable-alsa --disable-strict --disable-tests SPEEXDSP_CFLAGS="-I$COMPDIR/include" SPEEXDSP_LIBS="-L$COMPDIR/lib -lspeexdsp"

make
make install DESTDIR=$INSTALLDIR
За основу всё взял http://embedfun.blogspot.com/2011/08/cr … phone.html

12

Если я создам каталог /dev/dsp то при запуске Linphone ошибка отсутствия звуковой карты не возникает. Правда она появляется при звонке smile

13 (23.03.2012 21:49:51 отредактировано Fat-Zer)

godor2008 пишет:

Если я создам каталог /dev/dsp то при запуске Linphone ошибка отсутствия звуковой карты не возникает. Правда она появляется при звонке

:lol: /dev/dsp - это устройство OSS... судя по всему он у вас в ядре отключён...

godor2008 пишет:

Компиляция под ARM всех зависимостей:

в зависимостях явно не хватает alsa-lib

godor2008 пишет:

./configure

странно, что он не выдал ошибку... и можно его высер?

ЗЫ: у тов. snyper в блоге та же проблема...

95% процентов проблем находятся между клавиатурой и стулом.

14 (23.03.2012 23:25:07 отредактировано godor2008)

ЗЫ: у тов. snyper в блоге та же проблема...

Это моя вторая личность smile

Сейчас покажу что он выдает...

Вот зараза - актуальные исходники остались на рабочем компе. Придется уже завтра их скопипастить

15 (24.03.2012 17:24:21 отредактировано godor2008)

Во время конфигурации заметил такое сообщение:

checking alsa/asoundlib.h usability... no
checking alsa/asoundlib.h presence... no
checking for alsa/asoundlib.h... no

Да, но по адресу /usr/include/alsa есть исходники. У меня в системе установлен пакет liasound-dev

Но в файлах конфигурации я не нашел возможности указания где искать исходники.

В linphone/mediastreamer2/configure.sh есть такой текст:

if test "$alsa" = "true"; then
    for ac_header in alsa/asoundlib.h
do :
  ac_fn_c_check_header_mongrel "$LINENO" "alsa/asoundlib.h" "ac_cv_header_alsa_asoundlib_h" "$ac_includes_default"
if test "x$ac_cv_header_alsa_asoundlib_h" = x""yes; then :
  cat >>confdefs.h <<_ACEOF

Пробывал менять адрес - не помогает


Также в linphone/mediastreamer2/alsa.c есть строка

#include <alsa/alsalib.h>

16

godor2008, надо собрать alsa-lib аналогично другим зависимостям и добавить соответствующие параметры в строку конфигурации...
ещё лучше, если вы отыщете, какие исходники использовались в вашем арме, возьмёте оттуда хедеры, а саму библиотеку с вашей коробочки...

ЗЫ: по-хорошему весь тулчейн для сборки должен быть в отдельном chroot'е и он не должен использовать ни какие хедеры или библиотеки из основной системы.

95% процентов проблем находятся между клавиатурой и стулом.

17

Проблема в том, что в настройках я не нашел опции указания местарасположения исходников ALSA. Для osip/sdl например есть, а для альсы только вкл/выкл.

18

а если вместо всех этих опций указать просто --prefix="$INSTALLDIR/usr/local/" ?

95% процентов проблем находятся между клавиатурой и стулом.

19

Все равно не находит звуковые исходники. А опции все убирать нельзя, он тогда не видит кучи скомпиленных библиотек

20

godor2008 пишет:

Все равно не находит звуковые исходники. А опции все убирать нельзя, он тогда не видит кучи скомпиленных библиотек

да... сглупил... префикс только при install'е значение имеет...
ещё как вариант тотальной замены:
export LDFLAGS="-L$INSTALLDIR/usr/local/lib"
export CFLAGS="-I$INSTALLDIR/usr/local/include"

95% процентов проблем находятся между клавиатурой и стулом.

21

Только перед этим скомпилить ALSA и поместить ее в INSTALLDIR ?

22

godor2008 пишет:

Только перед этим скомпилить ALSA и поместить ее в INSTALLDIR ?

само собой... впрочем как и всё остальное...

95% процентов проблем находятся между клавиатурой и стулом.

23

Теперь получаю вот такое при компиляции

checking alsa/asoundlib.h usability... yes
checking alsa/asoundlib.h presence... no
configure: WARNING: alsa/asoundlib.h: accepted by the compiler, rejected by the preprocessor!
configure: WARNING: alsa/asoundlib.h: proceeding with the compiler's result
checking for alsa/asoundlib.h... yes
checking for snd_pcm_open in -lasound... yes

Usability есть, а presence нет ?!

24

alsa-lib как собрали? дословно...

95% процентов проблем находятся между клавиатурой и стулом.

25

Альсу компилил так:

cd $SOURCEDIR/alsa-lib-1.0.25
./configure --prefix=$PREFIX --host=$HOSTTPL --enable-static --disable-shared
make
make install DESTDIR=$INSTALLDIR

Конфиг Linphone:

./configure --prefix=$PREFIX --host=$HOSTTPL --with-gnu-ld --disable-static --disable-glib --enable-gtk_ui=no --enable-sdl --disable-x11 --disable-libv4l2 --with-osip=$COMPDIR --with-readline=$COMPDIR SPEEX_CFLAGS="-I$COMPDIR/include" SPEEX_LIBS="-L$COMPDIR/lib -lspeex" FFMPEG_CFLAGS="-I$COMPDIR/include" FFMPEG_LIBS="-L$COMPDIR/lib -lavcodec" SWSCALE_CFLAGS="-I$COMPDIR/include" SWSCALE_LIBS="-L$COMPDIR/lib -lswscale" SDL_CFLAGS="-I$COMPDIR/include" SDL_LIBS="-L$COMPDIR/lib -lSDL" --enable-alsa --disable-video --disable-strict --disable-tests SPEEXDSP_CFLAGS="-I$COMPDIR/include" SPEEXDSP_LIBS="-L$COMPDIR/lib -lspeexdsp" LDFLAGS="-L$COMPDIR/lib" CFLAGS="-I$COMPDIR/include"

Затем редактирование makefile ов:

#vi $SOURCEDIR/linphone-3.5.2/mediastreamer2/tests/Makefile
#Find the LIBS variable and change it as:
#LIBS = -pthread -lpthread -lm -lrt /home/sasha/linphone/install/usr/local/lib/libvorbis.a -logg /home/sasha/linphone/install/usr/local/lib/libspeexdsp.a /home/sasha/linphone/install/usr/local/lib/libvorbisenc.a

#vi $SOURCEDIR/linphone-3.5.2/coreapi/Makefile
#Find the LIBS variable and change it as:
#LIBS = /home/sasha/linphone/install/usr/local/lib/libosip2.a /home/sasha/linphone/install/usr/local/lib/libspeex.a /home/sasha/linphone/install/usr/local/lib/libSDL.a /home/sasha/linphone/install/usr/local/lib/libvorbis.a /home/sasha/linphone/install/usr/local/lib/libvorbisenc.a /home/sasha/linphone/install/usr/local/lib/libspeexdsp.a -logg /home/sasha/linphone/install/usr/local/lib/libavutil.a


#cd $SOURCEDIR/linphone-3.5.2/coreapi/help/Makefile
#Find the LIBS variable and change it as:
#LIBS = /home/sasha/linphone/install/usr/local/lib/libeXosip2.a /home/sasha/linphone/install/usr/local/lib/libspeex.a /home/sasha/linphone/install/usr/local/lib/libSDL.a /home/sasha/linphone/install/usr/local/lib/libvorbisenc.a /home/sasha/linphone/install/usr/local/lib/libosipparser2.a /home/sasha/linphone/install/usr/local/lib/libosip2.a /home/sasha/linphone/install/usr/local/lib/libvorbis.a /home/sasha/linphone/install/usr/local/lib/libspeexdsp.a -logg

#cd $SOURCEDIR/linphone-3.5.2/console/Makefile
#Find the LIBS variable and change it as:
#LIBS = -leXosip2 -losip2 -lSDL /home/sasha/linphone/install/usr/local/lib/libvorbisenc.a -lspeexdsp -logg -losipparser2

#And find linphonecsh_LDADD variable and change it as:
#linphonecsh_LDADD = $(ORTP_LIBS) -L/home/sasha/linphone/install/usr/local/lib

Запускаю и получаю новые ошибки:

...
../mediastreamer2/src/.libs/libmediastreamer.so: undefined reference to `snd_pcm_hw_params_set_periods_near@ALSA_0.9.0rc4'
../mediastreamer2/src/.libs/libmediastreamer.so: undefined reference to `snd_pcm_recover@ALSA_0.9'
...

26

godor2008 пишет:

--enable-static --disable-shared

а чего не разделяемая?

godor2008 пишет:

vi $SOURCEDIR/linphone-3.5.2/mediastreamer2

и суда можно в линковку -lasound добавить... раз всёравно руками правите...

95% процентов проблем находятся между клавиатурой и стулом.

27 (26.03.2012 17:38:55 отредактировано godor2008)

Добавил -lasound в каждый LIBS=... и о чудо! Оно скомпилировалось!

Но теперь другая проблема. Запускаю телефон на девките на ARM:

...
root@am3517-evm:~# /home/linphone/install/usr/local/bin/linphonec
ALSA lib conf.c:3700:(snd_config_update_r) Cannot access file /usr/local/share/alsa/alsa.conf
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM default
....

На ките уже установлены драйвера ALSA. И теперь надо правильно разрешить вопрос:
Что куда копировать?)

Я попробывал удалить /home/linphone/install/usr/local/bin/linphonec/share/alsa,
но при запуске получаю всё теже ошибки

В Linphone теперь хоть появился список карт:

linphonec> soundcard list
0: ALSA: default device
1: ALSA: am3517evm

На ките отсутствует папка /usr/local/share с последующей ALSA внутри.

Поиск по альсе выдает

root@am3517-evm:/home/linphone# find / -name "*alsa*"
/etc/udev/rules.d/40-alsa.rules
/etc/rc0.d/K31alsa-state
/etc/rc6.d/K31alsa-state
/etc/rcS.d/S39alsa-state
/etc/init.d/alsa-state
/usr/bin/alsamixer
/usr/lib/jack/jack_alsa.so
/usr/lib/alsa-lib
/usr/sbin/alsaconf
/usr/sbin/alsactl
/usr/share/alsa
/usr/share/alsa/alsa.conf
/usr/share/sounds/alsa
/home/linphone/install/usr/local/lib/alsa-lib
/home/linphone/install/usr/local/lib/pkgconfig/alsa.pc
/home/linphone/install/usr/local/share/alsa
/home/linphone/install/usr/local/share/alsa/alsa.conf.d
/home/linphone/install/usr/local/share/alsa/alsa.conf
/home/linphone/install/usr/local/share/aclocal/alsa.m4

Хм, надо какимто образом указать ему на использоание альсы с кита:
/usr/share/alsa

28

Поробывал сделать хак и создать ссылки на драйвера в системе:

root@am3517-evm:/usr/local# cp -r -s /usr/share/alsa /usr/local/share

Теперь другие ошибки при запуске:

root@am3517-evm:/usr/local# /home/linphone/install/usr/local/bin/linphonec
ALSA lib conf.c:4687:(snd_config_expand) Unknown parameters 0
ALSA lib control.c:951:(snd_ctl_open_noupdate) Invalid CTL default:0
ALSA lib conf.c:4687:(snd_config_expand) Unknown parameters 0
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM default:0
ALSA lib conf.c:4687:(snd_config_expand) Unknown parameters 0
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM default:0
Ready
Warning: video is disabled in linphonec, use -V or -C or -D to enable.
linphonec> Registration on sip:192.168.20.13 successful.

29 (26.03.2012 23:01:29 отредактировано Fat-Zer)

ИМХО два варианта:
1. скопировать алсу с девайса, и положить её в соответствующую папку в своей системе сборки. + узнать её версию и положить хедеры от соответствующей версии в include'ы
2. компилировать динамическую, а не статическую альсу и не копировать её на девайс.

ЗЫ:

godor2008 пишет:

SPEEX_CFLAGS="-I$COMPDIR/include" SPEEX_LIBS="-L$COMPDIR/lib -lspeex" FFMPEG_CFLAGS="-I$COMPDIR/include" FFMPEG_LIBS="-L$COMPDIR/lib -lavcodec" SWSCALE_CFLAGS="-I$COMPDIR/include" SWSCALE_LIBS="-L$COMPDIR/lib -lswscale" SDL_CFLAGS="-I$COMPDIR/include" SDL_LIBS="-L$COMPDIR/lib -lSDL"

по идее это всё уже не нужно

95% процентов проблем находятся между клавиатурой и стулом.

30 (27.03.2012 12:59:32 отредактировано godor2008)

Убрал --static в ALSA.

Изменил параметр export PREFIX=/usr/local на export PREFIX=/usr

Скомпилил. Оно запустилось на ките с ошибками:

root@am3517-evm:~# /home/linphone/install/usr/bin/linphonec
ALSA lib conf.c:4687:(snd_config_expand) Unknown parameters 0
ALSA lib control.c:951:(snd_ctl_open_noupdate) Invalid CTL default:0
ALSA lib conf.c:4687:(snd_config_expand) Unknown parameters 0
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM default:0
ALSA lib conf.c:4687:(snd_config_expand) Unknown parameters 0
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM default:0
Ready
Warning: video is disabled in linphonec, use -V or -C or -D to enable.
linphonec> Registration on sip:192.168.20.13 successful.

И о чудо! Мне удалось позвонить и услышать свой голос!

Но не долгой была радость... Теперь оно больше не звонит. Хотя я меня только уровень громкости в alsamixer. Совсем никуда не звонит!!!

Выдает:

linphonec> call 99991008
Establishing call id to <sip:99991008@192.168.20.13>, assigned id 1
Contacting <sip:99991008@192.168.20.13>
linphonec> Call 1 to <sip:99991008@192.168.20.13> in progress.
linphonec> Call 1 with <sip:99991008@192.168.20.13> connected.
Call answered by <sip:99991008@192.168.20.13>.
linphonec> Media streams established with <sip:99991008@192.168.20.13> for call 1.
ortp-error-alsa_open_r: Error setting params for more than 3 seconds
ortp-error-alsa_open_r: Error setting params for more than 3 seconds

Я указал альсу компилить shared. Папку /linphone/share/alsa удалил уже когда посыпались ошибки. Когда она присутствовала - звонок проходил. Когда появились ошибки, я ее удалил, но то не помогло. Восстановление папки Linphone в исходное состояние не помогает - появляется та вторая ошибка...

На плате стоит ALSA 1.0.23, а я компилил ALSA 1.0.25. Может это повлиять?