Installing RLM
To install RLM, follow these steps:
First, Download the kit from the Reprise website
To download RLM, go to the Reprise Website Download area, enter your username and password, and select the kit(s) you want to download. Save these on your system, then uncompress and (on Unix) extract the binaries with the tar xvf command.
Each kit has a descriptive name on the website. The file names of the kits follow Reprise Software’s platform naming conventions, with “.tar.gz” (Unix) or “.zip” (Windows) appended.
View Platform Kits
Platform |
Platform Name |
Kit file name |
---|---|---|
HP-UX on PA-Risc |
hp_h1 |
hp_h1.tar.gz |
HP-UX 64-bit on PA-Risc |
hp64_h1 |
hp64_h1.tar.gz |
IBM AIX 32-bit |
ibm_a1 |
ibm_a1.tar.gz |
IBM AIX 64-bit |
ibm64_a1 |
ibm64_a1.tar.gz |
Linux on Intel X86 |
x86_l1, x86_l2 |
x86_l1.tar.gz, x86_l2.tar.gz |
Linux 64-bit on Intel |
x64_l1 |
x64_l1.tar.gz |
Mac on Intel X86 |
x86_m1 |
x86_m1.tar.gz |
Mac on PPC |
ppc_m1 |
ppc_m1.tar.gz |
Solaris 32-bit on Intel |
x86_s1 |
x86_s1.tar.gz |
Solaris 64-bit on Intel |
x64_s1 |
x64_s1.tar.gz |
Solaris on Sparc |
sun_s1 |
sun_s1.tar.gz |
Solaris 64-bit on Sparc |
sun64_s1 |
sun64_s1.tar.gz |
Windows on Intel X86 (Visual C 2013) |
x86_w3 |
rlm.vX.YBLZ-x86_w3.zip |
Windows 64-bit on Intel X86 (Visual C 2013) |
x64_w3 |
rlm.vX.YBLZ-x64_w3.zip |
Windows on Intel X86 (visual C 2015+) |
x86_w4 |
rlm.vX.YBLZ-x86_w3.zip |
Windows 64-bit on Intel X86 (visual C 2015+) |
x64_w4 |
rlm.vX.YBLZ-x64_w3.zip |
Java for Unix (requires x86_l2, x64_l1, or x86_m1 kit. x86_l2 only prior to RLM v6) |
java_unix |
java_unix.tar.gz |
Next, unpack the kit and install
For the majority of cases using a C-compiler, follow the instructions in this section.
For information on using RLM with Java, see Using RLM with Languages other than C/C++.
For information on using RLM in a cross-development environment, see Building the RLM kit using a cross-compiler.
To unpack the kit and perform the installation, follow these steps: At the shell prompt on Unix:
% gunzip platform.tar.gz
% tar xvf platform.tar
% ./INSTALL
% # update src/license_to_run.h if required
% # Your license for RLM comes via email from Reprise Software.
% # RLM kits are pre-built with demo licenses valid for
% # approximately two months from date of release.
% cd platform
% make
Warning
RLM requires a license to operate from Reprise Software.
On Windows, the kit is a Windows .zip file. Extract the .zip file, whose name is rlm.ver-platform.zip, where ver is the RLM version and platform is the RLM platform name. For example, rlm.v13.0BL1-x86_w4.zip is the kit for v13.0BL2 on the x86_w4 platform. Extract the .zip file to the preferred installation location (for example: C:\Reprise\).
Previously, the Windows kit came packaged as an executable that provided the option to copy the key pair from an existing RLM installation into the new install. The key pair must now be manually copied if there is an existing installation. Copying the key pair is useful if you are upgrading your RLM version, or installing RLM on another system at the same release level and wish to use the same key pair. Copying the key pair is important for having compatible license signatures across the installations and is recommended.
RLM kits are pre-built for ISV “demo”, with licenses that expire 30-60 days after the release date. If your demo license has expired, you will need to put the new license you received from Reprise Software into the file src\license_to_run.h. If you have purchased RLM, you will need to edit src\license_to_run.h to replace the license there with your permanent license, and you will also need to edit the makefile in the binary directory (x86_w* or x64_w*) to change your ISV name. If you plan to use the example license file example.lic in the platform directory, edit the file, and change all instances of “demo” to your ISV name.
Warning
RLM requires a license to operate from Reprise Software.
You have 2 options for building RLM on Windows - you can either use a Visual Studio or Visual C++ Project, or a Command Window. Each method has the same outputs; choose the method you’re more comfortable with.
To build using Visual Studio/Visual C++:
The platform directories (x86_w* and x64_w*) contain Microsoft Visual Studio or Visual C++ project and workspace files. Double-click on the appropriate file to launch Visual Studio/Visual C++. In x86_w3, double-click on x86_w3.vcproj. In x64_w4, double-click on x64_w4vcproj, etc.
When the development environment comes up, click on the Build menu and select “Rebuild All” (Visual C++) or “Build Solution” (Visual Studio). When the build is done, the output window should indicate 0 errors and warnings.
You may be prompted to allow Visual C++ to convert the project to a later version. Allow it to do so, then proceed.
To build using a Command Window:
Create a command window with the Visual C++ environment set up
Create a command window and run a batch file provided by Microsoft to set up your command window for the next step. The batch file is Program Files [(x86)]Microsoft Visual Studio <version>\VC\vcvarsall.bat
- -OR-
Create a command window via the Start->MS VisualStudioxxx or Start->MS Visual C++ menu. The specific sub-menu items vary with version, but the target is “Visual Studio Command Prompt”.
cd to the platform directory of the SDK, for example:
cd x86_w3
Type nmake
A note about OpenSSL
Note
As of RLM v12.0 on Linux and v12.2 on Windows, RLM uses a private name space for the OpenSSL routines, so the need to remove those modules from the RLM library to avoid conflicts with other OpenSSL implementations that you link into your application has gone away, and you can ignore the remainder of this paragraph.
If you are using an earlier version of RLM and wish to build a client library on Unix systems which does not contain any of the OpenSSL library routines, execute the make rlm_nossl.a command after installing your kit. The resulting library can be used to link your application if you use OpenSSL as part of your application and you use a different OpenSSL version.
Building the RLM kit using a cross-compiler
On certain platforms (e.g., arm_l1 and xpi_l1), the RLM kit must be cross-compiled on a host system which doesn’t run the target instruction set. For these platforms, follow the directions here.
Note
These directions are for Unix systems only, to do cross-development on Windows, you are on your own. See the makefile.
To unpack the kit and perform the installation, follow these steps:
At the shell prompt on Unix:
% gunzip platform.tar.gz
% tar xvf platform.tar
% ./INSTALL
% # update src/license_to_run.h if required
% # Your license for RLM comes via email from Reprise Software.
% # RLM kits are pre-built with demo licenses valid for
% # approximately two months from date of release.
% cd platform
At this point, on a “normal” RLM platform, you would simply type “make”. However, in a cross development environment, the make process is split into 4 or 5 steps. In these instructions, we will refer to the two systems as the host (the system with the cross-development tools), and the target - the target system which does not have development tools.
First, on the host system (the one with the cross-development tools):
% make step1
Next, copy rlmgenkeys to the target; run rlmgenkeys; copy rlm_privkey.c and rlm_pubkey.c back to the host system into the src directory.
Next, on the host system:
% make step3
Next, copy the kit (the whole directory, e.g. arm_l1) to the target.
Next, on the target: (optional, only if you have a full client-server RLM kit).
% make step5
Your kit is now built on the target and ready to use.
Note
Skip steps 1 and 2 if you have a key pair from another RLM platform, and put the keys into the src directory on the host system; start from step 3 above. Skip step 5 if you have a client-only kit, or if you do not care about creating an ISV.set settings file.
RLM kit layout
Each RLM kit (for a particular platform) is contained in 3 or 5 subdirectories:
Machine-independent subdirectory (src)
Machine-independent examples subdirectory (examples)
Machine-dependent subdirectory (name varies for each platform)
In addition, on Windows, there is an additional directory:
A directory of .NET support files called “dotnet”.
Java support is contained in an independent directory called either “java_unix” or “java_win”.
The platform names for RLM follow the convention:
arch_[os][ver]
where:
arch is the Reprise Software name for the processor/chip architecture
os is the Reprise Software identifier for the operating system, and
ver is the Reprise Software identifier for our version of RLM OS support (note: this is NOT the operating system version)
Current RLM platform names are:
Platform |
Directory Name |
Notes |
---|---|---|
HP-UX on PA-Risc |
hp_h1 |
|
HP-UX 64-bit on PA-Risc |
hp64_h1 |
|
IBM AIX 32-bit |
ibm_a1 |
|
IBM AIX 64-bit |
ibm64_a1 |
|
Linux on ARM |
arm_l1 |
Client-only kit |
Linux on Intel X86 |
x86_l2 |
|
Linux (64-bit) on Intel |
x64_l1 |
|
Linux on PPC |
ppc_l1, ppc64_l1 |
|
Linux on Xeon PI coprocessor |
xpi_l1 |
Client-only kit |
MAC on Intel X86 |
x86_m1 |
|
MAC (64-bit) on X86 |
x64_m1 |
|
MAC on PPC |
ppc_m1 |
|
NetBSD on Intel |
x86_n1 |
|
Solaris (32-bit) on Intel |
x86_s1 |
|
Solaris (64-bit) on Intel |
x64_s1 |
|
Solaris on Sparc |
sun_s1 |
|
Solaris (64-bit) on Sparc |
sun64_s1 |
|
Windows 32-bit |
x86_w3 |
Visual Studio 2013 |
Windows 32-bit |
x86_w4 |
Visual Studio 2015 and later |
Windows 64-bit |
x64_w3 |
Visual Studio 2013 |
Windows 64-bit |
x64_w4 |
Visual Studio 2015 and later |
RLM Kit Contents
The Machine Independent (src) directory contains:
File |
Contents |
---|---|
license.h |
RLM include file. |
license_to_run.h |
License for RLM itself. |
rlm_isv_config.c |
Configuration data for ISV server. |
RELEASE_NOTES |
Release notes for this version of RLM. |
RLM_Reference.txt |
Pointer to RLM documentation on website. |
VERSION |
RLM kit version information (not on client-only kits). |
The Machine Independent (examples) directory contains:
File |
Contents |
---|---|
act_api_example.c |
Sample client-side activation code. |
activation_example.html |
Sample HTML page for activation. |
actpro_demo.c |
Demo program for Activation Pro. |
detached_demo.c |
Sample code to implement a Detached Demotm. |
example.opt |
Example license administration option file. |
integrate_older.c |
Example code for integrating RLM alongside an older LM. |
rehost_example.c |
Example for using rehostable hostids and revoking them. |
rlm_transfer.c |
Example ISV-defined server transfer code. |
rlmclient.c |
Example RLM application program. |
roam_example.c |
Example code to implement license roaming. |
unsupported |
Directory of unsupported example programs (Fortran interface, python interface). |
Each Unix Platform-dependent directory contains (before executing “make” ):
File |
Contents |
Notes |
---|---|---|
example.lic |
Example license file |
Created by INSTALL |
librlm.a |
Symbolic link to rlm.a |
|
makefile |
Makefile |
|
RLM |
The generic RLM server |
Not on client-only kits |
rlm.a |
RLM library |
|
rlmanon |
RLM logfile anonymizer |
Not on client-only kits |
rlmmains.a |
RLM main() functions for misc programs |
|
rlmutil |
RLM utilities |
The Windows Platform-dependent directory contains (before executing “nmake”):
File |
Contents |
---|---|
example.lic |
Example license file. |
isv_main.obj |
main() for ISV server. |
isv_server.lib |
library for ISV server. |
makefile |
Makefile |
rlc.obj |
main() for Activation administration (rlc). |
rlm.def |
RLM DLL export definitions. |
rlm.exe |
The generic RLM server. |
rlm.res |
RLM version resource file. |
rlm_genlic.obj |
License generator object. |
rlm_mklic.obj |
main() for Activation license generator. |
rlmact.obj |
rlc object file. |
rlmanon.exe |
RLM logfile anonymizer. |
rlmclient.lib |
RLM client library. |
rlmclient_md.lib |
RLM client library - compiled with /Md. |
rlmclient_mdd.lib |
RLM client library - compiled with /Mdd. |
rlmclient_mtd.lib |
RLM client library - compiled with /Mtd. |
rlmgen.obj |
rlc license generation module. |
rlmgenkeys.obj |
main() for rlmgenkeys utility. |
rlmsign.obj |
main() for rlmsign utility. |
rlmutil.exe |
RLM utilities. |
rlmverify.obj |
main() for RLM log file authentication utility. |
x86_w*.vcproj, x64_w*.vcproj |
Visual Studio/Visual C++ project for building the SDK. |
The Java directory (java_unix, java_win) contains:
File |
Contents |
---|---|
docs |
Directory of HTML documentation. |
makefile |
Makefile |
rlmVVRB.jar |
Java Library (VV=ver, R=rev, B=build). |
RlmClient.java |
Example RLM application program. |
INSTALL |
Java kit installation script (Unix only). |
VERSION |
RLM kit version information. |
The dotnet directory (RLM .NET support – Windows only) contains:
File |
Contents |
---|---|
Reprise |
Visual Studio 2022 Project Directory for RLM .NET support. |
RLMTest |
Visual Studio 2022 Project Directory for RLM .NET Test program. |