python script can't find API-capable Skype on my system Reproducible: Always Steps to Reproduce: 1. 2. 3. Actual Results: python example script from http://share.skype.com/developer_zone/documentation/skype_api_for_linux/ produce error: No running API-capable Skype found d-bus service and skype are running. Latest verstion of skype and skype static have been tested. Portage 2.0.51.22-r1 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r0, 2.6.11-gentoo-r6 i686) ================================================================= System uname: 2.6.11-gentoo-r6 i686 AMD Athlon(tm) processor Gentoo Base System version 1.6.12 dev-lang/python: 2.3.5, 2.4.1-r1 sys-apps/sandbox: 1.2.9 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.18 virtual/os-headers: 2.6.11-r1 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=athlon-tbird -O3 -ffast-math -funroll-loops -pipe -fomit-frame-pointer -m3dnow" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d" CXXFLAGS="-march=athlon-tbird -O3 -ffast-math -funroll-loops -pipe -m3dnow" DISTDIR="/mnt/1st/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://ftp.snt.utwente.nl/pub/os/linux/gentoo ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo http://www.mirror.ac.uk/sites/www.ibiblio.org/gentoo/" LINGUAS="pl" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dnow X Xaw3d acl acpi alsa apache2 apm arts avi berkdb bitmap-fonts crypt cups dba dga directfb eds emboss encode evo fam fbcon flac flash foomaticdb fortran gd gif gnome gpm gtk gtk2 gtkhtml imagemagick imlib java jikes jpeg kde libg++ libwww mad mikmod mmx motif mozilla mp3 mpeg mule mysql ncurses nls nptl ogg oggvorbis opengl oss pam pdflib perl png postgres python qt quicktime readline samba sdl slang speex spell ssl svga tcltk tcpd tiff tlen truetype truetype-fonts type1-fonts usb video_cards_radeon vorbis wxwindows x86 xface xine xinerama xml xml2 xmms xosd xv zlib linguas_pl userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, PORTDIR_OVERLAY
*** Bug 98061 has been marked as a duplicate of this bug. ***
Sorry, I completely missed that this had already been reported. Just to add what I've found so far: "... The reason for this is turns out was mentioned on their forums but as far as I'm aware has never been reported to them as a solid bug. Currently skype looks for the dbus communication socket in the fixed location /var/run/dbus/system_bus_socket, rather than where gentoo installs it (/var/lib/dbus/system_bus_socket). This means the API isn't available on the default gentoo installation. The best fix would be an upstream one, however a temporary workaround is a symlink which works fine..." It appears however that a reboot will clear out the /var/run/dbus/ directory, so you'll have to recreate the file whenever skype starts up, perhaps a modification of their startup script is in order?
Is this skype bug or gentoo?
Foser: What do you think? I know little about dbus, but if /var/run/dbus/system_bus_socket || /var/lib/dbus/system_bus_socket is some sort of local socket of some kind i guess that /var/run/dbus/system_bus_socket should be the proper place no? Mike: Creating the link with the wrapper script is not possible because we have no way to do it as a normal user, only root can write there.
the socket should probably placed in the /var/run path alright.
the socket got now placed in the /var/run/dbus path in dbus-0.23.4-r1
foser: You need to add a dodir /var/run/${PN} to dbus. sam ~ # /etc/init.d/dbus start * Re-caching dependency info (mtimes differ)... * Starting D-BUS system messagebus ... Failed to start message bus: Failed to bind socket "/var/run/dbus/system_bus_socket": No such file or directory [ !! ] sam ~ # mkdir /var/run/dbus sam ~ # /etc/init.d/dbus start * Starting D-BUS system messagebus ... [ ok ]
it does a keepdir there already
This is for quite an old version of skype, and the latest verison of skype only supports dbus-0.23.4 to actually do any message passing, whilst the latest stable version of dbus in portage is much higher. I'd recommend setting this to LATER or UPSTREAM, or even FIXED since it appears that version did have the location of the socket fixed to work with skype...
Long time fixed