How I installed vim 7.0 on CentOS 4
From WhyNotWiki
I Googled for "vim 7" "rhel4"
I found this: http://www.karan.org/blog/index.php/2006/05/10/vim7_for_centos4_rhel4 which in turn led to http://www.karan.org/mock/el4_vim7/
I didn't know which package (vim, vim-enhanced, ...) I needed, so I started with just plain old "vim".
# wget http://www.karan.org/mock/el4_vim7/vim-7.0.035-1.el4.kb.src.rpm # file vim-7.0.035-1.el4.kb.src.rpm vim-7.0.035-1.el4.kb.src.rpm: RPM v3 src i386 vim-7.0.035-1.el4.kb # yum install vim-7.0.035-1.el4.kb.src.rpm ... Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: vim i386 2:7.0.035-1.el4.kb vim-7.0.035-1.el4.kb.src.rpm 8.2 M Installing for dependencies: atk i386 1.8.0-2 base 170 k atk-devel i386 1.8.0-2 base 86 k autoconf noarch 2.59-5 base 628 k desktop-file-utils i386 0.9-3.el4 base 108 k fontconfig-devel i386 2.2.3-13.el4 base 233 k freetype-devel i386 2.1.9-6.el4 base 533 k glib2-devel i386 2.4.7-1 base 936 k gpm-devel i386 1.20.1-71.RHEL4 base 25 k gtk2 i386 2.4.13-22 base 4.3 M gtk2-devel i386 2.4.13-22 base 2.1 M libacl-devel i386 2.2.23-5.3.el4 base 78 k libattr-devel i386 2.4.16-3.1.el4 base 28 k libselinux-devel i386 1.19.1-7.4 base 85 k libtermcap-devel i386 2.0.8-39 base 54 k pango i386 1.6.0-9 base 271 k pango-devel i386 1.6.0-9 base 173 k pkgconfig i386 1:0.15.0-3 base 47 k python-devel i386 2.3.4-14.4.el4_6.1 update 1.4 M xorg-x11-devel i386 6.8.2-1.EL.33.0.2 update 5.1 M Updating for dependencies: freetype i386 2.1.9-6.el4 base 763 k python i386 2.3.4-14.4.el4_6.1 update 4.8 M xorg-x11-libs i386 6.8.2-1.EL.33.0.2 update 2.7 M Transaction Summary ============================================================================= Install 20 Package(s) Update 3 Package(s) Remove 0 Package(s) Total download size: 33 M Is this ok [y/N]: y Downloading Packages: (1/22): gtk2-devel-2.4.13 100% |=========================| 2.1 MB 00:02 ... Package vim-7.0.035-1.el4.kb.src.rpm is not signed
I beat that by temporarily making this change to /usr/lib/python2.3/site-packages/yum/__init__.py
elif sigresult == 4:
result = 0 # changed from result = 2
msg = 'Package %s is not signed' % localfn
(a terrible hack, but I couldn't find a better solution)
This didn't work, for example:
> yum localinstall --nogpgcheck vim-7.0.035-1.el4.kb.src.rpm Command line error: no such option: --nogpgcheck
rpm has a --nosignature I could have tried... but when I tried running the rpm command, I got other weird errors...
# rpm -ivh vim-7.0.035-1.el4.kb.src.rpm 1:vim warning: user kbsingh does not exist - using root warning: group kbsingh does not exist - using root ########################################### [100%] error: unpacking of archive failed on file /usr/src/redhat/SOURCES/7.0.001;47c5e5d5: cpio: open failed - Not a directory
And later (after successfully installing vim, vim-common, vim-enhanced):
# rpm -i --nosignature vim-minimal-7.0.035-1.el4.kb.i386.rpm
file /bin/vi from install of vim-minimal-7.0.035-1.el4.kb conflicts with file from package vim-minimal-6.3.046-0.40E.7
# yum remove vim-minimal-6.3.046
Setting up Remove Process
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Package vim-minimal.i386 1:6.3.046-0.40E.7 set to be erased
--> Running transaction check
...
--> Processing Dependency: vim-minimal for package: sudo
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Package sudo.i386 0:1.6.7p5-30.1.3 set to be erased
--> Running transaction check
Dependencies Resolved
=============================================================================
Package Arch Version Repository Size
=============================================================================
Removing:
vim-minimal i386 1:6.3.046-0.40E.7 installed 459 k
Removing for dependencies:
sudo i386 1.6.7p5-30.1.3 installed 336 k
Transaction Summary
=============================================================================
Install 0 Package(s)
Update 0 Package(s)
Remove 2 Package(s)
Total download size: 0
Is this ok [y/N]: n
... so I went back to using yum.
Anyway, I got that package installed, like so...
# yum localinstall vim-7.0.035-1.el4.kb.src.rpm ... Running Transaction Updating : freetype ####################### [ 1/26] Updating : xorg-x11-libs ####################### [ 2/26] Installing: pango ####################### [ 3/26] Installing: freetype-devel ####################### [ 4/26] Installing: fontconfig-devel ####################### [ 5/26] Installing: pkgconfig ####################### [ 6/26] Installing: glib2-devel ####################### [ 7/26] Installing: xorg-x11-devel ####################### [ 8/26] Updating : python ####################### [ 9/26] Installing: atk ####################### [10/26] Installing: atk-devel ####################### [11/26] Installing: gtk2 ####################### [12/26] Installing: python-devel ####################### [13/26] Installing: pango-devel ####################### [14/26] Installing: gtk2-devel ####################### [15/26] Installing: libtermcap-devel ####################### [16/26] Installing: desktop-file-utils ####################### [17/26] Installing: libattr-devel ####################### [18/26] Installing: libacl-devel ####################### [19/26] Installing: libselinux-devel ####################### [20/26] Installing: autoconf ####################### [21/26] Installing: gpm-devel ####################### [22/26] warning: user kbsingh does not exist - using root warning: group kbsingh does not exist - using root Installing: vim [23/26]warning: user kbsingh does not exist - using root ...
But when I checked vim --version, it still said 6.3... Weird!
# yum list installed | grep vim vim.i386 2:7.0.035-1.el4.kb installed vim-common.i386 1:6.3.046-0.40E.7.i386 installed vim-enhanced.i386 1:6.3.046-0.40E.7.i386 installed vim-minimal.i386 1:6.3.046-0.40E.7 installed
I guess I need those other packages after all!
# yum localinstall vim-enhanced-7.0.035-1.el4.kb.i386.rpm Setting up Local Package Process Examining vim-enhanced-7.0.035-1.el4.kb.i386.rpm: vim-enhanced - 2:7.0.035-1.el4.kb.i386 Marking vim-enhanced-7.0.035-1.el4.kb.i386.rpm as an update to vim-enhanced - 1:6.3.046-0.40E.7.i386 Resolving Dependencies --> Populating transaction set with selected packages. Please wait. ---> Package vim-enhanced.i386 2:7.0.035-1.el4.kb set to be updated --> Running transaction check ... Reading repository metadata in from local files --> Processing Dependency: vim-common = 2:7.0.035-1.el4.kb for package: vim-enhanced --> Finished Dependency Resolution Error: Missing Dependency: vim-common = 2:7.0.035-1.el4.kb is needed by package vim-enhanced
# wget http://www.karan.org/mock/el4_vim7/vim-common-7.0.035-1.el4.kb.i386.rpm # yum localinstall vim-common-7.0.035-1.el4.kb.i386.rpm Setting up Local Package Process Examining vim-common-7.0.035-1.el4.kb.i386.rpm: vim-common - 2:7.0.035-1.el4.kb.i386 Marking vim-common-7.0.035-1.el4.kb.i386.rpm as an update to vim-common - 1:6.3.046-0.40E.7.i386 Resolving Dependencies --> Populating transaction set with selected packages. Please wait. ---> Package vim-common.i386 2:7.0.035-1.el4.kb set to be updated --> Running transaction check ... Reading repository metadata in from local files --> Processing Dependency: vim-common = 1:6.3.046-0.40E.7 for package: vim-enhanced --> Finished Dependency Resolution Error: Missing Dependency: vim-common = 1:6.3.046-0.40E.7 is needed by package vim-enhanced
# yum remove vim-enhanced
yum localinstall vim-common-7.0.035-1.el4.kb.i386.rpm Setting up Local Package Process Examining vim-common-7.0.035-1.el4.kb.i386.rpm: vim-common - 2:7.0.035-1.el4.kb.i386 Marking vim-common-7.0.035-1.el4.kb.i386.rpm as an update to vim-common - 1:6.3.046-0.40E.7.i386 Resolving Dependencies --> Populating transaction set with selected packages. Please wait. ---> Package vim-common.i386 2:7.0.035-1.el4.kb set to be updated --> Running transaction check ... Transaction Test Succeeded Running Transaction Updating : vim-common ######################### [1/2] Cleanup : vim-common ######################### [2/2] Updated: vim-common.i386 2:7.0.035-1.el4.kb Complete!
# yum localinstall vim-enhanced-7.0.035-1.el4.kb.i386.rpm Setting up Local Package Process Examining vim-enhanced-7.0.035-1.el4.kb.i386.rpm: vim-enhanced - 2:7.0.035-1.el4.kb.i386 Marking vim-enhanced-7.0.035-1.el4.kb.i386.rpm to be installed Resolving Dependencies --> Populating transaction set with selected packages. Please wait. ---> Package vim-enhanced.i386 2:7.0.035-1.el4.kb set to be updated --> Running transaction check ... Transaction Test Succeeded Running Transaction Installing: vim-enhanced ######################### [1/1] Installed: vim-enhanced.i386 2:7.0.035-1.el4.kb Complete!
# vim --version
VIM - Vi IMproved 7.0 (2006 May 7, compiled Jul 12 2006 14:05:52)
Included patches: 1-4, 7-17, 19-26, 29-31, 33-35
Modified by <bugzilla@redhat.com>
Compiled by <bugzilla@redhat.com>
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
+cryptv +cscope +cursorshape +dialog_con +diff +digraphs -dnd -ebcdic
+emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path +find_in_path
+folding -footer +fork() +gettext -hangul_input +iconv +insert_expand +jumplist
+keymap +langmap +libcall +linebreak +lispindent +listcmds +localmap +menu
+mksession +modify_fname +mouse -mouseshape +mouse_dec +mouse_gpm
-mouse_jsbterm +mouse_netterm +mouse_xterm +multi_byte +multi_lang -mzscheme
-netbeans_intg -osfiletype +path_extra +perl +postscript +printer +profile
+python +quickfix +reltime +rightleft -ruby +scrollbind +signs +smartindent
-sniff +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: "/etc/vimrc"
user vimrc file: "$HOME/.vimrc"
user exrc file: "$HOME/.exrc"
fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -O2 -pipe -m32 -march=i386 -mtune=pentium4 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -I/usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE -I/usr/include/python2.3 -pthread
Linking: gcc -Wl,-E -Wl,-rpath,/usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE -L/usr/local/lib -o vim -lncurses -lselinux -lacl -lgpm -Wl,-E -Wl,-rpath,/usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE -L/usr/local/lib /usr/lib/perl5/5.8.5/i386-linux-thread-multi/auto/DynaLoader/DynaLoader.a -L/usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE -lperl -lutil -lc -L/usr/lib/python2.3/config -lpython2.3 -lutil -lm -Xlinker -export-dynamic
Success!
# yum list installed | grep vim vim.i386 2:7.0.035-1.el4.kb installed vim-common.i386 2:7.0.035-1.el4.kb installed vim-enhanced.i386 2:7.0.035-1.el4.kb installed vim-minimal.i386 1:6.3.046-0.40E.7 installed
Just to be complete...
# wget http://www.karan.org/mock/el4_vim7/vim-minimal-7.0.035-1.el4.kb.i386.rpm # yum localinstall vim-minimal-7.0.035-1.el4.kb.i386.rpm # yum list installed | grep vim vim.i386 2:7.0.035-1.el4.kb installed vim-common.i386 2:7.0.035-1.el4.kb installed vim-enhanced.i386 2:7.0.035-1.el4.kb installed vim-minimal.i386 2:7.0.035-1.el4.kb installed
