LinuxForum.Fans
Тема

Linphonecsh: Failed to connect pipe

Автор: godor2008 7 сообщений 1952 просмотров
#243426

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

text
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 линуксе.

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

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

#243447

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

#243588

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

text
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:

text
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$

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

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

#243629
"godor2008" написал:
Библиотек всех хватает ему

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

#243833

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

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

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

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

text
...
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 останавливается на таком моменте:

text
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?

#243836
"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 сервисов...

#243843

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

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

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

Войдите или зарегистрируйтесь, чтобы ответить.