Contents: --------- 1. Unix like OS (CygWin, FreeBSD 4.8, 5.x) 2. Win32 & MinGW 3. Win32 & MSVC 7.x (VisualStudio.Net) 1. Unix es (included CygWin, FreeBSD 4.m 5.x) --------------------------------------------- ./configure make make install NOTE: 1) It You want install CGI script that can display result tables/hystograms in form of html pages, use directive --with-wwwdir=DIR where DIR is a path to which CGI scripts (nfcountcgi) will be installed. 2) You must have libpng and libgd (version 2 or higher) installed on You PC to build nfcounthyst. If You doesn't then nfcounthyst will be build and installed, but do nothing. 2. Win32 & MinGW ----------------- The different from Unix like OS consisit in parameters of 'make'. It must be run with parameter 'at-mingw': ./configure make at-mingw then copy executable files by manual Q: Why I need use this parameter? A: automake generates Makefile with compile rules like this: $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$< but at MinGW/MSYS enverounment this tend to errors, so it need to fix this line to this form: $(COMPILE) -c $(srcdir)/$< The other reason is that on my version of MinGW/MSYS 'make' fall in to infinite loop when make target 'all-recursive' in 'contrib' directory. Also it is why You can't do 'make install'. So, when You call 'make' with target 'at-mingw' it fix this bugs to make build possible. Also see NOTEs 1 and 2 at item 1. And NOTEs 1,2a,2b,3 at item 3. 3. Win32 & MSVC 7.x ---------------------- 1) You must have DLL-s for zlib, libbz2, libpng and libgd2. You can download it from somewere or build from sources. 2a)If You have .lib files for it, put it into the contrib/lib directory. 2b)If You have not .lib files, then put .dll files to the contrib/lib directory and by using dll2lib.bat make .lib When call dll2lib use .dll name (without extensions) as parameter. NOTE, that dll name must be same as .def file name. If Your .dll has different from .def file name then rename .def file, or create new (in dll2lib You have example how to get export symbols by using, MSVC tools) NOTE: libbz2 uses _stdcall call conversion so, when You create .lib from .dll by using simple .def file You got wrong .lib The first slution of this problen is use correct .lib. The second is to make by using "stub" file: http://support.microsoft.com/default.aspx?scid=kb;en-us;131313 The other solution is to make .lib from .def by ordinal value. This way is used by contrib/lib/libbz2.def file. But before using it make sure that function numbers in Your .dll same as used in .def file. You can see exported function names by using command: DUMPBIN /EXPORTS DLLNAME.dll 3) May be You need to update some sources in contrib/include and contrib directories. contrib/include - here the includes of zlib-1.2.1, libbz2-1.0.2, libpng-1.2.5 and libgd-2.0.11 contrib - here 3 source files with fonts from libgd-2.0.11 distribution 4) Use solution "nfcount.sln" in the package root directory. If .lib names not "libbz2.lib","libgd2.lib","libpng13.lib" or "zlib1.lib", then You must correct project Properties: Linker->Input->Additional dependencies 5) Press "Build" and use result.