Released versions of fossil come with pre-compiled binaries and a source archive for that release. You can thus skip the following if you want to run or build a release version of fossil. Just download the appropriate package from the downloads page and put it on your $PATH. To uninstall, simply delete the binary. To upgrade from an older release, just overwrite the older binary with the newer one.
Building and installing is very simple. Three steps:
Fossil is self-hosting, so you can obtain a ZIP archive or tarball containing a snapshot of the latest version directly from Fossil's own fossil repository. Additionally, source archives of released versions of fossil are available from the downloads page. To obtain a development version of fossil, follow these steps:
Point your web browser to http://www.fossil-scm.org/.
Click on the Timeline link at the top of the page.
Select a version of of Fossil you want to download. The latest version on the trunk branch is usually a good choice. Click on its link.
Finally, click on one of the "Zip Archive" or "Tarball" links, according to your preference. These link will build a ZIP archive or a gzip-compressed tarball of the complete source code and download it to your computer.
Unpack the ZIP or tarball you downloaded then cd into the directory created.
If you do not have the OpenSSL library installed on your system, then add --with-openssl=none to omit the https functionality.
To build a statically linked binary (suitable for use inside a chroot jail) add the --static option.
To enable the native [./th1.md#tclEval | Tcl integration feature] feature, add the --with-tcl=1 and --with-tcl-private-stubs=1 options.
Other configuration options can be seen by running ./configure --help
Run "make" to build the "fossil" or "fossil.exe" executable. The details depend on your platform and compiler.
Unix → the configure-generated Makefile should work on all Unix and Unix-like systems. Simply type "make".
Unix without running "configure" → if you prefer to avoid running configure, you can also use: make -f Makefile.classic. You may want to make minor edits to Makefile.classic to configure the build for your system.
MinGW3.x (not 4.0)/MinGW-w64 → Use the mingw makefile: "make -f win/Makefile.mingw". On a Windows box you will need either Cygwin or Msys as build environment. On Cygwin, Linux or Darwin you may want to make minor edits to win/Makefile.mingw to configure the cross-compile environment. To enable the native [./th1.md#tclEval | Tcl integration feature], use a command line like the following (all on one line): make -f win/Makefile.mingw FOSSIL_ENABLE_TCL=1 FOSSIL_ENABLE_TCL_STUBS=1 FOSSIL_ENABLE_TCL_PRIVATE_STUBS=1 Hint: don't use MinGW-4.0, it will compile but fossil won't work correctly, see https://www.fossil-scm.org/index.html/tktview/18cff45a4e210430e24c.
MSVC → Use the MSVC makefile. First
change to the "win/" subdirectory ("cd win") then run
"nmake /f Makefile.msc".
Alternatively, the batch
file "win\buildmsvc.bat" may be used and it will attempt to
detect and use the latest installed version of MSVC.
To enable
the optional OpenSSL support,
first download the official
source code for OpenSSL and extract it to an appropriately named
"openssl-X.Y.ZA" subdirectory within the local
[/tree?ci=trunk&name=compat | compat] directory (e.g.
"compat/openssl-1.0.2d"), then make sure that some recent
Perl binaries are installed locally,
and finally run one of the following commands:
nmake /f Makefile.msc FOSSIL_ENABLE_SSL=1 FOSSIL_BUILD_SSL=1 PERLDIR=C:\full\path\to\Perl\bin
To enable the optional native [./th1.md#tclEval | Tcl integration feature], run one of the following commands or add the "FOSSIL_ENABLE_TCL=1" argument to one of the other NMAKE command lines:buildmsvc.bat FOSSIL_ENABLE_SSL=1 FOSSIL_BUILD_SSL=1 PERLDIR=C:\full\path\to\Perl\bin
nmake /f Makefile.msc FOSSIL_ENABLE_TCL=1
buildmsvc.bat FOSSIL_ENABLE_TCL=1
Cygwin → The same as other Unix-like systems. It is recommended to configure using: "configure --disable-internal-sqlite", making sure you have the "libsqlite3-devel" , "zlib-devel" and "openssl-devel" packages installed first.
The finished binary is named "fossil" (or "fossil.exe" on Windows). Put this binary in a directory that is somewhere on your PATH environment variable. It does not matter where.
(Optional:) To uninstall, just delete the binary.
If the makefiles that come with Fossil do not work for you, or for some other reason you want to know how to build Fossil manually, then refer to the [./makefile.wiki | Fossil Build Process] document which describes in detail what the makefiles do behind the scenes.
The fossil executable is self-contained and stand-alone and usually requires no special libraries or other software to be installed. However, the "--tk" option to the [/help/diff|diff command] requires that Tcl/Tk be installed on the local machine. You can get Tcl/Tk from [http://www.activestate.com/activetcl|ActiveState].
To build on older Macs (circa 2002, MacOS 10.2) edit the Makefile generated by configure to add the following lines:
TCC += -DSQLITE_WITHOUT_ZONEMALLOC TCC += -D_BSD_SOURCE TCC += -DWITHOUT_ICONV TCC += -Dsocketlen_t=int TCC += -DSQLITE_MAX_MMAP_SIZE=0