Downloading Vigor

Source tarball (0.016)

Get the source from the Vigor page and have fun with it! You may want to read over the section "Installing Vigor" below, though. I release by source tarball, so this is usually the most up-to-date version. It's also the only one that I can help with install problems on, since I am not generally familiar with the other formats.

Note that, because of namespace conflicts, as of 0.015, I changed Vigor to use the system curses, db, and re libraries. This WILL cause problems on some systems. (It also will fix problems on others.) If you have problems building Vigor from source, try running configure with "--enable-db --enable-re".

Debian (0.016)

Colin Watson has made an unofficial package of Vigor for Debian 2.2. He's graciously providing both the diffs and a i386 binary package. (Later versions may also be available; check his dist site.)

FreeBSD (0.014 at last check)

There is now a Vigor port in the 4.0-current port tree. I use FreeBSD myself, but I'm not the one responsible for the port (and I don't have commit privs), so it may fall out-of-date without my knowing it. Thanks to Bill Fumerola for committing this! (And I had been told that Vigor should be committed...)

NetBSD (0.010 at last check)

There is also a Vigor port in the NetBSD -current package tree. The NetBSD package system has binaries for i386 (1.4.2 and 1.4S), macppc, ofppc, and powerpc (1.4.2), and of course the usual source distro. Thanks to Hubert Feyrer for submitting the package (at 0.009), and Jaromir Dolecek for updating it to 0.010!

RedHat RPMs (0.010)

RPMs are available in source, Redhat 6/i386 binary, Redhat 5/i386 binary, and Redhat 6/Sparc64 binary formats. Thanks to Ganesh Sittampalam for making these available!


I'm looking into building a Cygwin+native Tk port for Windows, but I'm not yet sure if that will happen. Watch this space for details!

Installing Vigor

At present, some parts of Vigor are in a somewhat primitive state, particularly as far as the build is concerned. Suggestions for how to make things build on various OS's are gratefully accepted. For the most part, compiling vigor usually goes something like this:

gunzip vigor-0.016.tar.gz
tar -xvf vigor-0.016.tar
cd vigor-0.016/build
export ADDCPPFLAGS="-I/usr/local/include/tcl8.2 -I/usr/local/include/tk8.2"
export ADDLDFLAGS="-L/usr/local/lib"
make install
Substitute your locations for tcl.h, tk.h, and libtcl.a on the ADDCPPFLAGS and ADDLDFLAGS lines. If you still have problems building Vigor, read the suggestions below, look in the build/README file, and if all else fails, drop me an email describing the problem.

Vigor does not support nvi's Tk interface (and configure doesn't give you that option), and may have trouble compiling in the Perl interpreter (which is not included by default). [Update: I think that I fixed the problem with the Perl interpreter.] You will want to read build/README to get the skinny on building nvi. Vigor will always build in nvi's TCL interpreter.

Vigor is written in C and Tcl/Tk. You must have Tcl/Tk installed to use Vigor. I'm not sure what versions work. I wrote from Ousterhout's book, so I think anything after 7.3 is fine. Most people seem to have been using Tcl/Tk 8.0 or 8.2, and things seem fine there.

Note that, because of namespace conflicts, as of 0.015, I changed Vigor to use the system curses, db, and re libraries. This WILL cause problems on some systems. (It also will fix problems on others.) If you have problems building Vigor from source, try running configure with "--enable-db --enable-re".

OS Notes

You may want to look over whatever systems are similar to yours.

LinuxPPC Redhat GNU/Linux 5

I've heard reports of trouble building on this system. Has anybody successfully compiled Vigor on LinuxPPC Redhat GNU/Linux 5, or any other LinuxPPC platform?

Redhat GNU/Linux 5.2

You may need to set the environment variable ADDLIBS to "-ldl" before running configure. (I've heard a report that "-lm -ltermcap" are also needed, but the reporter now believes that to be incorrect. Adding them won't hurt anything, though.) UPDATE: As of Vigor 0.009, this should no longer be necessary; configure will look for and use -ldl on its own.

Even so you may still get this warning:

ex_script.o: In function `sscr_pty':
ex_script.o(.text+0xf63): warning: revoke is not implemented and will always fail
This warning (and many others) are completely ignorable.

Sven Winnecke, who reported this, also notes that the program builds fine on Redhat 6.1 systems.

HP-UX 10.20 (and probably 11.00)

On HP-UX 10.20, using the binary installs of Tcl and Tk from the University of Utah's HP-UX software site, I had to create a symlink from /opt/tcl8.3/tk8.0 to /opt/tk8.0/lib/X11. (I may have the version numbers wrong; I'm typing this from memory.) Also, after making running configure, I had to change "-ltcl" in the Makefile to /opt/tcl8.3/lib/libtcl.a or the compile would fail. I don't yet know why.

FreeBSD (and possibly others)

tcl.h, tk.h, and friends must be in the cpp include path. If they are in some directory like /usr/local/include/tcl8.0, I suggest setting ADDCPPFLAGS to "-I/usr/local/include/tcl8.0" before running configure. (Note that configure does not check for tcl.h, although it does look for -ltcl.) The same goes for Tk. Again, see build/README for details, and bear in mind that I haven't edited it for Vigor's differences from nvi.

A few OS's (notably FreeBSD) install Tcl with the version number appended to the library. On such an OS, you must make a symlink to libtcl.a or (with the appropriate extention for shared libraries on your OS); same goes for libtk.

Solaris 2.5.1

The u_int8_t problems on Solaris have been fixed as of Vigor 0.010. Thanks to John West for providing the information to fix it!


When configuring for Cygwin, create a directory /var/preserve/vi.recover and make it world-writable. (See the comments in for alternative directories.) (I haven't yet received confirmation that it works after that, though.)

Jumping Vigor Bug

Some users have reported that Vigor 0.013, after starting up, jumps around the screen as fast as the system can go. This is not correct behavior. I haven't yet figured out why it happens, but as of Vigor 0.014, I've disabled the code that made it happen. I would welcome ideas from Tk wizards about why this was happening! (It was related to an ugly hack at the top of vigor_eula... see the comments there.) If you see Vigor jumping more than once a second, you've probably rediscovered this bug; please let me know!

In Case Of Trouble

If you're having trouble building Vigor and are writing for help, please send me as much of the following as possible. If you don't have everything, write me anyway, but this information will help me figure out the problem.

If the trouble is happening when you run configure, send me the file config.log (or at least the final bit of it).

If the trouble is happening when you run make, send me the last several lines that make produced.

If the trouble is when you run Vigor, send me a description of the trouble you're seeing. "It doesn't work for me" is not a bug report.

I'm glad to help out as I can. Vigor has lots of bugs, and I'm constantly trying to find them and clean them up. Sending me complete information will help me fix Vigor sooner.