FreeRDP/FreeRDP — Issue #418: Not linked with libpulse
Author: dubrsl
Created: 2012-02-11 05:28:41+00:00
State: open

Build with

cmake .. -DCMAKE_SKIP_RPATH:BOOL=yes '-DCMAKE_C_FLAGS:STRING=-pipe -Wall -g -O2 -march=pentium4' '-DCMAKE_CXX_FLAGS:STRING=-pipe -Wall -g -O2 -march=pentium4' '-DCMAKE_Fortran_FLAGS:STRING=-pipe -Wall -g -O2 -march=pentium4' -DCMAKE_INSTALL_PREFIX=/usr -DLIB_DESTINATION=lib -DLIB_SUFFIX= -DWITH_ALSA=ON -DWITH_PULSEAUDIO=ON -DWITH_PCSC=ON -DWITH_CUNIT=ON -DWITH_CUPS=ON -DWITH_FFMPEG=ON -DWITH_X11=ON -DWITH_XKBFILE=ON -DWITH_XINERAMA=ON -DWITH_XEXT=ON -DWITH_XCURSOR=ON -DWITH_XV=ON -DWITH_DIRECTFB=ON -DWITH_XDAMAGE=ON -DWITH_SSE2=ON -DWITH_SSE2_TARGET=ON -DWITH_SERVER=OFF

And get so much warnings from my building system:

verify-elf: WARNING: ./usr/lib/freerdp/audin_pulse.so: undefined symbol: pa_context_unref
verify-elf: WARNING: ./usr/lib/freerdp/audin_pulse.so: undefined symbol: pa_stream_drop
verify-elf: WARNING: ./usr/lib/freerdp/audin_pulse.so: undefined symbol: pa_context_get_state
verify-elf: WARNING: ./usr/lib/freerdp/audin_pulse.so: undefined symbol: pa_stream_get_state
verify-elf: WARNING: ./usr/lib/freerdp/audin_pulse.so: undefined symbol: pa_threaded_mainloop_signal
verify-elf: WARNING: ./usr/lib/freerdp/audin_pulse.so: undefined symbol: pa_stream_peek
verify-elf: WARNING: ./usr/lib/freerdp/audin_pulse.so: undefined symbol: pa_threaded_mainloop_wait
verify-elf: WARNING: ./usr/lib/freerdp/audin_pulse.so: undefined symbol: pa_threaded_mainloop_unlock
verify-elf: WARNING: ./usr/lib/freerdp/audin_pulse.so: undefined symbol: pa_context_new
verify-elf: WARNING: ./usr/lib/freerdp/audin_pulse.so: undefined symbol: pa_usec_to_bytes
verify-elf: WARNING: ./usr/lib/freerdp/audin_pulse.so: undefined symbol: pa_threaded_mainloop_stop
verify-elf: WARNING: ./usr/lib/freerdp/audin_pulse.so: undefined symbol: pa_context_disconnect
verify-elf: WARNING: ./usr/lib/freerdp/audin_pulse.so: undefined symbol: pa_threaded_mainloop_start
verify-elf: WARNING: ./usr/lib/freerdp/audin_pulse.so: undefined symbol: pa_threaded_mainloop_get_api
verify-elf: WARNING: ./usr/lib/freerdp/audin_pulse.so: undefined symbol: pa_frame_size
verify-elf: WARNING: ./usr/lib/freerdp/audin_pulse.so: undefined symbol: pa_context_set_state_callback
verify-elf: WARNING: ./usr/lib/freerdp/audin_pulse.so: undefined symbol: pa_stream_connect_record
verify-elf: WARNING: ./usr/lib/freerdp/audin_pulse.so: undefined symbol: pa_threaded_mainloop_free
verify-elf: WARNING: ./usr/lib/freerdp/audin_pulse.so: undefined symbol: pa_context_errno
verify-elf: WARNING: ./usr/lib/freerdp/audin_pulse.so: undefined symbol: pa_stream_unref
verify-elf: WARNING: ./usr/lib/freerdp/audin_pulse.so: undefined symbol: pa_threaded_mainloop_new
verify-elf: WARNING: ./usr/lib/freerdp/audin_pulse.so: undefined symbol: pa_context_connect
verify-elf: WARNING: ./usr/lib/freerdp/audin_pulse.so: undefined symbol: pa_stream_set_read_callback
verify-elf: WARNING: ./usr/lib/freerdp/audin_pulse.so: undefined symbol: pa_stream_set_state_callback
verify-elf: WARNING: ./usr/lib/freerdp/audin_pulse.so: undefined symbol: pa_stream_new
verify-elf: WARNING: ./usr/lib/freerdp/audin_pulse.so: undefined symbol: pa_stream_disconnect
verify-elf: WARNING: ./usr/lib/freerdp/audin_pulse.so: undefined symbol: pa_threaded_mainloop_lock
verify-elf: WARNING: ./usr/lib/freerdp/tsmf_pulse.so: undefined symbol: pa_stream_writable_size
verify-elf: WARNING: ./usr/lib/freerdp/tsmf_pulse.so: undefined symbol: pa_context_unref
verify-elf: WARNING: ./usr/lib/freerdp/tsmf_pulse.so: undefined symbol: pa_context_get_state
verify-elf: WARNING: ./usr/lib/freerdp/tsmf_pulse.so: undefined symbol: pa_stream_get_state
verify-elf: WARNING: ./usr/lib/freerdp/tsmf_pulse.so: undefined symbol: pa_threaded_mainloop_signal
verify-elf: WARNING: ./usr/lib/freerdp/tsmf_pulse.so: undefined symbol: pa_threaded_mainloop_wait
verify-elf: WARNING: ./usr/lib/freerdp/tsmf_pulse.so: undefined symbol: pa_threaded_mainloop_unlock
verify-elf: WARNING: ./usr/lib/freerdp/tsmf_pulse.so: undefined symbol: pa_context_new
verify-elf: WARNING: ./usr/lib/freerdp/tsmf_pulse.so: undefined symbol: pa_usec_to_bytes
verify-elf: WARNING: ./usr/lib/freerdp/tsmf_pulse.so: undefined symbol: pa_threaded_mainloop_stop
verify-elf: WARNING: ./usr/lib/freerdp/tsmf_pulse.so: undefined symbol: pa_context_disconnect
verify-elf: WARNING: ./usr/lib/freerdp/tsmf_pulse.so: undefined symbol: pa_threaded_mainloop_start
verify-elf: WARNING: ./usr/lib/freerdp/tsmf_pulse.so: undefined symbol: pa_threaded_mainloop_get_api
verify-elf: WARNING: ./usr/lib/freerdp/tsmf_pulse.so: undefined symbol: pa_stream_get_latency
verify-elf: WARNING: ./usr/lib/freerdp/tsmf_pulse.so: undefined symbol: pa_context_set_state_callback
verify-elf: WARNING: ./usr/lib/freerdp/tsmf_pulse.so: undefined symbol: pa_stream_write
verify-elf: WARNING: ./usr/lib/freerdp/tsmf_pulse.so: undefined symbol: pa_stream_connect_playback
verify-elf: WARNING: ./usr/lib/freerdp/tsmf_pulse.so: undefined symbol: pa_stream_drain
verify-elf: WARNING: ./usr/lib/freerdp/tsmf_pulse.so: undefined symbol: pa_threaded_mainloop_free
verify-elf: WARNING: ./usr/lib/freerdp/tsmf_pulse.so: undefined symbol: pa_context_errno
verify-elf: WARNING: ./usr/lib/freerdp/tsmf_pulse.so: undefined symbol: pa_stream_unref
verify-elf: WARNING: ./usr/lib/freerdp/tsmf_pulse.so: undefined symbol: pa_stream_set_write_callback
verify-elf: WARNING: ./usr/lib/freerdp/tsmf_pulse.so: undefined symbol: pa_threaded_mainloop_new
verify-elf: WARNING: ./usr/lib/freerdp/tsmf_pulse.so: undefined symbol: pa_context_connect
verify-elf: WARNING: ./usr/lib/freerdp/tsmf_pulse.so: undefined symbol: pa_stream_flush
verify-elf: WARNING: ./usr/lib/freerdp/tsmf_pulse.so: undefined symbol: pa_operation_unref
verify-elf: WARNING: ./usr/lib/freerdp/tsmf_pulse.so: undefined symbol: pa_operation_get_state
verify-elf: WARNING: ./usr/lib/freerdp/tsmf_pulse.so: undefined symbol: pa_stream_set_state_callback
verify-elf: WARNING: ./usr/lib/freerdp/tsmf_pulse.so: undefined symbol: pa_stream_new
verify-elf: WARNING: ./usr/lib/freerdp/tsmf_pulse.so: undefined symbol: pa_stream_disconnect
verify-elf: WARNING: ./usr/lib/freerdp/tsmf_pulse.so: undefined symbol: pa_threaded_mainloop_lock
verify-elf: WARNING: ./usr/lib/freerdp/rdpsnd_pulse.so: undefined symbol: pa_stream_writable_size
verify-elf: WARNING: ./usr/lib/freerdp/rdpsnd_pulse.so: undefined symbol: pa_context_unref
verify-elf: WARNING: ./usr/lib/freerdp/rdpsnd_pulse.so: undefined symbol: pa_sample_spec_valid
verify-elf: WARNING: ./usr/lib/freerdp/rdpsnd_pulse.so: undefined symbol: pa_context_get_state
verify-elf: WARNING: ./usr/lib/freerdp/rdpsnd_pulse.so: undefined symbol: pa_stream_get_state
verify-elf: WARNING: ./usr/lib/freerdp/rdpsnd_pulse.so: undefined symbol: pa_threaded_mainloop_signal
verify-elf: WARNING: ./usr/lib/freerdp/rdpsnd_pulse.so: undefined symbol: pa_stream_trigger
verify-elf: WARNING: ./usr/lib/freerdp/rdpsnd_pulse.so: undefined symbol: pa_threaded_mainloop_wait
verify-elf: WARNING: ./usr/lib/freerdp/rdpsnd_pulse.so: undefined symbol: pa_threaded_mainloop_unlock
verify-elf: WARNING: ./usr/lib/freerdp/rdpsnd_pulse.so: undefined symbol: pa_context_new
verify-elf: WARNING: ./usr/lib/freerdp/rdpsnd_pulse.so: undefined symbol: pa_usec_to_bytes
verify-elf: WARNING: ./usr/lib/freerdp/rdpsnd_pulse.so: undefined symbol: pa_threaded_mainloop_stop
verify-elf: WARNING: ./usr/lib/freerdp/rdpsnd_pulse.so: undefined symbol: pa_context_disconnect
verify-elf: WARNING: ./usr/lib/freerdp/rdpsnd_pulse.so: undefined symbol: pa_threaded_mainloop_start
verify-elf: WARNING: ./usr/lib/freerdp/rdpsnd_pulse.so: undefined symbol: pa_threaded_mainloop_get_api
verify-elf: WARNING: ./usr/lib/freerdp/rdpsnd_pulse.so: undefined symbol: pa_context_set_state_callback
verify-elf: WARNING: ./usr/lib/freerdp/rdpsnd_pulse.so: undefined symbol: pa_stream_write
verify-elf: WARNING: ./usr/lib/freerdp/rdpsnd_pulse.so: undefined symbol: pa_stream_connect_playback
verify-elf: WARNING: ./usr/lib/freerdp/rdpsnd_pulse.so: undefined symbol: pa_stream_drain
verify-elf: WARNING: ./usr/lib/freerdp/rdpsnd_pulse.so: undefined symbol: pa_threaded_mainloop_free
verify-elf: WARNING: ./usr/lib/freerdp/rdpsnd_pulse.so: undefined symbol: pa_context_errno
verify-elf: WARNING: ./usr/lib/freerdp/rdpsnd_pulse.so: undefined symbol: pa_stream_unref
verify-elf: WARNING: ./usr/lib/freerdp/rdpsnd_pulse.so: undefined symbol: pa_stream_set_write_callback
verify-elf: WARNING: ./usr/lib/freerdp/rdpsnd_pulse.so: undefined symbol: pa_threaded_mainloop_new
verify-elf: WARNING: ./usr/lib/freerdp/rdpsnd_pulse.so: undefined symbol: pa_sample_spec_snprint
verify-elf: WARNING: ./usr/lib/freerdp/rdpsnd_pulse.so: undefined symbol: pa_context_connect
verify-elf: WARNING: ./usr/lib/freerdp/rdpsnd_pulse.so: undefined symbol: pa_operation_unref
verify-elf: WARNING: ./usr/lib/freerdp/rdpsnd_pulse.so: undefined symbol: pa_operation_get_state
verify-elf: WARNING: ./usr/lib/freerdp/rdpsnd_pulse.so: undefined symbol: pa_stream_set_state_callback
verify-elf: WARNING: ./usr/lib/freerdp/rdpsnd_pulse.so: undefined symbol: pa_stream_new
verify-elf: WARNING: ./usr/lib/freerdp/rdpsnd_pulse.so: undefined symbol: pa_stream_disconnect
verify-elf: WARNING: ./usr/lib/freerdp/rdpsnd_pulse.so: undefined symbol: pa_threaded_mainloop_lock

In future when run with rdpsnd plugin get:

loading plugin cliprdr
loading plugin rdpsnd
loading plugin rdpdr
connected to xxx.xxx.xxx.xxx:3389
xfreerdp: symbol lookup error: /usr/lib/freerdp/rdpsnd_pulse.so: undefined symbol: pa_threaded_mainloop_new

For fix use:
find . -type f -name CMakeLists.txt | xargs subst 's|PULSE_LIBRARIES|PULSEAUDIO_LIBRARY|g'