编译安装Python2.7.10
[root@LookBack-server-OL03 ~]# yum install readline-devel sqlite-devel -y [root@LookBack-server-OL03 ~]# wget -c http://www.dwhd.org/script/tar_gz_bz2/Python-2.7.10.tar.xz [root@LookBack-server-OL03 ~]# tar xf Python-2.7.10.tar.xz [root@LookBack-server-OL03 ~]# cd Python-2.7.10/ [root@LookBack-server-OL03 ~/Python-2.7.10]# ./configure --prefix=/usr/local/python2.7.10 [root@LookBack-server-OL03 ~/Python-2.7.10]# make -j $(awk '/processor/{i++}END{print i}' /proc/cpuinfo) && make install && cd .. [root@LookBack-server-OL03 ~]# /usr/local/python2.7.10/bin/python --version Python 2.7.10 [root@LookBack-server-OL03 ~]#
安装Lua
[root@LookBack-server-OL03 ~]# yum -y install lua lua-devel [root@LookBack-server-OL03 ~]# wget http://luajit.org/download/LuaJIT-2.0.4.tar.gz [root@LookBack-server-OL03 ~]# tar -xzvf LuaJIT-2.0.4.tar.gz [root@LookBack-server-OL03 ~/LuaJIT-2.0.4]# cd LuaJIT-2.0.4 [root@LookBack-server-OL03 ~/LuaJIT-2.0.4]# make -j `awk '/processor/{a++}END{print a}' /proc/cpuinfo` && make install && cd ..
编译VIM7.4
确保Vim版本至少是7.3.584,并且支持python2脚本。
[root@LookBack-server-OL03 ~]# yum -y install python-devel ruby ruby-devel perl perl-devel perl-ExtUtils-Embed git clone https://github.com/vim/vim.git [root@LookBack-server-OL03 ~]# cd vim [root@LookBack-server-OL03 ~/vim]# ./configure --prefix=/usr/local/vim7.4 --disable-selinux --enable-luainterp=yes --enable-fail-if-missing --enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-cscope --enable-gui=auto --enable-gtk2-check --enable-gnome-check --with-features=huge --with-luajit --with-x --with-python-config-dir=/usr/lib64/python2.6/config/ ##/usr/lib64/python2.6/config/这个路径是根据系统位数来确定的。 [root@LookBack-server-OL03 ~/vim]# make -j `awk '/processor/{a++}END{print a}' /proc/cpuinfo` && make install && cd .. [root@LookBack-server-OL03 ~]# ln -sv /usr/local/lib/libluajit-5.1.so.2 /lib64/libluajit-5.1.so.2 [root@LookBack-server-OL03 ~]# echo "export PATH=/usr/local/vim7.4/bin:\$PATH" > /etc/profile.d/vim74.sh [root@LookBack-server-OL03 ~]# sed -i "$(awk '$1=="MANPATH"{i=NR}END{print i}' /etc/man.config)a \MANPATH\tMANPATH /usr/local/vim7.4/share/man" /etc/man.config
检查VIM
[root@LookBack-server-OL03 ~]# vim --version|grep -Eo '\+(python|ruby|perl|lua)' +perl +python +lua +ruby [root@LookBack-server-OL03 ~]# vim --version VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Oct 4 2015 14:19:47) 包含补丁: 1-889 编译者 root@LookBack-server-OL03 巨型版本 无图形界面。 可使用(+)与不可使用(-)的功能: +acl +farsi +mouse_netterm +syntax +arabic +file_in_path +mouse_sgr +tag_binary +autocmd +find_in_path -mouse_sysmouse +tag_old_static -balloon_eval +float +mouse_urxvt -tag_any_white -browse +folding +mouse_xterm -tcl ++builtin_terms -footer +multi_byte +terminfo +byte_offset +fork() +multi_lang +termresponse +cindent +gettext -mzscheme +textobjects -clientserver -hangul_input +netbeans_intg +title -clipboard +iconv +path_extra -toolbar +cmdline_compl +insert_expand +perl +user_commands +cmdline_hist +jumplist +persistent_undo +vertsplit +cmdline_info +keymap +postscript +virtualedit +comments +langmap +printer +visual +conceal +libcall +profile +visualextra +cryptv +linebreak +python +viminfo +cscope +lispindent -python3 +vreplace +cursorbind +listcmds +quickfix +wildignore +cursorshape +localmap +reltime +wildmenu +dialog_con +lua +rightleft +windows +diff +menu +ruby +writebackup +digraphs +mksession +scrollbind -X11 -dnd +modify_fname +signs -xfontset -ebcdic +mouse +smartindent -xim +emacs_tags -mouseshape -sniff -xsmp +eval +mouse_dec +startuptime -xterm_clipboard +ex_extra -mouse_gpm +statusline -xterm_save +extra_search -mouse_jsbterm -sun_workshop -xpm 系统 vimrc 文件: "$VIM/vimrc" 用户 vimrc 文件: "$HOME/.vimrc" 第二用户 vimrc 文件: "~/.vim/vimrc" 用户 exrc 文件: "$HOME/.exrc" $VIM 预设值: "/usr/local/vim7.4/share/vim" 编译方式: gcc -c -I. -Iproto -DHAVE_CONFIG_H -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 链接方式: gcc -L. -rdynamic -Wl,-export-dynamic -Wl,-E -Wl,-rpath,/usr/lib64/perl5/CORE -L/usr/local/lib -Wl,--as-needed -o vim -lm -ltinfo -lnsl -liconv -ldl -L/usr/lib -lluajit-5.1 -Wl,-E -Wl,-rpath,/usr/lib64/perl5/CORE -fstack-protector -L/usr/lib64/perl5/CORE -lperl -lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc -L/usr/lib64/python2.6/config/ -lpython2.6 -lpthread -ldl -lutil -lm -Xlinker -export-dynamic -lruby -lpthread -lrt -ldl -lcrypt -lm
编译高级版本gcc (重量级编译耗时很长)
[root@LookBack-server-OL03 ~]# wget http://mirrors.dwhd.org/GCC/releases/gcc-4.9.3/gcc-4.9.3.tar.bz2 [root@LookBack-server-OL03 ~]# tar xf gcc-4.9.3.tar.bz2 [root@LookBack-server-OL03 ~]# cd gcc-4.9.3/ [root@LookBack-server-OL03 ~/gcc-4.9.3]# ./contrib/download_prerequisites [root@LookBack-server-OL03 ~/gcc-4.9.3]# mkdir gcc-4.9.3 && cd gcc-4.9.3 [root@LookBack-server-OL03 ~/gcc-4.9.3/gcc-4.9.3]# ../configure --prefix=/usr -enable-checking=release -enable-languages=c,c++ -disable-multilib [root@LookBack-server-OL03 ~/gcc-4.9.3/gcc-4.9.3]# make -j `awk '/processor/{a++}END{print a}' /proc/cpuinfo` && make install && cd ../.. [root@LookBack-server-OL03 ~]# . /etc/profile [root@LookBack-server-OL03 ~]# . ~/.bash_profile [root@LookBack-server-OL03 ~]# gcc -v 使用内建 specs。 COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-unknown-linux-gnu/4.9.3/lto-wrapper 目标:x86_64-unknown-linux-gnu 配置为:../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib 线程模型:posix gcc 版本 4.9.3 (GCC) [root@LookBack-server-OL03 ~]#
编译安装clang (重量级编译耗时很长)
Clang是一个开源编译器,能够编译C/C++/Objective-C/Objective-C++。Clang提供的libclang库是用于驱动YCM对这些语言的语义补全支持。YCM需要版本至少为3.6的libclang,但是理论上3.2+版本也行。也可以使用系统libclang,如果确定是3.3版本或者更高。推荐下载官网的二进制文件。确保选对适合自己系统的包。
[root@LookBack-server-OL03 ~]# cd ~/ [root@LookBack-server-OL03 ~]# wget -c http://www.dwhd.org/wp-content/uploads/2015/10/llvm-clang.tar.gz [root@LookBack-server-OL03 ~]# tar xf llvm-clang.tar.gz [root@LookBack-server-OL03 ~]# mkdir ~/llvm-clang/llvm-build && cd ~/llvm-clang/llvm-build [root@LookBack-server-OL03 ~/llvm-clang/llvm-build]# ../llvm/configure --enable-optimized --enable-targets=host-only --with-python=/usr/local/python2.7.10/bin/python [root@LookBack-server-OL03 ~/llvm-clang/llvm-build]# make -j `awk '/processor/{a++}END{print a}' /proc/cpuinfo` && make install && cd ../.. [root@LookBack-server-OL03 ~]# clang -v clang version 3.8.0 (trunk 249283) Target: x86_64-unknown-linux-gnu Thread model: posix InstalledDir: /usr/local/bin Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/4.4.4 Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/4.4.7 Found candidate GCC installation: /usr/local/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.9.3 Selected GCC installation: /usr/local/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.9.3 Candidate multilib: .;@m64 Selected multilib: .;@m64 [root@LookBack-server-OL03 ~]#
安装clang标准库
##安装libc++ [root@LookBack-server-OL03 ~]# cd ~/llvm-clang [root@LookBack-server-OL03 ~/llvm-clang]# svn co http://llvm.org/svn/llvm-project/libcxx/trunk libcxx [root@LookBack-server-OL03 ~/llvm-clang]# cd libcxx/lib [root@LookBack-server-OL03 ~/llvm-clang/libcxx/lib]# ./buildit ###头文件已经生成到 ~/llvm-clang/libcxx/include/,要让 clang 找到必须复制到 /usr/include/c++/v1/ [root@LookBack-server-OL03 ~/llvm-clang/libcxx/lib]# cp -r ~/llvm-clang/libcxx/include/ /usr/include/c++/v1/ ###*.so 文件已生成 ~/llvm-clang/libcxx/lib/libc++.so.1.0,要让 clang 访问必须复 制到 /usr/lib/,并创建软链接 [root@LookBack-server-OL03 ~/llvm-clang/libcxx/lib]# ln -s ~/llvm-clang/libcxx/lib/libc++.so.1.0 ~/llvm-clang/libcxx/lib/libc++.so.1 [root@LookBack-server-OL03 ~/llvm-clang/libcxx/lib]# ln -s ~/llvm-clang/libcxx/lib/libc++.so.1.0 ~/llvm-clang/libcxx/lib/libc++.so ln: 创建符号链接 "/root/llvm-clang/libcxx/lib/libc++.so": 文件已存在 [root@LookBack-server-OL03 ~/llvm-clang/libcxx/lib]# cp ~/llvm-clang/libcxx/lib/libc++.so* /usr/lib/ cp:是否覆盖"/usr/lib/libc++.so"? yes cp:是否覆盖"/usr/lib/libc++.so.1"? yes cp:是否覆盖"/usr/lib/libc++.so.1.0"? yes ##类似,源码安装 libc++abi 的头文件和动态链接库: [root@LookBack-server-OL03 ~/llvm-clang/libcxx/lib]# cd ~/llvm-clang/ [root@LookBack-server-OL03 ~/llvm-clang]# svn co http://llvm.org/svn/llvm-project/libcxxabi/trunk libcxxabi [root@LookBack-server-OL03 ~/llvm-clang]# cd libcxxabi/lib [root@LookBack-server-OL03 ~/llvm-clang/libcxxabi/lib]# ./buildit ###头文件已经生成到 ~/llvm-clang/libcxxabi/include/,要让 clang 找到必须复制到 /usr/include/c++/v1/ [root@LookBack-server-OL03 ~/llvm-clang/libcxxabi/lib]# cp -r ~/llvm-clang/libcxxabi/include/ /usr/include/c++/v1/ ###*.so 文件已生成 ~/llvm-clang/libcxx/lib/libc++abi.so.1.0,要让 clang 访问必 须复制到 /usr/lib/,并创建软链接 [root@LookBack-server-OL03 ~/llvm-clang/libcxxabi/lib]# ln -s ~/llvm-clang/libcxxabi/lib/libc++abi.so.1.0 ~/llvm-clang/libcxxabi/lib/libc++abi.so.1 [root@LookBack-server-OL03 ~/llvm-clang/libcxxabi/lib]# ln -s ~/llvm-clang/libcxxabi/lib/libc++abi.so.1.0 ~/llvm-clang/libcxxabi/lib/libc++abi.so [root@LookBack-server-OL03 ~/llvm-clang/libcxxabi/lib]# cp ~/llvm-clang/libcxxabi/lib/libc++abi.so* /usr/lib/
安装vundle
[root@LookBack-server-OL03 ~]# mkdir ~/.vim/bundle/ [root@LookBack-server-OL03 ~]# git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle ###在.vimrc 中添加bundle的配置 [root@LookBack-server-OL03 ~]# cat .vimrc set nocompatible " be iMproved filetype off " required! set rtp+=~/.vim/bundle/vundle/ call vundle#rc() " let Vundle manage Vundle Bundle 'gmarik/vundle' "my Bundle here: " " original repos on github Bundle 'kien/ctrlp.vim' Bundle 'sukima/xmledit' Bundle 'sjl/gundo.vim' Bundle 'jiangmiao/auto-pairs' Bundle 'klen/python-mode' Bundle 'Valloric/ListToggle' Bundle 'SirVer/ultisnips' "Bundle 'Valloric/YouCompleteMe' Bundle 'scrooloose/syntastic' Bundle 't9md/vim-quickhl' "Bundle 'Lokaltog/vim-powerline' Bundle 'scrooloose/nerdcommenter' ".................................. " vim-scripts repos Bundle 'YankRing.vim' Bundle 'vcscommand.vim' Bundle 'ShowPairs' Bundle 'SudoEdit.vim' Bundle 'EasyGrep' Bundle 'VOoM' Bundle 'VimIM' ".................................. " non github repos " Bundle 'git://git.wincent.com/command-t.git' "...................................... filetype plugin indent on ###然后执行 [root@LookBack-server-OL03 ~]# vim +BundleInstall +qall
安装YouCompleteMe
[root@LookBack-server-OL03 ~]# \rm -rf ~/.vim/bundle/YouCompleteMe [root@LookBack-server-OL03 ~]# git clone https://github.com/Valloric/YouCompleteMe.git ~/.vim/bundle/YouCompleteMe [root@LookBack-server-OL03 ~]# cd ~/.vim/bundle/YouCompleteMe [root@LookBack-server-OL03 ~/.vim/bundle/YouCompleteMe]# git submodule update --init --recursive [root@LookBack-server-OL03 ~/.vim/bundle/YouCompleteMe]# ./install.sh --clang-completer
===========下面的不用看,博主卡在这里了==============
[root@LookBack-server-OL03 ~]# mkdir -pv ~/.vim/bundle && cd ~/.vim/bundle [root@LookBack-server-OL03 ~]# git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle [root@LookBack-server-OL03 ~]# echo "filetype off set rtp+=~/.vim/bundle/vundle/ call vundle#rc() Bundle 'Valloric/YouCompleteMe' filetype plugin indent on" >>/etc/vimrc [root@LookBack-server-OL03 ~]# git clone https://github.com/Valloric/YouCompleteMe.git ~/.vim/bundle/YouCompleteMe [root@LookBack-server-OL03 ~]# cd ~/.vim/bundle/YouCompleteMe/ [[root@LookBack-server-OL03 ~/.vim/bundle/YouCompleteMe]# git submodule update --init --recursive && cd ~/ [root@LookBack-server-OL03 ~/llvm-clang]# svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm [root@LookBack-server-OL03 ~/llvm-clang/llvm]# cd llvm/tools [root@LookBack-server-OL03 ~/llvm-clang/llvm/tools]# svn co http://llvm.org/svn/llvm-project/cfe/trunk clang [root@LookBack-server-OL03 ~/llvm-clang/llvm/tools]# cd ../.. [root@LookBack-server-OL03 ~/llvm-clang]# cd llvm/tools/clang/tools [root@LookBack-server-OL03 ~/llvm-clang/llvm/tools/clang/tools]# svn co http://llvm.org/svn/llvm-project/clang-tools-extra/trunk extra [root@LookBack-server-OL03 ~/llvm-clang/llvm/tools/clang/tools]# cd ../../../.. && cd llvm/projects [root@LookBack-server-OL03 ~/llvm-clang/llvm/projects]# svn co http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt [root@LookBack-server-OL03 ~/llvm-clang/llvm/projects]# cd ../.. [root@LookBack-server-OL03 ~/llvm-clang]# mkdir llvm-build && cd llvm-build/ [root@LookBack-server-OL03 ~]# tar xf cfe-3.*.src.tar.xz [root@LookBack-server-OL03 ~]# mkdir ycm_build [root@LookBack-server-OL03 ~]# cd ycm_build [root@LookBack-server-OL03 ~/ycm_build]# cmake -G "Unix Makefiles" . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp [root@LookBack-server-OL03 ~/ycm_build]# cmake -G "Unix Makefiles" -DPATH_TO_LLVM_ROOT=~/llvm-3.7.0.src . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp [root@LookBack-server-OL03 ~/ycm_build]#
稍后整理
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏