I am linking against libpocketsphinx a simple c program, but when I compile it, I get the following error: pocketsphinx_interaction.cpp:(.text+0xd2c): undefined reference to ps_get_in_speech
Which I find it very strange since I use other pocketsphinx functions like ps_get_hyp or ps_init. So I ran nm -D libpocketsphinx.1.1.0.so from the terminal to find out if this missing function is present or not in the library, and I found out:
000000000000ddd0 T acmod_activate_hmm
000000000000da50 T acmod_advance
000000000000dcf0 T acmod_best_score
000000000000dd90 T acmod_clear_active
000000000000d200 T acmod_end_utt
000000000000bed0 T acmod_feat_mismatch
000000000000be50 T acmod_fe_mismatch
000000000000e090 T acmod_flags2list
000000000000bf20 T acmod_free
000000000000dc90 T acmod_get_frame
000000000000caa0 T acmod_grow_feat_buf
000000000000c050 T acmod_init
000000000000cdd0 T acmod_process_cep
000000000000d5f0 T acmod_process_feat
000000000000d340 T acmod_process_raw
000000000000dbc0 T acmod_read_scores
000000000000d9c0 T acmod_rewind
000000000000e210 T acmod_score
000000000000cd30 T acmod_set_grow
000000000000d770 T acmod_set_insenfh
000000000000ca20 T acmod_set_mfcfh
000000000000ca70 T acmod_set_rawfh
000000000000c9d0 T acmod_set_senfh
000000000000cd70 T acmod_start_utt
000000000000c010 T acmod_update_mllr
000000000000daa0 T acmod_write_scores
000000000000c8d0 T acmod_write_senfh_header
U agc_set_threshold
U agc_type_from_str
U __assert_fail
000000000000f250 T bin_mdef_ciphone_id
0000000000010220 T bin_mdef_ciphone_id_nocase
00000000000102a0 T bin_mdef_ciphone_str
000000000000e370 T bin_mdef_free
0000000000010300 T bin_mdef_phone_id
00000000000104c0 T bin_mdef_phone_id_nearest
0000000000010600 T bin_mdef_phone_str
000000000000f2d0 T bin_mdef_read
000000000000e430 T bin_mdef_read_text
000000000000e360 T bin_mdef_retain
000000000000ea10 T bin_mdef_write
000000000000ed60 T bin_mdef_write_text
U bio_fread
U bio_fread_1d
U bio_hdrarg_free
U bio_readhdr
U bio_verify_chksum
U bio_writehdr
00000000000107e0 T blkarray_list_append
0000000000010a00 T blkarray_list_free
0000000000010720 T _blkarray_list_init
00000000000107d0 T blkarray_list_init
0000000000010910 T blkarray_list_reset
0000000000241d50 B __bss_start
U __ckd_calloc__
U __ckd_calloc_2d__
U __ckd_calloc_3d__
U ckd_free
U ckd_free_2d
U ckd_free_3d
U __ckd_malloc__
U __ckd_realloc__
U __ckd_salloc__
U cmd_ln_exists_r
U cmd_ln_float_r
U cmd_ln_free_r
U cmd_ln_init
U cmd_ln_int_r
U cmd_ln_parse_file_r
U cmd_ln_retain
U cmd_ln_set_int_r
U cmd_ln_set_str_r
U cmd_ln_str_r
U cmn_type_from_str
0000000000011d70 T compress_table
w __cxa_finalize
0000000000011ef0 T dict2pid_add_word
0000000000012300 T dict2pid_build
0000000000012dd0 T dict2pid_dump
0000000000012260 T dict2pid_free
0000000000011e90 T dict2pid_get_rcmap
00000000000121f0 T dict2pid_internal
00000000000122f0 T dict2pid_report
0000000000012250 T dict2pid_retain
0000000000010e70 T dict_add_word
0000000000010a20 T dict_ciphone_str
0000000000010b40 T dict_filler_word
0000000000011430 T dict_free
00000000000114f0 T dict_init
0000000000010bc0 T dict_real_word
0000000000011b00 T dict_report
0000000000011420 T dict_retain
0000000000010e10 T dict_word2basestr
0000000000010ac0 T dict_wordid
0000000000010c50 T dict_write
00000000000202d0 T dump_bptable
0000000000241d50 D _edata
U _E__die_error
U _E__fatal_sys_error
0000000000241d58 B _end
U _E__pr_header
U _E__pr_info
U _E__pr_info_header
U _E__pr_info_header_wofn
U _E__pr_warn
U err_set_debug_level
U _E__sys_error
U fclose
U fclose_comp
U feat_array_alloc
U feat_array_free
U feat_array_realloc
U feat_free
U feat_init
U feat_read_lda
U feat_retain
U feat_s2mfc2feat_live
U feat_set_subvecs
U fe_end_utt
U fe_free
U fe_get_output_size
U fe_init_auto_r
U feof
U fe_process_frames
U fe_retain
U fe_start_utt
U fflush
U fgets
0000000000032c3c T _fini
U fopen
U fopen_compchk
U __fprintf_chk
U fputc
U fread
U __fread_chk
U fseek
U fsg_arciter_get
U fsg_arciter_next
0000000000013970 T fsg_glist_linklist_free
00000000000135d0 T fsg_history_end_frame
0000000000013330 T fsg_history_entry_add
00000000000136a0 T fsg_history_entry_get
00000000000131b0 T fsg_history_free
0000000000013120 T fsg_history_init
00000000000136f0 T fsg_history_n_entries
00000000000137f0 T fsg_history_print
00000000000136e0 T fsg_history_reset
0000000000013280 T fsg_history_set_fsg
00000000000137e0 T fsg_history_utt_end
0000000000013700 T fsg_history_utt_start
00000000000150e0 T fsg_lextree_dump
00000000000138c0 T fsg_lextree_free
0000000000013a00 T fsg_lextree_init
U fsg_model_add_alt
U fsg_model_add_silence
U fsg_model_arcs
U fsg_model_free
U fsg_model_readfile
U fsg_model_trans
U fsg_model_word_add
00000000000139f0 T fsg_pnode_add_all_ctxt
0000000000014e10 T fsg_pnode_ctxt_sub_generic
0000000000014e30 T fsg_psubtree_dump_node
0000000000015150 T fsg_psubtree_pnode_deactivate
0000000000015510 T fsg_search_finish
00000000000153d0 T fsg_search_free
0000000000016cc0 T fsg_search_hyp
00000000000173e0 T fsg_search_init
0000000000015480 T fsg_search_reinit
0000000000015f90 T fsg_search_start
0000000000015930 T fsg_search_step
0000000000016fb0 T fsg_set_add
0000000000016f80 T fsg_set_get_fsg
0000000000017850 T fsg_set_iter
0000000000017880 T fsg_set_iter_free
0000000000017870 T fsg_set_iter_fsg
0000000000017860 T fsg_set_iter_next
00000000000172f0 T fsg_set_remove
0000000000017230 T fsg_set_remove_byname
0000000000017390 T fsg_set_select
U ftell
U fwrite
000000000001b960 T gauden_dist
000000000001b6c0 T gauden_dump
000000000001b450 T gauden_dump_ind
000000000001b900 T gauden_free
000000000001b700 T gauden_init
000000000001bc70 T gauden_mllr_transform
0000000000011e30 T get_rc_nssid
U glist_add_ptr
U glist_free
U glist_insert_ptr
w __gmon_start__
U gnode_free
U hash_table_delete
U hash_table_enter
U hash_table_enter_bkey
U hash_table_free
U hash_table_iter
U hash_table_iter_free
U hash_table_iter_next
U hash_table_lookup
U hash_table_lookup_int32
U hash_table_new
U hash_table_tolist
0000000000018110 T hmm_clear
00000000000180d0 T hmm_clear_scores
0000000000017c60 T hmm_context_free
0000000000017b90 T hmm_context_init
0000000000017c90 T hmm_deinit
0000000000017ca0 T hmm_dump
0000000000018cf0 T hmm_dump_vit_eval
0000000000018200 T hmm_enter
0000000000018170 T hmm_init
0000000000018210 T hmm_normalize
0000000000018260 T hmm_vit_eval
000000000000a4f8 T _init
U __isoc99_fscanf
U __isoc99_sscanf
w _ITM_deregisterTMCloneTable
w _ITM_registerTMCloneTable
U jsgf_build_fsg
U jsgf_get_rule
U jsgf_grammar_free
U jsgf_parse_file
U jsgf_rule_iter
U jsgf_rule_public
w _Jv_RegisterClasses
0000000000028fc0 T latlink_list_new
U lineiter_free
U lineiter_next
U lineiter_start
U listelem_alloc_free
U listelem_alloc_init
U __listelem_free__
U __listelem_malloc__
U log
U logmath_add
U logmath_exp
U logmath_free
U logmath_get_base
U logmath_get_width
U logmath_get_zero
U logmath_init
U logmath_ln_to_log
U logmath_log
U logmath_log_to_ln
U logmath_retain
0000000000019110 T mdef_ciphone_id
0000000000019140 T mdef_ciphone_str
000000000001a970 T mdef_free
000000000001a930 T mdef_free_recursive_lc
000000000001a900 T mdef_free_recursive_rc
0000000000019740 T mdef_init
0000000000019660 T mdef_is_ciphone
00000000000196c0 T mdef_is_cisenone
0000000000019490 T mdef_phone_id
00000000000191b0 T mdef_phone_str
000000000001a880 T mdef_report
U memcpy
U memset
U mmio_file_ptr
U mmio_file_read
U mmio_file_unmap
000000000001c0e0 T ms_cont_mgau_frame_eval
000000000001c070 T ms_mgau_free
000000000001c390 T ms_mgau_init
000000000001c0d0 T ms_mgau_mllr_transform
U ngram_bg_score
000000000001f3a0 T ngram_compute_seg_score
0000000000023d90 T ngram_fwdflat_deinit
00000000000253f0 T ngram_fwdflat_finish
0000000000023c60 T ngram_fwdflat_init
0000000000023e90 T ngram_fwdflat_reinit
0000000000024660 T ngram_fwdflat_search
0000000000023f90 T ngram_fwdflat_start
0000000000022190 T ngram_fwdtree_deinit
00000000000235b0 T ngram_fwdtree_finish
0000000000022130 T ngram_fwdtree_init
00000000000222c0 T ngram_fwdtree_reinit
0000000000022510 T ngram_fwdtree_search
0000000000022340 T ngram_fwdtree_start
U ngram_model_add_word
U ngram_model_flush
U ngram_model_free
U ngram_model_read
U ngram_model_set_init
U ngram_model_set_known_wid
U ngram_model_set_map_words
U ngram_model_set_read
U ngram_model_set_select
U ngram_ng_prob
000000000001ef40 T ngram_search_alloc_all_rc
000000000001edf0 T ngram_search_bp_hyp
000000000001f180 T ngram_search_exit_score
000000000001ecb0 T ngram_search_find_exit
000000000001e0a0 T ngram_search_free
000000000001f100 T ngram_search_free_all_rc
000000000001e2d0 T ngram_search_init
000000000001f4d0 T ngram_search_lattice
000000000001e780 T ngram_search_mark_bptable
000000000001e840 T ngram_search_save_bp
U ngram_tg_score
U ngram_unknown_wid
U ngram_wid
U parse_subvecs
U path_is_absolute
0000000000025de0 T phone_loop_search_init
U __printf_chk
0000000000031b60 T ps_add_word
0000000000025f60 T ps_alignment_add_word
0000000000025f20 T ps_alignment_free
0000000000025ee0 T ps_alignment_init
0000000000026ab0 T ps_alignment_iter_down
0000000000026960 T ps_alignment_iter_free
0000000000026950 T ps_alignment_iter_get
0000000000026970 T ps_alignment_iter_goto
00000000000269b0 T ps_alignment_iter_next
00000000000269f0 T ps_alignment_iter_prev
0000000000026a20 T ps_alignment_iter_up
0000000000026870 T ps_alignment_n_phones
0000000000026880 T ps_alignment_n_states
0000000000026860 T ps_alignment_n_words
00000000000268d0 T ps_alignment_phones
0000000000025fd0 T ps_alignment_populate
00000000000264f0 T ps_alignment_populate_ci
0000000000026770 T ps_alignment_propagate
0000000000026910 T ps_alignment_states
0000000000026890 T ps_alignment_words
0000000000031690 T ps_args
000000000002a1d0 T ps_astar_finish
0000000000029f80 T ps_astar_hyp
0000000000029d90 T ps_astar_next
000000000002a0d0 T ps_astar_seg_iter
0000000000029b80 T ps_astar_start
0000000000032680 T ps_decode_raw
00000000000327a0 T ps_decode_senscr
00000000000323e0 T ps_end_utt
00000000000316b0 T ps_free
0000000000032a70 T ps_get_all_time
00000000000317a0 T ps_get_config
00000000000317c0 T ps_get_fe
00000000000317d0 T ps_get_feat
00000000000318d0 T ps_get_fsgset
0000000000032240 T ps_get_hyp
00000000000322a0 T ps_get_hyp_final
0000000000032820 T ps_get_lattice
00000000000317f0 T ps_get_lmset
00000000000317b0 T ps_get_logmath
00000000000329f0 T ps_get_n_frames
00000000000322e0 T ps_get_prob
0000000000031790 T ps_get_uttid
0000000000032a00 T ps_get_utt_time
0000000000031730 T ps_init
0000000000028c70 T ps_latlink_baseword
0000000000028bd0 T ps_latlink_iter_free
0000000000028be0 T ps_latlink_iter_link
0000000000028bc0 T ps_latlink_iter_next
0000000000028c20 T ps_latlink_nodes
0000000000028cb0 T ps_latlink_pred
0000000000028cc0 T ps_latlink_prob
0000000000028bf0 T ps_latlink_times
0000000000028c30 T ps_latlink_word
0000000000028b10 T ps_latnode_baseword
0000000000028bb0 T ps_latnode_entries
0000000000028ba0 T ps_latnode_exits
0000000000028a80 T ps_latnode_iter
0000000000028aa0 T ps_latnode_iter_free
0000000000028a90 T ps_latnode_iter_next
0000000000028ab0 T ps_latnode_iter_node
0000000000028b40 T ps_latnode_prob
0000000000028ac0 T ps_latnode_times
0000000000028ae0 T ps_latnode_word
00000000000292f0 T ps_lattice_bestpath
00000000000272e0 T ps_lattice_bypass_fillers
0000000000027400 T ps_lattice_delete_unreachable
00000000000290a0 T ps_lattice_delq
0000000000028a00 T ps_lattice_free
0000000000028a70 T ps_lattice_get_logmath
0000000000028ce0 T ps_lattice_hyp
0000000000028940 T ps_lattice_init_search
00000000000271e0 T ps_lattice_link
0000000000028930 T ps_lattice_n_frames
0000000000029040 T ps_lattice_popq
0000000000029740 T ps_lattice_posterior
0000000000029a20 T ps_lattice_posterior_prune
0000000000028ff0 T ps_lattice_pushq
0000000000027d60 T ps_lattice_read
00000000000289f0 T ps_lattice_retain
0000000000029260 T ps_lattice_reverse_edges
00000000000291e0 T ps_lattice_reverse_next
0000000000028ec0 T ps_lattice_seg_iter
0000000000029140 T ps_lattice_traverse_edges
00000000000290c0 T ps_lattice_traverse_next
0000000000027680 T ps_lattice_write
0000000000027980 T ps_lattice_write_htk
00000000000319a0 T ps_load_dict
000000000002a230 T ps_mllr_free
000000000002a2f0 T ps_mllr_read
000000000002a220 T ps_mllr_retain
0000000000032830 T ps_nbest
0000000000032940 T ps_nbest_free
0000000000032970 T ps_nbest_hyp
0000000000032950 T ps_nbest_next
00000000000329c0 T ps_nbest_seg
00000000000321b0 T ps_process_cep
00000000000320d0 T ps_process_raw
0000000000030f60 T ps_reinit
00000000000316a0 T ps_retain
0000000000031b50 T ps_save_dict
0000000000032b70 T ps_search_base_reinit
0000000000032c10 T ps_search_deinit
0000000000032ad0 T ps_search_init
0000000000032390 T ps_seg_frames
0000000000032810 T ps_seg_free
0000000000032330 T ps_seg_iter
0000000000032370 T ps_seg_next
00000000000323b0 T ps_seg_prob
0000000000032380 T ps_seg_word
0000000000031d50 T ps_start_utt
0000000000031910 T ps_update_fsgset
0000000000031820 T ps_update_lmset
00000000000317e0 T ps_update_mllr
000000000002a880 T ptm_mgau_frame_eval
000000000002b360 T ptm_mgau_free
000000000002be90 T ptm_mgau_init
000000000002b350 T ptm_mgau_mllr_transform
U ptmr_init
U ptmr_reset
U ptmr_start
U ptmr_stop
U putchar
U rewind
000000000002caa0 T s2_semi_mgau_frame_eval
000000000002ca20 T s2_semi_mgau_free
000000000002ef20 T s2_semi_mgau_init
000000000002ca10 T s2_semi_mgau_mllr_transform
000000000001d7b0 T senone_eval
000000000001d760 T senone_free
000000000001c800 T senone_init
U __sprintf_chk
U sqrt
U __stack_chk_fail
0000000000030010 T state_align_search_init
U stderr
U stdout
U stpcpy
U str2words
U strchr
U strcmp
U strcmp_nocase
U strcpy
U string_join
U strlen
U strncmp
U strrchr
U strtod
U strtol
0000000000030130 T tmat_dump
0000000000030b60 T tmat_free
0000000000030250 T tmat_init
0000000000030b00 T tmat_report
0000000000030c10 T vector_floor
0000000000030d00 T vector_is_zero
0000000000030c50 T vector_nz_floor
0000000000030c90 T vector_print
0000000000030b90 T vector_sum_norm
So the function ps_get_in_speech is not present in the shared object libpocketsphinx.1.1.0.so , which I generated by downloadind pocketsphinx-5prealpha and running autogen.sh and make, without errors.
Why is ps_get_in_speech not present amongst the implemented functions in libpocketsphinx.1.1.0.so ?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
libpocketsphinx.1.1.0 is pretty old, I'm not sure where did you get it. You need to clone latest code from github, it should install libpocketsphinx.3.0.0 instead.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I am linking against libpocketsphinx a simple c program, but when I compile it, I get the following error:
pocketsphinx_interaction.cpp:(.text+0xd2c): undefined reference to ps_get_in_speech
Which I find it very strange since I use other pocketsphinx functions like
ps_get_hyp
orps_init
. So I rannm -D libpocketsphinx.1.1.0.so
from the terminal to find out if this missing function is present or not in the library, and I found out:So the function
ps_get_in_speech
is not present in the shared objectlibpocketsphinx.1.1.0.so
, which I generated by downloadind pocketsphinx-5prealpha and runningautogen.sh
andmake
, without errors.Why is ps_get_in_speech not present amongst the implemented functions in
libpocketsphinx.1.1.0.so
?libpocketsphinx.1.1.0 is pretty old, I'm not sure where did you get it. You need to clone latest code from github, it should install libpocketsphinx.3.0.0 instead.
Thanks, actually I don't know where I got it. I will download the latest version