Hi Marslo,

2016/1/6 Wed 22:25:22 UTC+9 Marslo Jiao wrote:
> gcc -c -I. -Iproto -DHAVE_CONFIG_H     -g -O2 -U_FORTIFY_SOURCE 
> -D_FORTIFY_SOURCE=1        -I/usr/include/python2.7 -DPYTHON_HOME='"/usr"' 
> -pthread -fPIE  -o objects/if_python.o if_python.c

Hm, it's strange that the preinstalled python header is used.
"-I/usr/include/python2.7" should be "-I/usr/local/include/python2.7", I think.
There might be a bug in our configure script?


>   gcc   -L. -Wl,-z,relro -fstack-protector -rdynamic -Wl,-export-dynamic  
> -L/usr/local/lib -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/if_ruby.o   objects/netbeans.o  objects/main.o objects/memfile.o      
>   -lm -ltinfo -lnsl  -lselinux  -ldl    -L/usr/local/lib/python2.7/config 
> -lpython2.7 -lpthread -ldl -lutil -lm -Xlinker -export-dynamic   -lruby 
> -lpthread -lrt -ldl -lcrypt -lm

It seems that the python library is properly selected.
(-L/usr/local/lib/python2.7/config)


> objects/if_python.o: In function `StringToChars':
> /home/marslo/.vim/vimsrc/src/if_py_both.h:136: undefined reference to 
> `PyUnicodeUCS4_AsEncodedString'

Vim uses PyUnicode_AsEncodedString() function, and it is replaced to
PyUnicodeUCS2_AsEncodedString or PyUnicodeUCS4_AsEncodedString depending on
a python configuration. The configuration can be found in pyconfig.h.
I think that the preinstalled python defines Py_UNICODE_SIZE as 4,
and your self-built python defines Py_UNICODE_SIZE as 2.

Maybe there is an option for the python's configure script that changes the
definition of Py_UNICODE_SIZE. Changing the size to 4 might be a workaround
for this, but we need to check the Vim's configure script.

Regards,
Ken Takata

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui