# Requirements

You need:

- cvs >= 1.9
- Qt >= 3.0 (>= 3.1 recommend)
- qmake (part of Qt)
- Unix or WinXX

You do _not_ need:

- root privilege

# Installation

If you use a precompiled binary package, go directly to step 6.
1. Untar the tarball and go into the toplevel directory of the LinCVS tarball.
$ tar -zxvf lincvs-1.x.x*.tgz
$ cd lincvs-1.x.x*
2. Set the QTDIR environment variable.
Bourne shell:
$ export QTDIR=path_to_your_qt
C shell:
$ setenv QTDIR path_to_your_qt

### Hint for FreeBSD:

If you have installed the official Qt package or port you must set QTDIR to /usr/X11R6.

### Hint for SuSE:

Under SuSE the usual QTDIR is /usr/lib/qt3.
3. Create Makefile for your system using qmake.
If you want support for FAM, read the FAM howto in the doc subdir!
$ qmake -o Makefile lincvs.pro
This will create the LinCVS project file, and at the same time start the ssh-askpass build in LinCVS/contrib/ssh-askpass/
If the shell can't find qmake you have to add the path to qmake to your PATH. $ export PATH=$QTDIR/bin:$PATH
or
$ setenv PATH $QTDIR/bin:$PATH
4. Make it.
$ make
If you get linker errors (undefined reference) take a look into the trouble shooting section.
And optional (sometimes the install rule generated by qmake contains the strip command, sometimes not)
$ strip lincvs
5. Install it into the AppDir.
$ make install
"Make install" copies all needed files into a subdirectory called LinCVS inside the toplevel directory.

### Important hint:

On some systems, "make install" fails, see troubleshooting section for more informations.
6. Now you can move this subdirectory whereever you want (we follow the "AppDir" concept, for more informations see http://rox.sourceforge.net).
Move the startscript template "lincvs" (you can find it in the LinCVS subdirectory) to a directory of your PATH. Adapt the exec call and the path accordingly to the path where you have moved the LinCVS subdirectory. Follow the comments in this startscript.
If you use ROX, you can skip this step.
$ mv path_to_your_LinCVS_subdir/lincvs /usr/local/bin/lincvs
$ $EDITOR /usr/local/bin/lincvs
7. Run it.
ROX users [double]click the LinCVS appdir, all other type lincvs.

# Trouble Shooting

On some system, you get the followoing error:
qmake: No such file or directory
this is because some distributors don't put the qmake into path. In this case, search for qmake, add it to your path and try again.
On some systems (for instance RedHat) the following error occurs:
exception handling disabled, use -fexceptions to enable
This is a bug of qmake or Qt caused by your distribution. Please add -fexceptions to the CXXFLAGS statement of the Makefile and run make again.
On some systems (for instance SuSE) the install rules in the generated Makefile are wrong because a bug in Qt. "Make install" try to strip directories.
As workaround open the Makefile and remove all lines containing strip rules for directories (or remove all lines containing strip if you are unsure)... updating of your Qt may help or not.
On some systems (for instance Debian) the Qt is compiled with QWindowsStyle as plugin. In this case you will get a lot of linker errors (undefined references). Open config/config.h and enable the define QT_NO_STYLE_WINDOWS:
old:
// #define QT_NO_STYLE_WINDOWS
new:
#define QT_NO_STYLE_WINDOWS
Run make again.
------------------------------------------------------------
If qmake fails on building ssh-askpass, just comment the last view lines in the lincvs.pro file after:
# on unix, compile ssh-askpass tool in contrib/ssh-askpass/
# and install into LinCVS/Tools
with a #, as the lines before mentioned are, and repeat step 3 and further.
In this case you will need to compile ssh-askpass manually (This is only required on some systems that don't provide a ssh-askpass tool). To manually compile do:
&> cd LinCVS/contrib/ssh-askpass
&> qmake ssh-askpass.pro
&> make
and copy the ssh-askpass binary to the location of your request.
In case of running into problems, please contact the mailing list at: