vimの日本語パッチのコンパイルエラー

いつごろか、Linux(Fedora Coreから?)で、

・vim-3.0.tar.gz
・jvim.2.1beta.tar.gz

の組み合わせでコンパイルが通らなくなった。下記のようなエラーが出る。
今回の環境はFedora Core 5。

> gcc -O -c -DBSD_UNIX -DDIGRAPHS -DTERMCAP -DSOME_BUILTIN_TCAPS -DNO_FREE_NULL -DVIM_ISSPACE -DWEBB_COMPLETE -DWEBB_KEYWORD_COMPL -DVIM_HLP=\"/usr/local/lib/vim.hlp\" -DKANJI -DUCODE -DTRACK -DCRMARK -DFEXRC -DUSE_GREP -DUSE_OPT version.c
> gcc -O -o vim alloc.o unix.o buffer.o charset.o cmdcmds.o cmdline.o csearch.o digraph.o edit.o fileio.o getchar.o help.o linefunc.o main.o mark.o memfile.o memline.o message.o misccmds.o normal.o ops.o param.o quickfix.o regexp.o regsub.o screen.o search.o tag.o term.o undo.o window.o kanji.o track.o u2s.o s2u.o version.o -lncurses
> unix.o: In function `vim_dirname':unix.c:(.text+0xfac): warning: `sys_errlist' is deprecated; use `strerror' or `strerror_r' instead
> unix.o: In function `ExpandWildCards':unix.c:(.text+0x9e8): warning: the use of `mktemp' is dangerous, better use `mkstemp'
> /usr/bin/ld: errno: TLS definition in /lib/libc.so.6 section .tbss mismatches non-TLS reference in unix.o
> /lib/libc.so.6: could not read symbols: Bad value
> collect2: ld returned 1 exit status
> make: *** [vim] Error 1

ということでいろいろ調べてみると、似たようなエラーでコンパイルできない現象に該当するのがあるようで。コンパイルオプションに「--include /usr/include/errno.h」を入れると良いらしい。

vimにも適用できるか試してみたら、コンパイルが通った。
Makefile の修正方法は下記のとおり。

> # Linux 2.0.x/2.2.x (TESTED Debian GNU/Linux 2.0/2.1)
> MACHINE = -DBSD_UNIX
> CC=gcc -O --include /usr/include/errno.h
> LIBS = -lncurses

これでしばらく様子見。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)