1

Всем привет! В качестве ОС использую Runtu LXDE. Скомпилил из исходников телефон Linphone 3.4.3. Всё отлично, запускаю через linphonec и могу звонить и принимать звонки. Но тут появилась необходимость запускать его как демон и управлять по событиям. У него есть бинарник linphonecsh. Но при попытке регистрации через него получаю:

sasha@sasha-desktop:~/linphone-pc-working-home/install/usr/bin$ ./linphonecsh generic "calls"
ERROR: Failed to connect pipe: Connection refused

Если же установить Linphone 3.3 через менеджер пакетов, то демон прекрасно запускается и работает(  Но мне так не подходит, поскольку потом этот телефон(3.4.2) будет запускаться на ARM линуксе.

Гугление выдало всего пару ссылок без решения проблемы:(

Может кто знает как решить данную проблему

2

strace в зубы и смотрите, к какой трубе у него там не получается подключится...

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

3

Запускаю значит Linphone 3.3, установленный через Synaptic:

sasha@sasha-desktop:~$ strace -e open linphonecsh init
open("/etc/ld.so.cache", O_RDONLY)      = 3
open("/usr/lib/libortp.so.8", O_RDONLY) = 3
open("/lib/tls/i686/cmov/libc.so.6", O_RDONLY) = 3
open("/lib/tls/i686/cmov/libpthread.so.0", O_RDONLY) = 3
open("/lib/tls/i686/cmov/libm.so.6", O_RDONLY) = 3

sasha@sasha-desktop:~$ ps -aux | grep linphonec
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
sasha     1679  0.9  4.3  22924 10780 ?        S    14:48   0:21 scite /home/sasha/??????? ????/linphonecsh.txt
sasha     2907  1.0  3.1  44400  7916 ?        Ssl  15:26   0:00 linphonec --pipe -c /dev/null
sasha     2916  0.0  0.3   3336   820 pts/0    S+   15:26   0:00 grep --color=auto linphonec

Как видно, процесс стартует (2907)


Запускаю скомпиленный под x86:

sasha@sasha-desktop:~/linphone-pc-working-home/install/usr/bin$ export LD_LIBRARY_PATH=/home/sasha/linphone-pc-working-home/install/usr/lib
sasha@sasha-desktop:~/linphone-pc-working-home/install/usr/bin$ strace -e open ./linphonecsh init
open("/home/sasha/linphone-pc-working-home/install/usr/lib/tls/i686/sse2/cmov/libortp.so.8", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/sasha/linphone-pc-working-home/install/usr/lib/tls/i686/sse2/libortp.so.8", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/sasha/linphone-pc-working-home/install/usr/lib/tls/i686/cmov/libortp.so.8", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/sasha/linphone-pc-working-home/install/usr/lib/tls/i686/libortp.so.8", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/sasha/linphone-pc-working-home/install/usr/lib/tls/sse2/cmov/libortp.so.8", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/sasha/linphone-pc-working-home/install/usr/lib/tls/sse2/libortp.so.8", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/sasha/linphone-pc-working-home/install/usr/lib/tls/cmov/libortp.so.8", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/sasha/linphone-pc-working-home/install/usr/lib/tls/libortp.so.8", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/sasha/linphone-pc-working-home/install/usr/lib/i686/sse2/cmov/libortp.so.8", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/sasha/linphone-pc-working-home/install/usr/lib/i686/sse2/libortp.so.8", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/sasha/linphone-pc-working-home/install/usr/lib/i686/cmov/libortp.so.8", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/sasha/linphone-pc-working-home/install/usr/lib/i686/libortp.so.8", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/sasha/linphone-pc-working-home/install/usr/lib/sse2/cmov/libortp.so.8", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/sasha/linphone-pc-working-home/install/usr/lib/sse2/libortp.so.8", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/sasha/linphone-pc-working-home/install/usr/lib/cmov/libortp.so.8", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/sasha/linphone-pc-working-home/install/usr/lib/libortp.so.8", O_RDONLY) = 3
open("/home/sasha/linphone-pc-working-home/install/usr/lib/libeXosip2.so.6", O_RDONLY) = 3
open("/home/sasha/linphone-pc-working-home/install/usr/lib/libosip2.so.6", O_RDONLY) = 3
open("/home/sasha/linphone-pc-working-home/install/usr/lib/libvorbis.so.0", O_RDONLY) = 3
open("/home/sasha/linphone-pc-working-home/install/usr/lib/libvorbisenc.so.2", O_RDONLY) = 3
open("/home/sasha/linphone-pc-working-home/install/usr/lib/libspeexdsp.so.1", O_RDONLY) = 3
open("/home/sasha/linphone-pc-working-home/install/usr/lib/libogg.so.0", O_RDONLY) = 3
open("/home/sasha/linphone-pc-working-home/install/usr/lib/libosipparser2.so.6", O_RDONLY) = 3
open("/home/sasha/linphone-pc-working-home/install/usr/lib/libasound.so.2", O_RDONLY) = 3
open("/home/sasha/linphone-pc-working-home/install/usr/lib/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
open("/lib/tls/i686/cmov/libc.so.6", O_RDONLY) = 3
open("/home/sasha/linphone-pc-working-home/install/usr/lib/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/cmov/libpthread.so.0", O_RDONLY) = 3
open("/home/sasha/linphone-pc-working-home/install/usr/lib/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/cmov/libm.so.6", O_RDONLY) = 3
open("/home/sasha/linphone-pc-working-home/install/usr/lib/libnsl.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/cmov/libnsl.so.1", O_RDONLY) = 3
open("/home/sasha/linphone-pc-working-home/install/usr/lib/librt.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/cmov/librt.so.1", O_RDONLY) = 3
open("/home/sasha/linphone-pc-working-home/install/usr/lib/libresolv.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/cmov/libresolv.so.2", O_RDONLY) = 3
open("/home/sasha/linphone-pc-working-home/install/usr/lib/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/cmov/libdl.so.2", O_RDONLY) = 3

sasha@sasha-desktop:~/linphone-pc-working-home/install/usr/bin$ ps -aux | grep linphonec
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
sasha     1679  0.9  4.3  22924 10816 ?        S    14:48   0:24 scite /home/sasha/??????? ????/linphonecsh.txt
sasha     3207  0.0  0.3   3336   816 pts/1    S+   15:28   0:00 grep --color=auto linphonec
sasha@sasha-desktop:~/linphone-pc-working-home/install/usr/bin$

Процесс не стартует:(

Библиотек всех хватает ему

4 (04.04.2012 18:46:41 отредактировано Fat-Zer)

godor2008 пишет:

Библиотек всех хватает ему

сейчас не в библиотеках дело, а куда он после демонизации тыкается... надо добавить ключ -f, чтобы strace был с ним до победного конца...
и если linphonecsh это скрипт, то посмотрите его содержимое - лучше сразу запускать бинарник...

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

5

linphonecsh - это бинарник

запускаю такой командой:

strace -f -o /home/root/log.txt linphonecsh init

При нормальном запуске получаю:

...
13742 execve("/usr/local/sbin/linphonec", ["linphonec", "--pipe", "-c", "/dev/null"], [/* 36 vars */]) = -1 ENOENT (No such file or directory)
13742 execve("/usr/local/bin/linphonec", ["linphonec", "--pipe", "-c", "/dev/null"], [/* 36 vars */]) = -1 ENOENT (No such file or directory)
13742 execve("/usr/sbin/linphonec", ["linphonec", "--pipe", "-c", "/dev/null"], [/* 36 vars */]) = -1 ENOENT (No such file or directory)
13742 execve("/usr/bin/linphonec", ["linphonec", "--pipe", "-c", "/dev/null"], [/* 36 vars */]) = 0
13742 brk(0)                            = 0x86f0000
13742 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
13742 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7761000
13742 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
...

И дальше идет немереное количество строк


При запуске моего скомпилированного Linphone,  strace останавливается на таком моменте:

execve("/usr/local/sbin/linphonec", ["linphonec", "--pipe", "-c", "/dev/null"], [/* 37 vars */]) = -1 ENOENT (No such file or directory)
execve("/usr/local/bin/linphonec", ["linphonec", "--pipe", "-c", "/dev/null"], [/* 37 vars */]) = -1 ENOENT (No such file or directory)
execve("/usr/sbin/linphonec", ["linphonec", "--pipe", "-c", "/dev/null"], [/* 37 vars */]) = -1 ENOENT (No such file or directory)
execve("/usr/bin/linphonec", ["linphonec", "--pipe", "-c", "/dev/null"], [/* 37 vars */]) = -1 ENOENT (No such file or directory)
execve("/sbin/linphonec", ["linphonec", "--pipe", "-c", "/dev/null"], [/* 37 vars */]) = -1 ENOENT (No such file or directory)
execve("/bin/linphonec", ["linphonec", "--pipe", "-c", "/dev/null"], [/* 37 vars */]) = -1 ENOENT (No such file or directory)
execve("/usr/games/linphonec", ["linphonec", "--pipe", "-c", "/dev/null"], [/* 37 vars */]) = -1 ENOENT (No such file or directory)
write(2, "Fail to spawn linphonec: No such"..., 51) = 51
exit_group(-1)                          = ?
Process 13354 detached

В одном случае 37 переменных, а в другом 36?

6 (05.04.2012 16:03:47 отредактировано Fat-Zer)

godor2008 пишет:

В одном случае 37 переменных, а в другом 36?

не суть... скорей всего 37-я это LD_LIBRARY_PATH, которую вы экспортируете...

godor2008 пишет:

execve("/usr/games/linphonec", ["linphonec", "--pipe", "-c", "/dev/null"], [/* 37 vars */]) = -1 ENOENT (No such file or directory)

"~/linphone-pc-working-home/install/usr/bin" (или какой там путь к linphonec?) должна быть в $PATH и желательно первой, чтобы исключить конфликт с установленной версией.

godor2008 пишет:

И дальше идет немереное количество строк

для этого есть много pastebin сервисов...

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

7

Написал так перед запуском:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/sasha/linphone/install/usr/lib
export PATH=$PATH:/home/sasha/linphone/install/usr/bin

и оно запустилось!!