PulseAudio support on Solaris

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2011/10/17 Brian Cameron <brian.cameron at oracle.com>:
> I found this issue when I try to build PA clients. ?For example, when
> PulseAudio tries to build pactl, I see these errors. ?I see similar
> errors trying to build any PA client:
>
> Undefined ? ? ? ? ? ? ? ? ? ? ? first referenced
> ?symbol ? ? ? ? ? ? ? ? ? ? ? ? ? ? in file
> pa_object_unref
> /home/brianca/packages/BUILD/SUNWpulseaudio-1.0/amd64/pulseaudio-1.0/src/.libs/libpulsecommon-1.0.so
> pa_sink_input_type_id
> /home/brianca/packages/BUILD/SUNWpulseaudio-1.0/amd64/pulseaudio-1.0/src/.libs/libpulsecommon-1.0.so
> pa_object_type_id
> /home/brianca/packages/BUILD/SUNWpulseaudio-1.0/amd64/pulseaudio-1.0/src/.libs/libpulsecommon-1.0.so
> pa_msgobject_type_id
> /home/brianca/packages/BUILD/SUNWpulseaudio-1.0/amd64/pulseaudio-1.0/src/.libs/libpulsecommon-1.0.so
> pa_source_output_type_id
> /home/brianca/packages/BUILD/SUNWpulseaudio-1.0/amd64/pulseaudio-1.0/src/.libs/libpulsecommon-1.0.so
> pa_object_ref
> /home/brianca/packages/BUILD/SUNWpulseaudio-1.0/amd64/pulseaudio-1.0/src/.libs/libpulsecommon-1.0.so
> pa_sink_type_id
> /home/brianca/packages/BUILD/SUNWpulseaudio-1.0/amd64/pulseaudio-1.0/src/.libs/libpulsecommon-1.0.so
> pa_source_type_id
> /home/brianca/packages/BUILD/SUNWpulseaudio-1.0/amd64/pulseaudio-1.0/src/.libs/libpulsecommon-1.0.so
> pa_core_type_id
> /home/brianca/packages/BUILD/SUNWpulseaudio-1.0/amd64/pulseaudio-1.0/src/.libs/libpulsecommon-1.0.so
> ld: fatal: symbol referencing errors. No output written to .libs/pacat
>
> I found that using the attached patch which causes PA clients to link
> against libpulsecore fixes this problem. ?Now that I am looking at this
> more closely, I suspect the problem is that PA clients are including
> header files that define functions that are not included in the clients.

I audited the utils and tests and the following programs where your
patch adds libpulsecore only use functionality from libpulse and
libpulsecommon:
pacat, pactl, pasuspender, pacmd, pax11publish, mainloop-test, voltest
libpulsecore should not be added for these, because they don't use
functionality from that library. Your output log from above suggests
that something in libpulsecommon uses functionality from
pulsecore/object.[ch], so those files should probably be moved to from
libpulsecore to libpulsecommon. Does that fix linking on Solaris?

The rest of the utils only use public libpulse headers, so for these
libpulsecommon should even be removed from the linker line.
get-binary-name, pacat-simple, parec-simple, extended-test,
channelmap-test, sync-playback, gtk-test, connect-stress

Maarten


[Index of Archives]     [Linux Audio Users]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux