Wednesday, January 5, 2011

VoraX on Vim 7.3

Apparently the VIM pack from Lucid repository has a nasty bug which causes VoraX to crash on my Ubuntu box with VTALRM signal (Virtual timer expired). I can't reproduce this behavior at will but it happens quite often to encounter this crash which, of course, is very annoying as I also loose all the work I did into my unsaved buffers.

So, I decided to compile the latest VIM version (7.3 at the time of writing this post) in order to get rid of this bug. Below are the steps I've done:

1. remove the actual VIM packages:
FITS\alec@tia ~ $ dpkg --list | grep vim
vim-common                            2:7.2.330-1ubuntu3                    Vi IMproved - Common files
vim-gnome                             2:7.2.330-1ubuntu3                    Vi IMproved - enhanced vi editor - with GNOM
vim-gui-common                        2:7.2.330-1ubuntu3                    Vi IMproved - Common GUI files
vim-runtime                           2:7.2.330-1ubuntu3                    Vi IMproved - Runtime files
vim-tiny                              2:7.2.330-1ubuntu3                    Vi IMproved - enhanced vi editor - compact v

FITS\alec@tia ~  # sudo apt-get remove vim-common vim-gnome vim-gui-common vim-runtime vim-tiny

2. install dependencies
sudo apt-get install libncurses5-dev libgnome2-dev libgnomeui-dev \ 
libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \ 
libcairo2-dev libx11-dev libxpm-dev libxt-dev

3. download vim7.3 from: ftp://ftp.vim.org/pub/vim/unix/vim-7.3.tar.bz2

4. unpack the archive: tar -jxvf vim-7.3.tar.bz2

5. configure, make and install:
cd vim73/src/
./configure --with-features=huge --enable-gui=gnome2 --enable-rubyinterp
make
sudo make install

Simple as that! VoraX seems to be stable now. I didn't experience any VTALRM crashes since then.

Update 1: Ups, today I received a VTALRM crash. I think the problem is not Vim but ruby itself. On Ubuntu ruby is compiled with libthread which may cause troubles. I will try with a pthread-less ruby to see if it makes any difference.

Update 2: I asked Vim community for help here. With the provided patch I didn't experience any new VTALRM crashes.

Update 3: The fix is included in Vim 7.3.118.

No comments: