Stone Steps Inc.

Article ID: Q20040929-02

Q: How can I build Stone Steps Webalizer from the source?

A:This page describes how to build Stone Steps Webalizer on Windows and Red Hat Linux. Please note that there is no need to build Stone Steps Webalizer from the source if you would like to change the default language. See Q20041007-01 for details.


Stone Steps Webalizer VC++ project is based on the following directory structure:

     + \common
     | + \gd
     | | + \gd-2.0.33
     | |
     | + \libpng
     | | + \lpng1223
     | |
     | + \db
     | | + \db-4.4.16
     | |
     | + \freetype
     | | + \freetype-2.1.10
     | |
     | + \zlib
     |   + \zlib123
     + \webalizer           --> webalizer.vcproj, webalizer.sln

The source for the third-party libraries required to build the project can be found at the locations listed below. Please note that we do not provide project files for these libraries.

Berkeley DB Library:
FreeType Library:
GD Graphics Library:
PNG Portable Network Graphics Library:
ZLIB Compression Library:

As of v2.1.10.11 of Stone Steps Webalizer, GD (gd.dll), PNG (libpng13.dll), ZLIB (zlib1.dll) and Berkeley DB (libdb44.dll) libraries are built as DLLs and should be copied to one of the folders where the system can find them (e.g. the directory where webalizer.exe is located) when Stone Steps Webalizer is being launched. The FreeType library is statically linked into the GD library.


Stone Steps Webalizer is written in C++ and requires the GNU C++ package installed (e.g. RedHat: gcc3-c++ or newer; Debian: g++-3.3 or newer). Make sure that development versions of ZLIB, GD and BerkeleyDB for C++ are installed before building Stone Steps Webalizer.

Run the the provided GNU make file from the directory where makefile.gnu is located:

make -f makefile.gnu

If the build was successful, the executable, webalizer, will be located in the build subdirectory of the current directory. See the article Q20050324-01 about installing and configuring Stone Steps Webalizer.

If you would like to change the location of the configuration directory (the default is /etc), define an additional symbol ETCDIR to the command line above:

make -f makefile.gnu ETCDIR="/etc/webalizer"