I've already discussed this with a few members of the community, but I would like to raise it with a wider FreeSWITCH audience. Since upgrading to libtool 2.2.6a (now the default in debian testing), I can't successfully link mod_portaudio.so. The system is Debian Testing, x86_64 architecture. ldd -d mod_portaudio.so returns the following (after listing the library dependencies): undefined symbol: snd_config (./mod_portaudio.so) snd_config is from the Alsa library, libasound. mod_portaudio.la shows a reference to /usr/lib/libasound.la, all of which looks correct. I have also examined the build logs, without finding the problem, as there are no errors reported during linking and I didn't find any linker invocations with library parameters apparently missing. The ldd -d output: undefined symbol: snd_config (./mod_portaudio.so) linux-vdso.so.1 => (0x00007fffd31ff000) libm.so.6 => /lib/libm.so.6 (0x00007f0ccacf7000) libfreeswitch.so.1 => /opt/freeswitch/lib/libfreeswitch.so.1 (0x00007f0c ca8c6000) libpthread.so.0 => /lib/libpthread.so.0 (0x00007f0cca6aa000) libc.so.6 => /lib/libc.so.6 (0x00007f0cca357000) libncurses.so.5 => /lib/libncurses.so.5 (0x00007f0cca118000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f0cc9e08000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f0cc9bed000) libodbc.so.1 => /usr/lib/libodbc.so.1 (0x00007f0cc998d000) /lib64/ld-linux-x86-64.so.2 (0x00007f0ccb1d1000) libdl.so.2 => /lib/libdl.so.2 (0x00007f0cc9788000) libltdl.so.7 => /usr/lib/libltdl.so.7 (0x00007f0cc957f000) I spent several hours yesterday trying to debug this one. Any suggestions would be welcome. At this stage, I'm not sure whether it's a FreeSWITCH problem or a bug in libtool, or elsewhere.
With apologies for the incorrect address in the header, if you reply to this follow-up instead of the original message we should be fine for the remainder of the thread.
I can report that this problem (the failure of mod_portaudio.so to be linked properly) still persists as of revision 13970. The operating system is Debian Testing, and the difficulty began after upgrading from Libtool 1 to Libtool 2.2.6a. If anyone else can reproduce this or suggest a means of tracking down the cause, this would be much appreciated. The result of running ldd -r on mod_portaudio.so is as follows. It shows that most of the undefined symbols are from the Alsa library. I have also searched my build logs, (even with VERBOSE=1) but without locating any output that seems suspect. linux-vdso.so.1 => (0x00007fff279ff000) libm.so.6 => /lib/libm.so.6 (0x00007f261f415000) libfreeswitch.so.1 => /opt/freeswitch/lib/libfreeswitch.so.1 (0x00007f261efd5000) libpthread.so.0 => /lib/libpthread.so.0 (0x00007f261edb9000) libc.so.6 => /lib/libc.so.6 (0x00007f261ea66000) libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0x00007f261e814000) libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0x00007f261e473000) libncurses.so.5 => /lib/libncurses.so.5 (0x00007f261e234000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f261df25000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f261dd09000) libodbc.so.1 => /usr/lib/libodbc.so.1 (0x00007f261daa9000) /lib64/ld-linux-x86-64.so.2 (0x00007f261f8ee000) libdl.so.2 => /lib/libdl.so.2 (0x00007f261d8a5000) libz.so.1 => /usr/lib/libz.so.1 (0x00007f261d68d000) libltdl.so.7 => /usr/lib/libltdl.so.7 (0x00007f261d484000) undefined symbol: crypt_r (/opt/freeswitch/lib/libfreeswitch.so.1) undefined symbol: clock_gettime (/opt/freeswitch/lib/libfreeswitch.so.1) undefined symbol: snd_config (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_get_period_size_min (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_set_channels (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_set_period_size_near (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_set_rate_near (./mod_portaudio.so) undefined symbol: clock_gettime (./mod_portaudio.so) undefined symbol: snd_pcm_poll_descriptors_revents (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_set_access (./mod_portaudio.so) undefined symbol: snd_pcm_format_size (./mod_portaudio.so) undefined symbol: snd_strerror (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_set_periods_min (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_set_rate (./mod_portaudio.so) undefined symbol: snd_pcm_info_set_device (./mod_portaudio.so) undefined symbol: snd_pcm_status (./mod_portaudio.so) undefined symbol: snd_pcm_close (./mod_portaudio.so) undefined symbol: snd_lib_error_set_handler (./mod_portaudio.so) undefined symbol: snd_config_get_id (./mod_portaudio.so) undefined symbol: snd_pcm_avail_update (./mod_portaudio.so) undefined symbol: snd_pcm_info_set_subdevice (./mod_portaudio.so) undefined symbol: snd_pcm_area_copy (./mod_portaudio.so) undefined symbol: snd_pcm_state (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_get_channels_min (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_set_period_size (./mod_portaudio.so) undefined symbol: snd_pcm_info_get_card (./mod_portaudio.so) undefined symbol: snd_pcm_poll_descriptors_count (./mod_portaudio.so) undefined symbol: snd_ctl_open (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_get_buffer_size_min (./mod_portaudio.so) undefined symbol: snd_config_update (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_get_channels_max (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_test_format (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_get_buffer_size_max (./mod_portaudio.so) undefined symbol: snd_ctl_card_info_get_name (./mod_portaudio.so) undefined symbol: snd_pcm_status_sizeof (./mod_portaudio.so) undefined symbol: snd_pcm_delay (./mod_portaudio.so) undefined symbol: snd_pcm_drain (./mod_portaudio.so) undefined symbol: snd_pcm_status_get_tstamp (./mod_portaudio.so) undefined symbol: snd_pcm_start (./mod_portaudio.so) undefined symbol: snd_pcm_open (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_set_periods_integer (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_test_access (./mod_portaudio.so) undefined symbol: snd_pcm_sw_params_set_silence_threshold (./mod_portaudio.so) undefined symbol: snd_pcm_areas_silence (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_set_format (./mod_portaudio.so) undefined symbol: snd_ctl_close (./mod_portaudio.so) undefined symbol: snd_pcm_sw_params_set_xfer_align (./mod_portaudio.so) undefined symbol: snd_pcm_mmap_commit (./mod_portaudio.so) undefined symbol: snd_pcm_sw_params_sizeof (./mod_portaudio.so) undefined symbol: snd_config_update_free_global (./mod_portaudio.so) undefined symbol: snd_pcm_mmap_begin (./mod_portaudio.so) undefined symbol: snd_ctl_card_info (./mod_portaudio.so) undefined symbol: snd_pcm_sw_params_get_boundary (./mod_portaudio.so) undefined symbol: snd_ctl_pcm_next_device (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_get_periods_max (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params (./mod_portaudio.so) undefined symbol: snd_config_get_string (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_any (./mod_portaudio.so) undefined symbol: snd_pcm_status_get_state (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_test_period_size (./mod_portaudio.so) undefined symbol: snd_pcm_sw_params_current (./mod_portaudio.so) undefined symbol: snd_pcm_link (./mod_portaudio.so) undefined symbol: snd_config_iterator_entry (./mod_portaudio.so) undefined symbol: snd_pcm_poll_descriptors (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_set_buffer_size_near (./mod_portaudio.so) undefined symbol: snd_pcm_info_sizeof (./mod_portaudio.so) undefined symbol: snd_ctl_pcm_info (./mod_portaudio.so) undefined symbol: snd_pcm_nonblock (./mod_portaudio.so) undefined symbol: snd_config_search (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_get_rate_numden (./mod_portaudio.so) undefined symbol: snd_ctl_card_info_sizeof (./mod_portaudio.so) undefined symbol: snd_pcm_drop (./mod_portaudio.so) undefined symbol: snd_config_iterator_end (./mod_portaudio.so) undefined symbol: snd_config_iterator_next (./mod_portaudio.so) undefined symbol: snd_pcm_sw_params_set_start_threshold (./mod_portaudio.so) undefined symbol: snd_pcm_status_get_trigger_tstamp (./mod_portaudio.so) undefined symbol: snd_pcm_info_set_stream (./mod_portaudio.so) undefined symbol: snd_pcm_info (./mod_portaudio.so) undefined symbol: snd_config_iterator_first (./mod_portaudio.so) undefined symbol: snd_pcm_sw_params_set_stop_threshold (./mod_portaudio.so) undefined symbol: snd_card_next (./mod_portaudio.so) undefined symbol: snd_pcm_sw_params_set_silence_size (./mod_portaudio.so) undefined symbol: snd_pcm_status_get_delay (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_get_buffer_size (./mod_portaudio.so) undefined symbol: snd_pcm_sw_params_set_avail_min (./mod_portaudio.so) undefined symbol: snd_pcm_info_get_name (./mod_portaudio.so) undefined symbol: snd_pcm_sw_params (./mod_portaudio.so) undefined symbol: snd_pcm_prepare (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_sizeof (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_get_period_size_max (./mod_portaudio.so) undefined symbol: snd_pcm_sw_params_set_tstamp_mode (./mod_portaudio.so)
Did you make bootstrap.sh and configure before compilation? We have no issues on Ubuntu 9.04 (libtool 2.2.6a). Regards, Tamas Jason White írta:
I can report that this problem (the failure of mod_portaudio.so to be linked properly) still persists as of revision 13970.
The operating system is Debian Testing, and the difficulty began after upgrading from Libtool 1 to Libtool 2.2.6a.
If anyone else can reproduce this or suggest a means of tracking down the cause, this would be much appreciated.
The result of running ldd -r on mod_portaudio.so is as follows. It shows that most of the undefined symbols are from the Alsa library.
I have also searched my build logs, (even with VERBOSE=1) but without locating any output that seems suspect.
linux-vdso.so.1 => (0x00007fff279ff000) libm.so.6 => /lib/libm.so.6 (0x00007f261f415000) libfreeswitch.so.1 => /opt/freeswitch/lib/libfreeswitch.so.1 (0x00007f261efd5000) libpthread.so.0 => /lib/libpthread.so.0 (0x00007f261edb9000) libc.so.6 => /lib/libc.so.6 (0x00007f261ea66000) libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0x00007f261e814000) libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0x00007f261e473000) libncurses.so.5 => /lib/libncurses.so.5 (0x00007f261e234000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f261df25000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f261dd09000) libodbc.so.1 => /usr/lib/libodbc.so.1 (0x00007f261daa9000) /lib64/ld-linux-x86-64.so.2 (0x00007f261f8ee000) libdl.so.2 => /lib/libdl.so.2 (0x00007f261d8a5000) libz.so.1 => /usr/lib/libz.so.1 (0x00007f261d68d000) libltdl.so.7 => /usr/lib/libltdl.so.7 (0x00007f261d484000) undefined symbol: crypt_r (/opt/freeswitch/lib/libfreeswitch.so.1) undefined symbol: clock_gettime (/opt/freeswitch/lib/libfreeswitch.so.1) undefined symbol: snd_config (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_get_period_size_min (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_set_channels (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_set_period_size_near (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_set_rate_near (./mod_portaudio.so) undefined symbol: clock_gettime (./mod_portaudio.so) undefined symbol: snd_pcm_poll_descriptors_revents (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_set_access (./mod_portaudio.so) undefined symbol: snd_pcm_format_size (./mod_portaudio.so) undefined symbol: snd_strerror (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_set_periods_min (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_set_rate (./mod_portaudio.so) undefined symbol: snd_pcm_info_set_device (./mod_portaudio.so) undefined symbol: snd_pcm_status (./mod_portaudio.so) undefined symbol: snd_pcm_close (./mod_portaudio.so) undefined symbol: snd_lib_error_set_handler (./mod_portaudio.so) undefined symbol: snd_config_get_id (./mod_portaudio.so) undefined symbol: snd_pcm_avail_update (./mod_portaudio.so) undefined symbol: snd_pcm_info_set_subdevice (./mod_portaudio.so) undefined symbol: snd_pcm_area_copy (./mod_portaudio.so) undefined symbol: snd_pcm_state (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_get_channels_min (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_set_period_size (./mod_portaudio.so) undefined symbol: snd_pcm_info_get_card (./mod_portaudio.so) undefined symbol: snd_pcm_poll_descriptors_count (./mod_portaudio.so) undefined symbol: snd_ctl_open (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_get_buffer_size_min (./mod_portaudio.so) undefined symbol: snd_config_update (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_get_channels_max (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_test_format (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_get_buffer_size_max (./mod_portaudio.so) undefined symbol: snd_ctl_card_info_get_name (./mod_portaudio.so) undefined symbol: snd_pcm_status_sizeof (./mod_portaudio.so) undefined symbol: snd_pcm_delay (./mod_portaudio.so) undefined symbol: snd_pcm_drain (./mod_portaudio.so) undefined symbol: snd_pcm_status_get_tstamp (./mod_portaudio.so) undefined symbol: snd_pcm_start (./mod_portaudio.so) undefined symbol: snd_pcm_open (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_set_periods_integer (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_test_access (./mod_portaudio.so) undefined symbol: snd_pcm_sw_params_set_silence_threshold (./mod_portaudio.so) undefined symbol: snd_pcm_areas_silence (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_set_format (./mod_portaudio.so) undefined symbol: snd_ctl_close (./mod_portaudio.so) undefined symbol: snd_pcm_sw_params_set_xfer_align (./mod_portaudio.so) undefined symbol: snd_pcm_mmap_commit (./mod_portaudio.so) undefined symbol: snd_pcm_sw_params_sizeof (./mod_portaudio.so) undefined symbol: snd_config_update_free_global (./mod_portaudio.so) undefined symbol: snd_pcm_mmap_begin (./mod_portaudio.so) undefined symbol: snd_ctl_card_info (./mod_portaudio.so) undefined symbol: snd_pcm_sw_params_get_boundary (./mod_portaudio.so) undefined symbol: snd_ctl_pcm_next_device (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_get_periods_max (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params (./mod_portaudio.so) undefined symbol: snd_config_get_string (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_any (./mod_portaudio.so) undefined symbol: snd_pcm_status_get_state (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_test_period_size (./mod_portaudio.so) undefined symbol: snd_pcm_sw_params_current (./mod_portaudio.so) undefined symbol: snd_pcm_link (./mod_portaudio.so) undefined symbol: snd_config_iterator_entry (./mod_portaudio.so) undefined symbol: snd_pcm_poll_descriptors (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_set_buffer_size_near (./mod_portaudio.so) undefined symbol: snd_pcm_info_sizeof (./mod_portaudio.so) undefined symbol: snd_ctl_pcm_info (./mod_portaudio.so) undefined symbol: snd_pcm_nonblock (./mod_portaudio.so) undefined symbol: snd_config_search (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_get_rate_numden (./mod_portaudio.so) undefined symbol: snd_ctl_card_info_sizeof (./mod_portaudio.so) undefined symbol: snd_pcm_drop (./mod_portaudio.so) undefined symbol: snd_config_iterator_end (./mod_portaudio.so) undefined symbol: snd_config_iterator_next (./mod_portaudio.so) undefined symbol: snd_pcm_sw_params_set_start_threshold (./mod_portaudio.so) undefined symbol: snd_pcm_status_get_trigger_tstamp (./mod_portaudio.so) undefined symbol: snd_pcm_info_set_stream (./mod_portaudio.so) undefined symbol: snd_pcm_info (./mod_portaudio.so) undefined symbol: snd_config_iterator_first (./mod_portaudio.so) undefined symbol: snd_pcm_sw_params_set_stop_threshold (./mod_portaudio.so) undefined symbol: snd_card_next (./mod_portaudio.so) undefined symbol: snd_pcm_sw_params_set_silence_size (./mod_portaudio.so) undefined symbol: snd_pcm_status_get_delay (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_get_buffer_size (./mod_portaudio.so) undefined symbol: snd_pcm_sw_params_set_avail_min (./mod_portaudio.so) undefined symbol: snd_pcm_info_get_name (./mod_portaudio.so) undefined symbol: snd_pcm_sw_params (./mod_portaudio.so) undefined symbol: snd_pcm_prepare (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_sizeof (./mod_portaudio.so) undefined symbol: snd_pcm_hw_params_get_period_size_max (./mod_portaudio.so) undefined symbol: snd_pcm_sw_params_set_tstamp_mode (./mod_portaudio.so)
_______________________________________________ Freeswitch-users mailing list Freeswitch-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Tamas <jalsot@gmail.com> wrote:
Did you make bootstrap.sh and configure before compilation?
Yes. This was a clean export from svn, built by running the Debian debuild tool, as in svn export to a temporary directory, followed by debuild (after changing the version number to make the package version unique).
what are the error messages? /b On Fri, Jun 26, 2009 at 7:05 PM, Jason White <jason@jasonjgw.net> wrote:
Tamas <jalsot@gmail.com> wrote:
Did you make bootstrap.sh and configure before compilation?
Yes. This was a clean export from svn, built by running the Debian debuild tool, as in
svn export to a temporary directory, followed by debuild (after changing the version number to make the package version unique).
_______________________________________________ Freeswitch-users mailing list Freeswitch-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Sorry - I misread the question. The error is: freeswitch@default> load mod_portaudio -ERR [module load file routine returned an error] 2009-06-27 12:30:00.740316 [CRIT] switch_loadable_module.c:871 Error Loading mod ule /opt/freeswitch/mod/mod_portaudio.so **/opt/freeswitch/mod/mod_portaudio.so: undefined symbol: snd_config** freeswitch@default> There is no error during the building.
As a further note on this subject, temporarily downgrading to libtool 1.5.26 and rebuilding FreeSWITCH gave me a working mod_portaudio.so module. Obviously this doesn't solve the problem, but it does prove that, as suspected, the migration to libtool 2.2.6a was the cause. Any suggestions on how to track down the build system bug would be welcome.
participants (3)
-
Brian West
-
Jason White
-
Tamas