How I installed vim 7.0 on CentOS 4

From WhyNotWiki

Jump to: navigation, search

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
Personal tools