| | | | Browse by category |
How do I build my Rogue Wave software products on a unsupported or non-GUI based system?
Cause
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
rwspm
script to build your library.
Action
1. Installing the SPM
Why 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 installation
This is to trick theprodinst.sh
script into believing that you don't have a partmgr
executable installed. You can do this as follows:
- delete the file
/partmgr
rm
/partmgr - delete the subdirectories of
. You will need to leave the script/bin
for user input./bin/wizards
rm -rf
/bin/[A-Z]*
3. Installing the product from the installation tar file
When 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
> '/nfs/g4/home/gorman/spm'.
>
> 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
> ...done.
>
> 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 rwspm
.
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
RWCOMPILER=MSVC //compiler
To build a part from the command line:
- Make
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
-fName of compiler properties file (DO NOT supply
the path; the file MUST be in the platform directory
-pPath to the product tree top level directory of
the part to be built
-tNumeric build type code. The number is
generated as a set of flags:
8 -Turns on Standard Library
dependancy.
4 -Turns on multithreading.
2 and 1-Together, these turn on
debugging options.
-w(Optional) Path to the workspace top level directory
if you want this to be different from the default
/workspaces/$RWOPSYS/$RWCOMPILER
$ cd spm/scripts
$ rwspm -d -f solaris_sunpro.in -p /package/0/rogue/parts/std0121u -t0