Building / Compilation Instructions for the Windows-OpenACS System
This page shows how the Windows-OpenACS has been built/compiled. Hopefully it can be of some help for people willing to try to undertake a similar endeavour.
Take Note
These instructions are not complete, they just provide some hints on how to compile and build the Windows-OpenACS system. Spazio IT offers consultancies on compiling, installing and running Naviserver as well as OpenACS based applications.
Common Instructions
This is the common algorithm/workflow used to build each single component.
- Get the sources – you can find the sources on the net or use the ones contained in the Windows-OpenACS distribution.
- Locate the “win” build folder
- Modify/Correct as required the makefiles and the source codes – the changes/corrections to be applied depend on the actual version of the Microsoft Visual Studio C++ Compiler in use; the Windows-OpenACS distribution contains the sources that have been modified to be compiled with the Microsoft Visual Studio 2022 C/C++ Compiler
- Execute in sequence
- nmake -f makefile.vc OPTS=threads INSTALLDIR=c:\naviserver
- nmake -f makefile.vc OPTS=threads INSTALLDIR=c:\naviserver install
- Copy all the *.exe, *.dll and *.manifest files into c:\naviserver\bin
- Copy the *.lib files into c:\naviserver\lib
Tcl
- Extract/Unzip the Tcl sources under c:\tcl8.6.13
- Go in the directory c:\tcl8.6.13\win
- Enter in sequence
- nmake -f makefile.vc OPTS=threads INSTALLDIR=c:\naviserver
- nmake -f makefile.vc OPTS=threads INSTALLDIR=c:\naviserver install
Tk
- Extract/Unzip the Tk sources under c:\tk8.6.13
- Go in the directory c:\tk8.6.13\win
- Enter in sequence
- nmake -f makefile.vc OPTS=threads TCLDIR=c:\tcl8.6.13 INSTALLDIR=c:\naviserver
- nmake -f makefile.vc OPTS=threads TCLDIR=c:\tcl8.6.13 INSTALLDIR=c:\naviserver install
tDOM
- Extract/Unzip the tDOM sources under c:\tDOM-0.9.1
- Go in the directory c:\tDOM-0.9.1\win
- Execute in sequence
- nmake -f makefile.vc OPTS=threads TCLDIR=c:\tcl8.6.11 INSTALLDIR=c:\naviserver
- nmake -f makefile.vc OPTS=threads TCLDIR=c:\tcl8.6.11 INSTALLDIR=c:\naviserver install
XOTcl (nsf)
- Extract/Unzip the XOTcl sources under c:\nsf-2.3.0
- Go in the directory c:\nsf-2.3.0\win
- Execute in sequence
- nmake -f makefile.vc OPTS=threads TCLDIR=C:\tcl8.6.11 TCLSH=tclsh86t INSTALLDIR=c:\naviserver
- nmake -f makefile.vc OPTS=threads TCLDIR=C:\tcl8.6.11 TCLSH=tclsh86t INSTALLDIR=c:\naviserver install
Tcllib
- Extract/Unzip the Tcllib sources under c:\tcllib-1.20
- Go in the directory c:\tcllib-1.20
- Execute
- \naviserver\bin\tclsh86t installer.tcl
OpenSSL
- Extract/Unzip the OpenSSL sources under c:\openssl-3.1.3
- Go in the directory c:\openssl-3.1.3
- Execute in sequence
- perl Configure VC-WIN64A no-asm
- nmake
- nmake install
zlib
- Extract/Unzip the zlib sources under c:\zlib-1.2.11
- Go in the directory zlib-1.2.11
- Execute in sequence
- nmake -f win32\Makefile.msc
- copy *.lib C:\naviserver\lib
- copy zlib.lib C:\naviserver\lib\zlibstat.lib
Naviserver
A Visual Studio 2019 Solution File is included in the distribution.
libthread
- Extract/Unzip the libthread sources under c:\thread2.8.6
- Go in the directory c:\thread2.8.6\win
- Execute in sequence
- nmake -nologo -f makefile.vc TCLDIR=C:\tcl8.6.11 INSTALLDIR=C:\naviserver ADDOPTDEFINES=”-DNS_AOLSERVER” ADDLINKOPTS=”\naviserver\lib\nsd.lib \naviserver\lib\nsthread.lib /export:Ns_ModuleInit /export:Ns_ModuleVersion”
- nmake -nologo -f makefile.vc TCLDIR=C:\tcl8.6.11 INSTALLDIR=C:\naviserver ADDOPTDEFINES=”-DNS_AOLSERVER” ADDLINKOPTS=”\naviserver\lib\nsd.lib \naviserver\lib\nsthread.lib /export:Ns_ModuleInit /export:Ns_ModuleVersion” install
Good luck!