Rudiments should build on relatively modern versions of Linux, Unix or Unix-like systems including Solaris, FreeBSD, NetBSD, OpenBSD, Mac OS X, Haiku and Cygwin.
x86 and x86_64 platforms are supported, as are non-x86 architectures such as ARM, Sparc, Mips, PPC and others.
uClibc/linux-based systems are also supported.
Most of Rudiments builds natively on Windows using Visual Studio but the server components do not yet build and many functions simply return failure. Still, there is quite a bit that does work.
PrerequisitesTo build on a unix-like platform, Rudiments requires a working compiler toolchain and the make utility. If OpenSSL and/or the Perl Compatible Regular Expression libraries are present then the build process will detect them and include support for them but they are not required.
To build natively on Windows, you need to install Microsoft Visual Studio or Microsoft Visual Studio Express.
Downloading RudimentsYou can download the most current source distribution of Rudiments from http://rudiments.sourceforge.net.
If you intend to build on Unix, Linux or Cygwin then download the tar.gz file. For a native Windows installation, download the zip file.
Extracting RudimentsTo extract the distribution on Unix or Linux, move the file to a location on your machine that you have read/write access to and execute the following commands:
gunzip rudiments-X.XX.tar.gz
tar xf rudiments-X.XX.tar
(Where X.XX is replaced with the version of Rudiments that you downloaded.)
This will create a rudiments-X.XX directory.
To extract the distribution on Windows, move the zip file to your desktop or a location on your machine that you have read/write access, right click on the file and select "Extract All".
This will create a rudiments-X.XX directory where X.XX is replaced with the rudiments version number.
Building RudimentsTo build Rudiments on Unix, Linux or a Unix-like platforms, navigate to the directory that was created by the extraction and execute the following commands:
configure
make
The configure script takes lots of command line options, most of which tell it which features to enable or disable or where to find prerequisite software in case any of it is installed in non-standard locations. It also takes the --prefix option in case you want to install it somewhere other than /usr/local/firstworks. For example:
configure --prefix=/usr/local
This invocation would cause the libraries to be installed in /usr/local/lib, the header files in /usr/local/include, the binaries and scripts to be installed in /usr/local/bin, etc.
There are also options for using cross-compilers and enabling debug and profiling. To see the full list of available options, run:
configure --help
NOTE: to compile on Cygwin, the file command must be present. If it is not, the build will fail and you will get a very cryptic error.
To build Rudiments natively on Windows, open the Visual Studio Command Prompt and navigate to the directory that was created when Rudiments was extracted.
There should be a file named make.batch in that directory. Rename this file to make.bat. It is named with the .batch extension because various mail services don't allow .bat files to be emailed around, even if they are inside of an archive. To get around this, the file must manually be renamed.
There are two build options. SQL Relay can be built with or without Common Language Runtime (CLR) support. There are advantages and disadvantages to building either way.
To build without CLR support, run:
make
To build with CLR support, run:
make clrInstalling Rudiments
By default, on Unix or Linux, everything is installed under /usr/local/firstworks by default. On Windows, it is installed under C:\Program Files\Firstworks. On either platform, you should either create that directory and give yourself full access permissions or install as root/Administrator.
To install Rudiments run:
make install
To uninstall Rudiments run:
make uninstallInstalling Rudiments RPMS
If your system supports RedHat Package Manager version 4.0.3 or greater then you can build RPMS by running the following command against the source distribution tarball:
rpm -ta rudiments-X.XX.tar.gz
(where X.XX is replaced with the version number)
This will generate RPM's in the system-wide RPM directory (usually /usr/src/redhat/RPMS or /usr/local/rpm/RPMS) under the subdirectory corresponding to your system architecture. You can install them by changing directories into that directory and executing the following command as root:
rpm -i rudiments-*