main-faq - NaviServer Frequently-Asked Questions (FAQ)
NaviServer Frequently-Asked Questions and Answers
NaviServer binary builds for many platforms are at <a href="http:/http://sourceforge.net/projects/naviserver/">http://sourceforge.net/projects/naviserver/
NaviServer builds very easily and the online documentation describes the process. We recommend that you use the defaults in include/Makefile.global when building your module. This file contains rules and knows how to build modules properly for all platforms NaviServer has been ported to. To link a shared object, we recommend the default which is: gcc -shared -nostartfiles On some Solaris installations the Cygnus compiler is unable to build working shared objects. We're told that if you put the -Wl,-E option in the nsd/Makefile when linking the executable, Cygnus works, but we have not verified this successfully. GCC from just about anywhere else will work. You can get a pre-built copy of GCC from <a href="http://www.sunfreeware.com/">http://www.sunfreeware.com or build your own from <a href="ftp://ftp.gnu.org/">ftp://ftp.gnu.org. Just install it and put a link to the new gcc in /usr/local/bin (keep the broken Cygnus in /usr/cygnus/bin in case you need it).
HINT: The magic option to GCC for the compiling step is "-fPIC", so if you're using a third-party library, make sure "-fPIC" appears in the CFLAGS. And, to eliminate the possibility of strange behavior, it is helpful but not necessary to build everything with the same compiler and using the same options. If you're using a third-party library for which no source code is available, you may run into problems if the vendor did not build it with the equivalent of "-fPIC" on their compiler. Shared objects must be position-independent.
Installing NaviServer is very straightforward and is covered in the online documentation. <a name="Database_Access">Database Access
NaviServer works with a great many databases including all the popular enterprise systems.
NaviServer has an active developer community as well as a very active user community. Links to these areas are at <a href="http://sourceforge.net/projects/naviserver/">http://sourceforge.net/projects/naviserver/.
NaviServer is extremely extensible and we host a great many community-contributed modules at <a href="http://sourceforge.net/projects/naviserver/">http://sourceforge.net/projects/naviserver/. You can contribute your software by following the guidelines on that page.
We accept any form of patches at the Source Forge link on the left of this page. We request that your patch include a test case and, if possible, a context diff against a tagged version of the NaviServer source code. In lieu of a test case we can also accept a narrative describing the problem in detail.