[pulseaudio-discuss] pactl list & Gst-launch returns Connection refust

Colin Guthrie gmane at colin.guthr.ie
Fri Nov 12 01:11:24 PST 2010


Hi,

For future reference please use plain text emails rather than HTML
formatted ones. Everyone will thank you for it :)

'Twas brillig, and Shrinivas Tekale at 12/11/10 06:21 did gyre and gimble:
> I am trying to run pulseaudio on my ubuntu machine using the pulseaudio
> source code.
> 
> It was successfully compiled using the following command :
> 
> ./configure --prefix=/usr --enable-alsa --enable-glib --enable-gtk
> --enable-avahi --enable-gconf --enable-bluez --enable-openssl

Where did you get the source from? I recommend the git stable-queue
branch...


> *Output : *
> **************************************************************************************************************
>   prefix:                        /usr
>     sysconfdir:                    ${prefix}/etc
>     localstatedir:                 ${prefix}/var
>     System Runtime Path:           ${prefix}/var/run/pulse
>     System State Path:             ${prefix}/var/lib/pulse
>     System Config Path:            ${prefix}/var/lib/pulse
>     Compiler:                      gcc -std=gnu99
>     CFLAGS:                        -g -O2 -Wall -W -Wextra -pipe
> -Wno-long-long -Winline -Wvla -Wno-overlength-strings
> -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op
> -Wsign-compare -Wformat-security -Wmissing-include-dirs
> -Wformat-nonliteral -Wold-style-definition -Wpointer-arith -Winit-self
> -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes
> -Wstrict-prototypes -Wredundant-decls -Wmissing-declarations
> -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align
> -Wstrict-aliasing=2 -Wwrite-strings -Wno-unused-parameter -ffast-math
> -Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option
> 
>     Have X11:                      no

I'd strongly recommend ensuring you have the X11 development packages
installed to get X11 support. It's needed for seamless piggy backing on
to SSH connections via X11 forwarding.

>     Enable OSS Output:             yes
>     Enable OSS Wrapper:            yes
>     Enable Alsa:                   yes
>     Enable Solaris:                no
>     Enable GLib 2.0:               yes
>     Enable Gtk+ 2.0:               yes
>     Enable GConf:                  yes
>     Enable Avahi:                  yes
>     Enable Jack:                   no
>     Enable Async DNS:              no
>     Enable LIRC:                   no
>     Enable HAL:                    no
>     Enable udev:                   no

You really, really, really want HAL or udev support. I strongly
recommend udev. Make sure you have the udev development packages installed.

>     Enable HAL->udev compat:       no
>     Enable BlueZ:                  yes
>     Enable TCP Wrappers:           no
>     Enable libsamplerate:          no
>     Enable IPv6:                   yes
>     Enable OpenSSL (for Airtunes): yes
>     Enable tdb:                    no
>     Enable gdbm:                   no
>     Enable simple database:        yes
> 
>     System User:                   pulse
>     System Group:                  pulse
>     Access Group:                  pulse-access
>     Enable per-user EsounD socket: yes
>     Force preopen:                 no
>     Preopened modules:             all
> **************************************************************************************************************
> 
> 
> make & make install also were successful without errors.
> 
> 
> After that I run PulseAudio using the following command : *
> /usr/bin/pulseaudio -vv*
> 
> *Output:
> *I: main.c: setrlimit(RLIMIT_NICE, (31, 31)) failed: Operation not permitted
> I: main.c: setrlimit(RLIMIT_RTPRIO, (9, 9)) failed: Operation not permitted
> D: core-rtclock.c: Timer slack is set to 50 us.
> D: core-util.c: RealtimeKit worked.
> I: core-util.c: Successfully gained nice level -11.
> I: main.c: This is PulseAudio 0.9.21-63-gd3efa-dirty
> D: main.c: Compilation host: i486-pc-linux-gnu
> D: main.c: Compilation CFLAGS: -g -O2 -g -Wall -O3 -Wall -W -Wextra
> -pipe -Wno-long-long -Winline -Wvla -Wno-overlength-strings
> -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op
> -Wsign-compare -Wformat-security -Wmissing-include-dirs
> -Wformat-nonliteral -Wold-style-definition -Wpointer-arith -Winit-self
> -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes
> -Wstrict-prototypes -Wredundant-decls -Wmissing-declarations
> -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align
> -Wstrict-aliasing=2 -Wwrite-strings -Wno-unused-parameter -ffast-math
> -Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option
> D: main.c: Running on host: Linux i686 2.6.32-21-generic #32-Ubuntu SMP
> Fri Apr 16 08:10:02 UTC 2010
> D: main.c: Found 2 CPUs.
> I: main.c: Page size is 4096 bytes
> D: main.c: Compiled with Valgrind support: no
> D: main.c: Running in valgrind mode: no
> D: main.c: Running in VM: no
> D: main.c: Optimized build: yes
> D: main.c: All asserts enabled.
> I: main.c: Machine ID is tmpb46.
> I: main.c: Session ID is
> b5bfdf9e1262010fe9fed0694bd54a5f-1289284879.133146-704214938.
> I: main.c: Using runtime directory /home/shrinivas/.pulse/tmpb46-runtime.
> I: main.c: Using state directory /home/shrinivas/.pulse.
> I: main.c: Using modules directory /usr/lib/pulse-0.9.21/modules.
> I: main.c: Running in system mode: no
> W: pid.c: Stale PID file, overwriting.
> I: main.c: Fresh high-resolution timers available! Bon appetit!
> I: cpu-x86.c: CPU flags: CMOV MMX SSE SSE2 SSE3 SSSE3
> I: svolume_mmx.c: Initialising MMX optimized functions.
> I: remap_mmx.c: Initialising MMX optimized remappers.
> I: svolume_sse.c: Initialising SSE2 optimized functions.
> I: remap_sse.c: Initialising SSE2 optimized remappers.
> I: sconv_sse.c: Initialising SSE2 optimized conversions.
> D: memblock.c: Using shared memory pool with 1024 slots of size 64.0 KiB
> each, total size is 64.0 MiB, maximum usable slot size is 65496
> D: database-tdb.c: Opened TDB database
> '/home/shrinivas/.pulse/tmpb46-device-volumes.tdb'
> I: module-device-restore.c: Sucessfully opened database file
> '/home/shrinivas/.pulse/tmpb46-device-volumes'.
> I: module.c: Loaded "module-device-restore" (index: #0; argument: "").
> D: database-tdb.c: Opened TDB database
> '/home/shrinivas/.pulse/tmpb46-stream-volumes.tdb'
> I: module-stream-restore.c: Sucessfully opened database file
> '/home/shrinivas/.pulse/tmpb46-stream-volumes'.
> I: module.c: Loaded "module-stream-restore" (index: #1; argument: "").
> D: database-tdb.c: Opened TDB database
> '/home/shrinivas/.pulse/tmpb46-card-database.tdb'
> I: module-card-restore.c: Sucessfully opened database file
> '/home/shrinivas/.pulse/tmpb46-card-database'.
> I: module.c: Loaded "module-card-restore" (index: #2; argument: "").
> I: module.c: Loaded "module-augment-properties" (index: #3; argument: "").
> D: cli-command.c: Checking for existance of
> '/usr/lib/pulse-0.9.21/modules/module-udev-detect.so': success
> D: module-udev-detect.c: /dev/snd/controlC0 is accessible: yes
> D: module-udev-detect.c: /devices/pci0000:00/0000:00:1b.0/sound/card0 is
> busy: yes
> I: module-udev-detect.c: Found 1 cards.
> I: module.c: Loaded "module-udev-detect" (index: #4; argument: "").
> D: cli-command.c: Checking for existance of
> '/usr/lib/pulse-0.9.21/modules/module-bluetooth-discover.so': success
> D: dbus-util.c: Successfully connected to D-Bus system bus
> f0c863a8ddcb6eae25718e494cd8ecf9 as :1.125
> D: bluetooth-util.c: dbus: interface=org.freedesktop.DBus,
> path=/org/freedesktop/DBus, member=NameAcquired
> D: bluetooth-util.c: Bluetooth daemon is apparently not available.
> I: module.c: Loaded "module-bluetooth-discover" (index: #5; argument: "").
> D: cli-command.c: Checking for existance of
> '/usr/lib/pulse-0.9.21/modules/module-esound-protocol-unix.so': success
> I: module.c: Loaded "module-esound-protocol-unix" (index: #6; argument: "").
> I: module.c: Loaded "module-native-protocol-unix" (index: #7; argument: "").
> D: cli-command.c: Checking for existance of
> '/usr/lib/pulse-0.9.21/modules/module-gconf.so': success
> I: module.c: Loaded "module-gconf" (index: #8; argument: "").
> I: module-default-device-restore.c: Saved default sink 'auto_null' not
> existant, not restoring default sink setting.
> I: module-default-device-restore.c: Saved default source
> 'auto_null.monitor' not existant, not restoring default source setting.
> I: module.c: Loaded "module-default-device-restore" (index: #9;
> argument: "").
> I: module.c: Loaded "module-rescue-streams" (index: #10; argument: "").
> D: module-always-sink.c: Autoloading null-sink as no other sinks detected.
> I: sink.c: Created sink 0 "auto_null" with sample spec s16le 2ch 44100Hz
> and channel map front-left,front-right
> I: sink.c:     device.description = "Dummy Output"
> I: sink.c:     device.class = "abstract"
> I: sink.c:     device.icon_name = "audio-card"
> D: core-subscribe.c: Dropped redundant event due to change event.
> I: source.c: Created source 0 "auto_null.monitor" with sample spec s16le
> 2ch 44100Hz and channel map front-left,front-right
> I: source.c:     device.description = "Monitor of Dummy Output"
> I: source.c:     device.class = "monitor"
> I: source.c:     device.icon_name = "audio-input-microphone"
> D: module-null-sink.c: Thread starting up
> I: module.c: Loaded "module-null-sink" (index: #11; argument:
> "sink_name=auto_null sink_properties='device.description="Dummy Output"'").
> I: module.c: Loaded "module-always-sink" (index: #12; argument: "").
> I: module.c: Loaded "module-intended-roles" (index: #13; argument: "").
> D: module-suspend-on-idle.c: Sink auto_null becomes idle, timeout in 5
> seconds.
> I: module.c: Loaded "module-suspend-on-idle" (index: #14; argument: "").
> I: client.c: Created 0 "ConsoleKit Session
> /org/freedesktop/ConsoleKit/Session2"
> D: module-console-kit.c: Added new session
> /org/freedesktop/ConsoleKit/Session2
> I: module.c: Loaded "module-console-kit" (index: #15; argument: "").
> I: module.c: Loaded "module-position-event-sounds" (index: #16;
> argument: "").
> D: dbus-util.c: Successfully connected to D-Bus session bus
> efaddbad81d4fb7c7a982bcb4cd8ed0f as :1.384
> D: main.c: Got org.pulseaudio.Server!
> *I: main.c: Daemon startup complete.*
> D: core-subscribe.c: Dropped redundant event due to change event.
> I: module-suspend-on-idle.c: Sink auto_null idle for too long,
> suspending ...
> D: sink.c: Suspend cause of sink auto_null is 0x0004, suspending
> **************************************************************************************************************
> 
> But gst-launch pactl list are returning connection refused.

Well, you presumably nuked you're installed version in /usr that was
installed from the Ubuntu packages. I really cannot recommend *ever*
building any package from source and then installing it into a prefix
(in this case /usr) that is used by packages on your system.

I always install into my own prefix (e.g. /home/colin/padev), or simply
do not install at all in some cases and run directly from the build tree.

As your configure did not include certain optional extras, chances are
you're using hybrid of your self built PA + some left over modules from
the system one (unless you totally removed the system one but that would
be quite tricky due to all the dependencies on libpulse.


There are several other issues at play here too:

 * the runtime path is /home/shrinivas/.pulse/tmpb46-runtim

The tmpb46 is presumably your hostname. We only use this when we cannot
get the dbus machine id. I suspect there is a problem with you dbus
support - perhaps it wasn't compiled in either? It's not mentioned in
the configure summary which makes me think that you have not use
stable-queue which IIRC does display whether dbus support is included or
not.

I suspect that the fact the daemon is using this runtime patch is
indicative that your build is using a different libpulse to the rest of
the applications on your system. I actually suspect that you now have
two libpulse's, one without dbus support (your one) and one with (the
system one). As a result the system apps like gst etc. are triyning to
use a different runtime path.

Do ldd /usr/bin/pulseaudio. I suspect you'll have a line regarding
libpulse in there than that it'll have the word "UNKNOWN" in it... twice
(either relating to libpulse or libpulsecommon).

All of this is largely irrelevant however, because as you can see from
your daemon output, it's not found any audio devices (likely because you
do not have udev support) and thus it's created an "auto null" sink. So
even if you could connect, you wouldn't be able to hear anything anyway.


 * Your PA version is: 0.9.21-63-gd3efa-dirty

IIRC (and I'm not an Ubuntu user so forgive me if this is bogus) but
this is the same version that Ubuntu uses. It's relatively old now (the
number 63 should be somewhere around 190 odd in stable-queue these days
if I'm interpreting git-version-gen correctly. Again I'd recommend
stable-queue branch.


Can I ask what you are hoping to achieve by installing your own version
and not using the Ubuntu packages?

I'm afraid you'll have to unpick your install and restore the packaged
version before going much further. Like I say mixing and matching
self-compiled and system-packaged files is almost always a really bad idea.

Clean things out, reinstall pulseaudio from packages and if you really
do need to build PA from source, then either run it from the build
directoy or use your own prefix safely away from the system. You'll need
to set a couple env vars to run it but that is a minor inconvenience at
best for system stability!

See here for some more info:
http://colin.guthr.ie/2010/09/compiling-and-running-pulseaudio-from-git/

HTHs

Col





-- 

Colin Guthrie
gmane(at)colin.guthr.ie
http://colin.guthr.ie/

Day Job:
  Tribalogic Limited [http://www.tribalogic.net/]
Open Source:
  Mageia Contributor [http://www.mageia.org/]
  PulseAudio Hacker [http://www.pulseaudio.org/]
  Trac Hacker [http://trac.edgewall.org/]




More information about the pulseaudio-discuss mailing list