2015-06-30 119 views
3

您好我正在嘗試使用python支持從源代碼構建vim。 (最終要安裝YouCompleteMe)在debian上編譯源代碼時出現錯誤

我的配置參數如下:

$>./configure --enable-perlinterp \ 
--enable-pythoninterp \ 
--enable-cscope \ 
--enable-gui=gtk2 \ 
--with-python-config-dir=$HOME/mypython/lib/python2.7/config \ 
--enable-rubyinterp \ 
--enable-luainterp \ 
-with-features=huge \ 
--enable-multibyte\ 
--prefix=$HOME/myvim 

配置似乎完成,但是當我再運行make我碰到下面的錯誤[截斷結束]:

gcc -c -I. -Iproto -DHAVE_CONFIG_H  -fPIC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1  version.c -o objects/version.o 
link.sh: $LINK_AS_NEEDED set to 'yes': invoking linker directly. 
    gcc -Wl,--as-needed  -o vim objects/buffer.o objects/blowfish.o objects/charset.o objects/crypt.o objects/crypt_zip.o objects/diff.o objects/digraph.o objects/edit.o objects/eval.o objects/ex_cmds.o objects/ex_cmds2.o objects/ex_docmd.o objects/ex_eval.o objects/ex_getln.o objects/fileio.o objects/fold.o objects/getchar.o objects/hardcopy.o objects/hashtab.o objects/if_cscope.o objects/if_xcmdsrv.o objects/mark.o objects/memline.o objects/menu.o objects/message.o objects/misc1.o objects/misc2.o objects/move.o objects/mbyte.o objects/normal.o objects/ops.o objects/option.o objects/os_unix.o objects/pathdef.o objects/popupmnu.o objects/quickfix.o objects/regexp.o objects/screen.o objects/search.o objects/sha256.o objects/spell.o objects/syntax.o objects/tag.o objects/term.o objects/ui.o objects/undo.o objects/version.o objects/window.o  objects/if_python.o  objects/netbeans.o objects/main.o objects/memfile.o -lSM -lICE -lXpm -lXt -lX11 -lm -ltinfo -lnsl -ldl -L/home/arenduc1/mypython/lib/python2.7/config -lpython2.7 -lpthread -ldl -lutil -lm -Xlinker -export-dynamic 
objects/if_python.o: In function `StringToChars': 
if_python.c:(.text+0xf8): undefined reference to `PyUnicodeUCS4_AsEncodedString' 
objects/if_python.o: In function `StringToLine': 
if_python.c:(.text+0x7955): undefined reference to `PyUnicodeUCS4_AsEncodedString' 
objects/if_python.o: In function `_ConvertFromPyObject': 
if_python.c:(.text+0xbbf0): undefined reference to `PyUnicodeUCS4_AsEncodedString' 
collect2: error: ld returned 1 exit status 
link.sh: Linking failed 
make[1]: *** [vim] Error 1 
make[1]: Leaving directory `/home/arenduc1/source-pkgs/vim/src' 
make: *** [first] Error 2 
+0

在CentOS 6.5上編譯vim時,我遇到了完全相同的錯誤。尚未找到解決方案。 – xyliu00

回答

0

未定義通常意味着版本不匹配。 Ld指的是一些頭文件,其中沒有什麼像`PyUnicodeUCS4_AsEncodedString'並且鏈接失敗。請仔細閱讀文檔。應該在那裏寫上你的Vim附帶的庫。 Debian傳統上充斥着古老的東西。

相關問題