在編譯uniMRCP的阿里插件時,使用到了一個自定義封裝的動態庫,libtool鏈接時報瞭如下錯誤:
libtool: link: CURRENT `-L/usr/local/lib/aly-speech/lib' must be a nonnegative integer
libtool: link: `-L/usr/local/lib/aly-speech/lib' is not valid version information
make[2]: *** [alirecog.la] 錯誤 1
make[2]: 離開目錄“/usr/local/src/jinzw_mrcp_server/plugins/ali-recog”
make[1]: *** [all-recursive] 錯誤 1
make[1]: 離開目錄“/usr/local/src/jinzw_mrcp_server/plugins”
make: *** [all-recursive] 錯誤 1
沒有動過依賴的動態庫,也沒有改過代碼,只是遷移到了一個乾淨環境,所以丈二摸不着頭腦,找不到原因。上網搜了也沒找到原因,抱着試試看的心態google上查了一下,也沒有找到解決問題的答案,不過有一個哥們提到是版本不一致導致的。可以用ltmain.sh腳本檢查一下。
我在build裏面用ltmain.sh執行了一下,提示:
./ltmain.sh: line 126: CDPATH: command not found
./ltmain.sh: line 199: -e: command not found
./ltmain.sh: line 205: -e: command not found
: Version mismatch error. This is libtool 2.4.2, but the
: definition of this LT_INIT comes from an older release.
: You should recreate aclocal.m4 with macros from libtool 2.4.2
: and run autoconf again.
好像有點版本問題,按照這個說法,我執行了如下命令:
autoreconf --force --install
重新生成了aclocal.m4文件,並且重新運行autoconf了一次。
再次編譯..
編譯通過!
感謝國外那位小哥!