またVimのビルドした
先日、技術書の添付ディスクないのファイルを開く際、そのファイルがsjisでして、しかもオレオレビルドVimのiconvが無効になっており、という…_:(´ཀ`」 ∠):_
加えて、どうもMac標準のgccとMacPortsとかで入れたgccだと違いがあるようだったので
改めてまとめ直すことにしました。
基本的にはMac環境ですが多分Unix系ならほとんど同じはず…
ソースとパッチをダウンロードして、パッチを当ててからmakeします
ソースはhttp://www.vim.org/sources.php
パッチはftp://ftp.vim.org/pub/vim/patches/7.3/
からダウンロードします
今回はpluginで必要だったのでPythonも有効にします
Pythonは全くわからないで、ただMacPortsから突っ込んだだけです
さて、通常のMac環境ならパッチを当ててmakeするだけでいいのですが
MacPortsでインストールしたgcc48を使ってみようと思います
正直、使ってみたかっただけなのに少し面倒だった…
環境変数はこんな感じに設定してます。
PATHの設定はむずかしい
このままの環境設定でmakeしてみると
このオプションはAppleのコンパイラでしか使えないとかなんとか
多分、Mac標準のgccでビルドするためについてるんだと思います。
コンパイラも削除して的なことを言っているのでこのオプションを消します。
vim73/src/osdef.shの52行目、-no-cpp-precompの部分を消せば無事にmakeできました
以下、全体のビルドの手順
ざっと書くとこんな感じになります。
インストール場所や最新のパッチ番号など適宜変更してください
Vimで:versionを実行して確認
大丈夫のようです
あ、ついてにですがgithubでvimrcを管理しはじめました
https://github.com/mopp/vimrc.git
加えて、どうもMac標準のgccとMacPortsとかで入れたgccだと違いがあるようだったので
改めてまとめ直すことにしました。
基本的にはMac環境ですが多分Unix系ならほとんど同じはず…
ソースとパッチをダウンロードして、パッチを当ててからmakeします
ソースはhttp://www.vim.org/sources.php
パッチはftp://ftp.vim.org/pub/vim/patches/7.3/
からダウンロードします
今回はpluginで必要だったのでPythonも有効にします
Pythonは全くわからないで、ただMacPortsから突っ込んだだけです
さて、通常のMac環境ならパッチを当ててmakeするだけでいいのですが
MacPortsでインストールしたgcc48を使ってみようと思います
正直、使ってみたかっただけなのに少し面倒だった…
環境変数はこんな感じに設定してます。
PATHの設定はむずかしい
# MacPorts export PATH=/opt/local/bin:/opt/local/sbin:$PATH export MANPATH=/opt/local/man:$MANPATH # For Compiler export BOOST_ROOT=/opt/local/include/boost export CPLUS_INCLUDE_PATH=/opt/local/include:/usr/include export CPLUS_LIBRARY_PATH=/opt/local/lib:/usr/lib export C_INCLUDE_PATH=/opt/local/include:/usr/include export DYLD_FALLBACK_LIBRARY_PATH=/opt/local/lib:/usr/lib export LD_LIBRARY_PATH=/opt/local/lib:/usr/lib export LIBRARY_PATH=/opt/local/lib:/usr/lib # For make export CC='/opt/local/bin/gcc-mp-4.8'
このままの環境設定でmakeしてみると
CC="/opt/local/bin/gcc-mp-4.8 -Iproto -DHAVE_CONFIG_H -I/usr/local/include " srcdir=. sh ./osdef.sh gcc-mp-4.8: error: unrecognized command line option '-no-cpp-precomp' Hmm, sed is very pessimistic about your system header files. But it did not dump core -- strange! Let's continue carefully... If this fails, you may want to remove offending lines from osdef.h or try with an empty osdef.h file, if your compiler can do without function declarations. /opt/local/bin/gcc-mp-4.8 -c -I. -Iproto -DHAVE_CONFIG_H -I/usr/local/include -g -O2 -D_FORTIFY_SOURCE=1 -o objects/buffer.o buffer.c In file included from vim.h:302:0, from buffer.c:28: auto/osdef.h:18:12: error: conflicting types for 'printf' extern int printf __ARGS((char *, ...)); ~以下省略~-no-cpp-precompっていうstrangeなオプションが入ってるからできんよって言われます
このオプションはAppleのコンパイラでしか使えないとかなんとか
多分、Mac標準のgccでビルドするためについてるんだと思います。
コンパイラも削除して的なことを言っているのでこのオプションを消します。
vim73/src/osdef.shの52行目、-no-cpp-precompの部分を消せば無事にmakeできました
# Mac uses precompiled headers, but we need real headers here. case `uname` in Darwin) $CC -I. -I$srcdir -E -no-cpp-precomp osdef0.c >osdef0.cc;; *) $CC -I. -I$srcdir -E osdef0.c >osdef0.cc;; esac
以下、全体のビルドの手順
wget ftp://ftp.vim.org/pub/vim/unix/vim-7.3.tar.bz2 tar -jxvf vim-7.3.tar.bz2 cd vim73 mkdir patches cd patches curl -O 'ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.[001-最新パッチ番号]' cd .. cat patches/7.3.* | patch -p0 cd src ./configure --prefix=インストールしたいディレクトリ \ --disable-darwin \ --disable-gpm \ --disable-gtktest \ --disable-gui \ --disable-netbeans \ --disable-selinux \ --disable-sysmouse \ --disable-xsmp \ --disable-xsmp-interact \ --enable-gui=no \ --enable-multibyte \ --enable-python3interp \ --enable-pythoninterp \ --with-compiledby="もぷり" \ --with-features=huge \ --with-python-config-dir=/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config \ --with-python3-config-dir=/opt/local/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/config-3.3m \ --without-x make make test make install
ざっと書くとこんな感じになります。
インストール場所や最新のパッチ番号など適宜変更してください
Vimで:versionを実行して確認
:version VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Dec 22 2012 07:11:11) Included patches: 1-762 Compiled by もぷり Huge version without GUI. Features included (+) or not (-): +arabic +autocmd -balloon_eval -browse ++builtin_terms +byte_offset +cindent -clientserver -clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments +conceal +cryptv +cscope +cursorbind +cursorshape +dialog_con +diff +digraphs -dnd -ebcdic +emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path +find_in_path +float +folding -footer +fork() +gettext -hangul_input +iconv +insert_expand +jumplist +keymap +langmap +libcall +linebreak +lispindent +listcmds +localmap -lua +menu +mksession +modify_fname +mouse -mouseshape +mouse_dec -mouse_gpm -mouse_jsbterm +mouse_netterm +mouse_sgr -mouse_sysmouse +mouse_urxvt +mouse_xterm +multi_byte +multi_lang -mzscheme -netbeans_intg +path_extra -perl +persistent_undo +postscript +printer +profile +python/dyn +python3/dyn +quickfix +reltime +rightleft -ruby +scrollbind +signs +smartindent -sniff +startuptime +statusline -sun_workshop +syntax +tag_binary +tag_old_static -tag_any_white -tcl +terminfo +termresponse +textobjects +title -toolbar +user_commands +vertsplit +virtualedit +visual +visualextra +viminfo +vreplace +wildignore +wildmenu +windows +writebackup -X11 -xfontset -xim -xsmp -xterm_clipboard -xterm_save system vimrc file: "$VIM/vimrc" user vimrc file: "$HOME/.vimrc" user exrc file: "$HOME/.exrc" fall-back for $VIM: "/Users/mopp/.libmopp/share/vim" Compilation: /opt/local/bin/gcc-mp-4.8 -c -I. -Iproto -DHAVE_CONFIG_H -I/usr/local/include -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 Linking: /opt/local/bin/gcc-mp-4.8 -L/usr/local/lib -o vim -lm -lncurses -liconv -lintl
大丈夫のようです
あ、ついてにですがgithubでvimrcを管理しはじめました
https://github.com/mopp/vimrc.git
コメント
コメントを投稿