Note that there are some explanatory texts on larger screens.

plurals
  1. POndk-build failed to build PocketSphinxAndroidDemo project
    text
    copied!<p>I am trying to use "android-ndk-r5b" to build PocketSphinx for Android.</p> <p>I downloaded PocketSphinxAndroidDemo project from "https://cmusphinx.svn.sourceforge.net/svnroot/cmusphinx/trunk/PocketSphinxAndroidDemo" alone with "pocketsphinx" and "sphinxbase" projects.</p> <p>I am on Windows 7 and using Cygwin to run "ndk-build" the problem is all static libraries (.a file) are generated but unable to create the .so file due to the following reference error:</p> <pre> $ /cygdrive/c/android-ndk-r5b/ndk-build Gdbserver : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver Gdbsetup : libs/armeabi/gdb.setup SharedLibrary : libpocketsphinx_jni.so C:/eclipse/workspace/PocketSphinxAndroidDemo/obj/local/armeabi/libpocketsphinx.a (pocketsphinx.o): In function `ps_reinit': C:/eclipse/workspace/pocketsphinx/src/libpocketsphinx/pocketsphinx.c:228: undefi ned reference to `logmath_get_base' C:/eclipse/workspace/pocketsphinx/src/libpocketsphinx/pocketsphinx.c:231: undefi ned reference to `logmath_free' C:/eclipse/workspace/pocketsphinx/src/libpocketsphinx/pocketsphinx.c:232: undefi ned reference to `logmath_init' C:/eclipse/workspace/pocketsphinx/src/libpocketsphinx/pocketsphinx.c:293: undefi ned reference to `ptmr_init' C:/eclipse/workspace/PocketSphinxAndroidDemo/obj/local/armeabi/libpocketsphinx.a (pocketsphinx.o): In function `ps_free': C:/eclipse/workspace/pocketsphinx/src/libpocketsphinx/pocketsphinx.c:340: undefi ned reference to `logmath_free' C:/eclipse/workspace/PocketSphinxAndroidDemo/obj/local/armeabi/libpocketsphinx.a (pocketsphinx.o): In function `ps_update_lmset': C:/eclipse/workspace/pocketsphinx/src/libpocketsphinx/pocketsphinx.c:413: undefi ned reference to `ngram_model_free' C:/eclipse/workspace/PocketSphinxAndroidDemo/obj/local/armeabi/libpocketsphinx.a (pocketsphinx.o): In function `ps_add_word': C:/eclipse/workspace/pocketsphinx/src/libpocketsphinx/pocketsphinx.c:565: undefi ned reference to `ngram_model_add_word' </pre> <hr> <p>All the header file paths are specified. No problem to create static libraries but has problem to link static libraries to create shared library.</p> <p>Here is my "Android.mk" file:</p> <pre> # Build the native component of the PocketSphinx library for Android. # You MUST change this to the absolute path of the directory containing # sphinxbase and pocketsphinx source code. #SPHINX_PATH := $(HOME)/Projects/Sphinx/trunk SPHINX_PATH := /cygdrive/c/eclipse/workspace # Copy this Android.mk along with pocketsphinx_wrap.c and the contents of the 'edu' folder # built by swig to the jni/ directory of your Android project. BASE_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_C_INCLUDES := $(SPHINX_PATH)/sphinxbase/include/android $(SPHINX_PATH)/sphinxbase/include LOCAL_EXPORT_C_INCLUDES := $(SPHINX_PATH)/sphinxbase/include/android $(SPHINX_PATH)/sphinxbase/include LOCAL_CFLAGS += -DHAVE_CONFIG_H LOCAL_CFLAGS += -DANDROID_NDK LOCAL_PATH := $(SPHINX_PATH)/sphinxbase/src/libsphinxbase/util LOCAL_MODULE := sphinxutil LOCAL_SRC_FILES := \ bio.c \ bitvec.c \ case.c \ ckd_alloc.c \ cmd_ln.c \ dtoa.c \ err.c \ errno.c \ f2c_lite.c \ filename.c \ genrand.c \ glist.c \ hash_table.c \ heap.c \ huff_code.c \ info.c \ listelem_alloc.c \ logmath.c.arm \ matrix.c \ mmio.c \ pio.c \ profile.c \ sbthread.c \ strfuncs.c \ utf8.c include $(BUILD_STATIC_LIBRARY) include $(CLEAR_VARS) LOCAL_C_INCLUDES := $(SPHINX_PATH)/sphinxbase/include/android $(SPHINX_PATH)/sphinxbase/include LOCAL_CFLAGS += -DHAVE_CONFIG_H LOCAL_CFLAGS += -DANDROID_NDK LOCAL_PATH := $(SPHINX_PATH)/sphinxbase/src/libsphinxbase/fe LOCAL_MODULE := sphinxfe LOCAL_ARM_MODE := arm LOCAL_SRC_FILES := \ fe_interface.c \ fe_sigproc.c \ fe_warp_affine.c \ fe_warp.c \ fe_warp_inverse_linear.c \ fe_warp_piecewise_linear.c \ fixlog.c include $(BUILD_STATIC_LIBRARY) include $(CLEAR_VARS) LOCAL_C_INCLUDES := $(SPHINX_PATH)/sphinxbase/include/android $(SPHINX_PATH)/sphinxbase/include LOCAL_CFLAGS += -DHAVE_CONFIG_H LOCAL_CFLAGS += -DANDROID_NDK LOCAL_PATH := $(SPHINX_PATH)/sphinxbase/src/libsphinxbase/feat LOCAL_MODULE := sphinxfeat LOCAL_SRC_FILES := \ agc.c \ cmn.c \ cmn_prior.c \ feat.c \ lda.c include $(BUILD_STATIC_LIBRARY) include $(CLEAR_VARS) LOCAL_C_INCLUDES := $(SPHINX_PATH)/sphinxbase/include/android $(SPHINX_PATH)/sphinxbase/include LOCAL_CFLAGS += -DHAVE_CONFIG_H LOCAL_CFLAGS += -DANDROID_NDK LOCAL_PATH := $(SPHINX_PATH)/sphinxbase/src/libsphinxbase/lm LOCAL_MODULE := sphinxlm LOCAL_SRC_FILES := \ fsg_model.c \ jsgf.c \ jsgf_parser.c \ jsgf_scanner.c \ lm3g_model.c \ ngram_model_arpa.c \ ngram_model_dmp.c \ ngram_model_set.c \ ngram_model.c include $(BUILD_STATIC_LIBRARY) include $(CLEAR_VARS) LOCAL_C_INCLUDES := $(SPHINX_PATH)/sphinxbase/include/android $(SPHINX_PATH)/sphinxbase/include \ $(SPHINX_PATH)/pocketsphinx/include $(SPHINX_PATH)/pocketsphinx/src/libpocketsphinx \ $(SPHINX_PATH)/pocketsphinx/src/gst-plugin $(SPHINX_PATH)/sphinxbase/include/sphinxbase LOCAL_CFLAGS += -DHAVE_CONFIG_H LOCAL_CFLAGS += -DANDROID_NDK LOCAL_PATH := $(SPHINX_PATH)/pocketsphinx/src/libpocketsphinx LOCAL_MODULE := pocketsphinx LOCAL_SRC_FILES := \ acmod.c \ bin_mdef.c \ blkarray_list.c \ dict.c \ dict2pid.c \ fsg_history.c \ fsg_lextree.c \ fsg_search.c \ hmm.c.arm \ mdef.c \ ms_gauden.c.arm \ ms_mgau.c.arm \ ms_senone.c.arm \ ngram_search.c \ ngram_search_fwdtree.c \ ngram_search_fwdflat.c \ phone_loop_search.c \ pocketsphinx.c \ ps_lattice.c \ ps_mllr.c \ ptm_mgau.c.arm \ s2_semi_mgau.c.arm \ tmat.c \ vector.c include $(BUILD_STATIC_LIBRARY) # Create the dynamic library wrapper include $(CLEAR_VARS) LOCAL_C_INCLUDES := $(SPHINX_PATH)/sphinxbase/include/android $(SPHINX_PATH)/sphinxbase/include \ $(SPHINX_PATH)/pocketsphinx/include $(SPHINX_PATH)/pocketsphinx/src/libpocketsphinx LOCAL_CFLAGS += -DHAVE_CONFIG_H LOCAL_CFLAGS += -DANDROID_NDK LOCAL_PATH := $(BASE_PATH) LOCAL_MODULE := pocketsphinx_jni LOCAL_SRC_FILES := pocketsphinx_wrap.c # See http://code.google.com/p/android/issues/detail?id=9439 PRIVATE_WHOLE_STATIC_LIBRARIES := \ $(call static-library-path,sphinxutil) \ $(call static-library-path,sphinxfe) \ $(call static-library-path,sphinxfeat) \ $(call static-library-path,sphinxlm) \ $(call static-library-path,pocketsphinx) LOCAL_STATIC_LIBRARIES := sphinxutil sphinxfe sphinxfeat sphinxlm pocketsphinx include $(BUILD_SHARED_LIBRARY) </pre> <p>===================================================================== </p> <p>Thank you in advance for any suggestions! gwofu</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload