您好我正在尝试使用python支持从源代码构建vim。 (最终想安装YouCompleteMe)
我的配置参数如下:
$>./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 :(得分:0)
未定义通常意味着版本不匹配。 Ld指的是一些头文件,其中没有像`PyUnicodeUCS4_AsEncodedString'和链接失败。请仔细阅读文档。它应该写在那里你的Vim附带的库。 Debian传统上充斥着古老的东西。