|| | |||Browse by category|
How do I build my Rogue Wave software products on a unsupported or non-GUI based system?
There are several reasons users cannot run the Software Parts Manager(SPM):
- You have an unsupported platform and the machine code associated with a particular compilation of the SPM will not run on your machine
- You are not able to run a GUI such as X-Windows, even on a supported platform.
- You must have already installed the SPM (even though the GUI will not run on your system)
- You must have received your RogueWave software parts either on floppy or you must have downloaded them from the web -- you cannot access the individual products from the CD.
- You must delete several files out of the SPM installation.
- You must run the
rwspmscript to build your library.
1. Installing the SPMWhy install the SPM if you cannot execute it? The SPM ships with several shell scripts that are platform independent, and currently the only way to get these scripts is to install the SPM.
You can either download the SPM from our website, at http://www.roguewave.com/support/spm/ or if you have the CD, you can install it from the CD. Note that it is OK to install the SPM from the CD. Installing the individual products from the CD as mentioned above is not possible.
You must run the install utility (install.sh for Unix, setup.exe for PC's) from the korn shell (ksh) to install the SPM successfully.
2. You must delete several files out of the SPM installationThis is to trick the
prodinst.shscript into believing that you don't have a
partmgrexecutable installed. You can do this as follows:
- delete the file
- delete the subdirectories of
. You will need to leave the script
for user input.
3. Installing the product from the installation tar fileWhen you download a product from the web or get it on a floppy it contains the following:
> $ tar tvf std0121u.tar
> -r-xr-xr-x 20079/2030 12838 Jun 4 13:44 1997 prodinst.sh
> -rw-r--r-- 20079/20304503040 Jun 4 13:44 1997 data.tar
prodinst.sh expects a spm directory to be present before it will install anything. If the
> $ prodinst.sh
> Welcome to the Software Parts Manager individual product install script!
> This script will add another Rogue Wave product to your SPM installation.
> First, we need to determine where you have installed the Software Parts
> Manager. Please enter the name of your SPM root directory (often, this
> is c:spm or /usr/local/spm) or enter 'q' to quit:
> Enter SPM root: /nfs/g4/home/gorman/spm
> Good, you appear to have a valid SPM installation at
> Excellent, you appear to have a valid archive in '.'.
> Let's pull some files out of the individual product's archive...
> x dd, 0 bytes, 0 tape blocks
> x dd/product, 0 bytes, 0 tape blocks
> x dd/product/std0121u, 0 bytes, 0 tape blocks
> x dd/product/std0121u/src, 0 bytes, 0 tape blocks
> x dd/product/std0121u/src/src.tar, 2043392 bytes, 3991 tape blocks
> x dd/product/std0121u/src/exam.tar, 469504 bytes, 917 tape blocks
> x dd/product/std0121u/src/docs.tar, 1934848 bytes, 3779 tape blocks
> x dd/product/std0121u/working.rep, 34452 bytes, 68 tape blocks
> x distrepo, 0 bytes, 0 tape blocks
> x distrepo/std0121u.rep, 12470 bytes, 25 tape blocks
> x support, 0 bytes, 0 tape blocks
> x support/std0121u.rw, 314 bytes, 1 tape blocks
> It looks like you don't have the SPM graphical user interface, which
> would normally be used to unpack a product's fileset into an RW root
> area. I can unpack this product's fileset for you. But first, you
> have to tell me where your RW root area is located or (if you don't
> already have an RW root area) where you would like your RW root area
> to be located. Often, RW root areas are c:
wav or /usr/local/rwav.
> Enter RW root:
4. You must invoke
rwspm to build the product(s) you just downloaded.
To do this you must change into the
rwspm script is given below:
Rogue Wave does not advise that you circumvent the Software Parts Manager interface to build your software parts. If you do, be aware that you give up the following protections Software Parts Manager offers:
Dependency checking: Software Parts Manager has complete knowledge of the dependencies between Rogue Wave software parts, and warns you if the library you propose to build depends on another library that does not exist.If you do build from the command line, we strongly advise that you do so through the control script rwspm . The explanation below assumes that you are taking this safer course.
Configuration checking: Software Parts Manager also checks that the build configuration is consistent with Rogue Wave's support matrix and with the configurations of dependent products.
Please note: As invoked from the command line,
rwspm can only be used to build libraries and create makefiles that support examples. To build example executables, you must use
make to apply an examples makefile to build the desired targets. Examples makefiles are created and exported to the workspace immediately following the building of a library.
Before you compile, you must know the name of the compiler properties file that pertains to your environment. This file name is passed through the -f option when you invoke
These files are located in
The example below shows the file w32_msvc.in as installed with Software Parts Manager. The only lines you are likely to edit would be RWCCOPTS= and RWLINKOPTS=, which allow you to specify custom compiler and link options.
# Shell script used as an input file to rwsetup
# --- General Settings ---
RWOVERWRITE=yes //leave as is
# --- Compiler Settings ---
RWCPP=cl //compiler invocation
RWCCOPTS= //custom compiler options
RWLINKOPTS= //custom link options
# --- Compiler and OS Names ---
RWOPSYS=WINNT //operating system
To build a part from the command line:
scripts ( /scripts on UNIX platforms) your working directory.
- Enter rwspm
The arguments to rwspm are:
An example of how to build the Standard C++ Library is shown below:-d (Optional) Build a shared library
Name of compiler properties file (DO NOT supply
the path; the file MUST be in the platform directory
Path to the product tree top level directory of
the part to be built
Numeric build type code. The number is
generated as a set of flags:
8 -Turns on Standard Library
4 -Turns on multithreading.
2 and 1-Together, these turn on
(Optional) Path to the workspace top level directory
if you want this to be different from the default
$ cd spm/scripts
$ rwspm -d -f solaris_sunpro.in -p /package/0/rogue/parts/std0121u -t0