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

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++:

  1. 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.

  2. 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:

  1. 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”.

  2. cd to the platform directory of the SDK, for example:

    cd x86_w3
    
  3. 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.

  1. First, on the host system (the one with the cross-development tools):

    % make step1
    
  2. 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.

  3. Next, on the host system:

    % make step3
    
  4. Next, copy the kit (the whole directory, e.g. arm_l1) to the target.

  5. 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.