Open Object Rexx

Release Notes

Version 3.0.1

June 30, 2005


Table of Contents
1. About This Release
2. Windows Requirements, Installation and Configuration
3. Unix/Linux Requirements, Installation and Configuration
4. Known Limitations, Problems and Workarounds
5. Documentation
6. Notices and Trademarks

1. About This Release

This release is based on IBM's Object REXX for Windows(R) Version 2.1.3 and Object REXX for Linux Version 2.3.4 with the enhancements and changes described below.

IMPORTANT: If you already have an earlier version of Object Rexx installed on your system, you must remove it before starting with the installation of this package.


1.1. New in this Release

This section describes the enhancements introduced since IBM's version 2.1.3 for Windows and version 2.3.4 for Linux.


1.1.1. RegularExpressions Class

The documentation for the RegularExpressions class is now included in the Open Object Rexx: Reference document.


1.1.2. Additions to the REXXUTIL Function Package

The documentation for the RexxUtil function package is now included in the Open Object Rexx: Reference document.


1.1.3. Windows Script Host (WSH) extensions

The documentation for the Windows Script Host extension is now included in the Open Object Rexx: Reference document.


1.1.4. Enhanced REXXRT Utility

The documentation for the REXXRT utility is now included in the Open Object Rexx: Reference document.


1.1.5. New FTP Class

Since IBM was not able to supply the FTP external function package (RXFTP) a new RxFtp class has been supplied to replace it. The document Open Object Rexx: RxFtp Class Library Reference documents the new class library.


1.2. Product Fix History

1.2.1. Common Fixes

  • Fixed path for classes in the Windows installation.


2. Windows Requirements, Installation and Configuration

2.1. Hardware Requirements

  • 22 MB free disk space for the program

  • 13.5 MB free disk space for online documentation

  • IBM-compatible, Pentium, or higher


2.2. Software Requirements

  • Windows 98

  • Windows Me

  • Windows NT(R) 4.0

  • Windows 2000

  • Windows XP


2.3. Installation, Update and Configuration Information

This new version of Open Object Rexx cannot coexist with a previous version of Open Object Rexx or IBM Object REXX in your installation. If you have previously installed Object Rexx, you must first deinstall this Object Rexx program. If there are two different versions of Object Rexx installed, this leads to unpredictable results. The installation program of Object Rexx starts and the Object Rexx Installation logo appears on your screen (this automatic startup may take a while). Follow the installation program instructions to complete the Object Rexx installation. Object Rexx can be installed as a common or as a personal program. To install Object Rexx as a common program, the current user must have administrator rights.


2.3.1. Running the Installation Program on Windows

To install Open Object Rexx open a command prompt or select "Start/Run" from the taskbar and type in SETUP with the parameters described below.

The optional parameters to SETUP are listed below. These allow you to run the installation program in non-interactive mode.

/s : Silent mode

For an InstallScript MSI or InstallScript project, the command Setup.exe /s runs the installation in silent mode, by default based on the responses contained in a response file called Setup.iss in the same directory (response files are created by running Setup.exe with the /r option). To specify an alternative file name or location of the response file, use the /f1 option, described below.

/r : Record mode

To run an InstallScript MSI or InstallScript project installation program in silent mode, you must first run Setup.exe with the /r switch to generate a response file, which stores information about the data entered and options selected by the user at run time.

Running an InstallScript MSI or InstallScript installation program with the command Setup.exe /r displays all the run-time dialog boxes, and stores the data in a file called Setup.iss, created inside the system's Windows folder. To specify an alternative response file name and location, use the /f1 argument, described below.

/f1 : Specify alternative response file name

Using the /f1 argument allows you to specify where the response file is (or where it should be created) and its name, as in Setup.exe /s /f1"C:\Temp\Setup.iss". The /f1 switch is available both when creating a response file (with the /r option) and when using a response file (with the /s option).

/f2 : Specify alternative log file name

When running an InstallScript MSI or InstallScript installation in silent mode (using the /s argument), the log file Setup.log is by default created in the same directory and with the same name (except for the extension) as the response file. The /f2 argument allows you to specify an alternative log file location and file name, as in Setup.exe /s /f2"C:\Setup.log".

If you want to suppress the REBOOT Dialog, and the REBOOT, append the commandline parameter ASKREBOOT=N in the installation line, like Setup.exe /s /f1"C:\Temp\Setup.iss" ASKREBOOT=N.


2.3.2. Windows Uninstallation Information

Select "Start->Setting->Add Remove Programs" on the Windows Desktop. Select "Object Rexx for Windows" and then select "Remove".


2.4. Running Object Rexx as a Child Process of a Service on Windows

The memory manager of Open Object Rexx can share out some resources among all the Open Object Rexx processes to enable global functions, system exits, subcommand handlers, and global queues to take place. If you start Open Object Rexx from a service, two or more Open Object Rexx processes might run under different user accounts. Therefore it is required that the memory manager is not protected and can be accessed by every user. This means that Open Object Rexx global data is system global and unsecured.

If you want Open Object Rexx to be started from a service, Open Object Rexx must be installed as a common program or you must modify the system path manually to include the directory where Open Object Rexx has been installed.

If you are writing a service that calls RexxStart(), ensure that the SERVICE_INTERACTIVE_PROCESS flag is set for your service. To prevent access violations, use a NULL security descriptor and assign it to your service process.


2.5. Object Rexx and Other Rexx Interpreters

If you have other Rexx interpreters installed, you may have to set the PATH manually because Open Object Rexx and the other Rexx interpreters may both use the name "Rexx" for invoking the interpreter. Interpreter error messages that begin with "Rexx: " indicate that another Rexx interpreter was called instead of Open Object Rexx. You can verify which Rexx interpreter is running either by the form of the error messages, by running REXXTRY and executing SAY VERSION, or by invoking Rexx /V, which then should display information about the Rexx interpreter that is invoked. If no information is displayed, it is not Open Object Rexx. If you don't want the other Rexx interpreter to be invoked, you should remove it from the PATH, delete it, or rename REXX.EXE in the ObjRexx directory to ORX.EXE and use "ORX" to invoke the interpreter.


2.6. Exploring Open Object Rexx

Once you have installed the Open Object Rexx files you can run Object Rexx scripts by issuing the command REXX followed by your Object Rexx script at the command prompt. To interactively try Object Rexx statements, double-click the "Object REXX REXXTRY" icon in the Object Rexx for Windows group.

To help you explore programming in Object Rexx, the following sample programs are provided :

ccreply.rex

concurrent program using REPLY

complex.rex

complex number class

deskicon.rex

AddDesktopIcon method of the WindowsProgramManager class

desktop.rex

uses the WindowsProgramManager class

drives.rex

demonstrates the usage of Sys functions

eventlog.rex

uses the WindowsEventLog class

factor.rex

factorial program

greply.rex

concurrent program using WAIT and NOWAIT

guess.rex

a guessing game

makestring.rex

demonstrated the usage of the makestring method

ktguard.rex

concurrent program using START and GUARD

month.rex

displays a calendar for the month of January

philfork.rex

program that demonstrates Object REXX concurrency

pipe.rex

a pipeline implementation

qdate.rex

date query program

qtime.rex

time query program

registry.rex

uses the WindowsRegistry class

semcls.rex

semaphore class

stack.rex

program that uses a stack class

usecomp.rex

program that uses the complex number class (see note below)

usepipe.rex

program that uses the pipeline implementation (see note below)

usewmgr.rex

program that uses the WindowsManager class

Note: To run these programs, you must either add the SAMPLES directory to the PATH or execute them directly from the SAMPLES directory.

The directory SAMPLES\OLE\ contains samples for the Object Rexx OLE/ActiveX Interface. Open the sample programs; They contain comments. The directory SAMPLES\WSH\ contains samples for Windows Scripting Host. Please open the sample programs; They contain comments.

Object Rexx also installs several samples that demonstrate the use of OODialog. You can explore these samples by launching the "OODialog Samples" icon in the Object Rexx for Windows\Samples group.

To help you with programming external function libraries, the WPIPE samples are provided in the SAMPLES\API\WPIPE directory. See the README.TXT in this directory.


3. Unix/Linux Requirements, Installation and Configuration

3.1. Hardware Requirements

  • 12 MB free disk space for the program

  • 13.5 MB free disk space for online documentation

  • IBM-compatible, Pentium, or higher


3.2. Software Requirements

  • Linux ELF system (i386) and your kernel must support System V IPC. Open Object Rexx must run with Linux kernel version 2.4.1 or higher.

  • SUN Sparc system running Solaris V2.8 or higher.


3.3. Installation, Update and Configuration Information

This new version of Open Object Rexx cannot coexist with a previous version of Open Object Rexx or IBM Object REXX in your installation. If you have previously installed Object Rexx, you must first deinstall this Object Rexx program. If there are two different versions of Object Rexx installed, this leads to unpredictable results. The installation program of Object Rexx starts and the Object Rexx Installation logo appears on your screen (this automatic startup may take a while). Follow the installation program instructions to complete the Object Rexx installation. Object Rexx can be installed as a common or as a personal program. To install Object Rexx as a common program, the current user must have administrator rights.


3.3.1. Installation/Removal of the RPM Package

Note: The installation of Open Object Rexx requires that all steps be run with root authority.

To install the 'rpm' package, use your rpm-package-manager. Select the 'ooRexx-3.0.n.0-n.i386.rpm' package for the installation. Refer to your package manager for further information. The package manager adds orexx to your local rpm-database. The command with the command line rpm-package-manager is:

   rpm -i ooRexx-3.0.n-n.i386.rpm

Open Object Rexx is installed in the directory /usr/local/bin and /usr/local/lib/ooRexx.

The command rpm can also be used to remove the package from the database if it is entered at the command line:

   rpm -e ooRexx-3.0.n-n

3.3.2. Installation of the 'tgz' Package

Note: The installation of Open Object Rexx requires that all steps be run with root authority.

If you have the package maintenance tool 'pkgtool' on your system, you can use it to install or deinstall Open Object Rexx via a graphical tool. Start pkgtool as 'root' and install the 'ooRexx-3.0.n-n.i386.tgz' package. All files will be copied to the directory '/usr/local/lib/ooRexx/' and 'usr/local/bin' subdirectories.

If 'pkgtool' is not available, you can install Open Object Rexx by copying the ooRexx-3.0.n-n.i386.tgz file to the root directory ( / ) and decompress the package with the following command:

  tar -zxvf ooRexx-3.0.n.0-n.i386.tgz

You must manually add the following links:

ln -sf /usr/local/lib/ooRexx/librexx.so.3.0      /usr/local/lib/librexx.so.3.0
ln -sf /usr/local/lib/ooRexx/librexx.so.3.0      /usr/local/lib/librexx.so.3
ln -sf /usr/local/lib/ooRexx/librexx.so.3.0      /usr/local/lib/librexx.so
ln -sf /usr/local/lib/ooRexx/librexxapi.so.3.0   /usr/local/lib/librexxapi.so.3.0
ln -sf /usr/local/lib/ooRexx/librexxapi.so.3.0   /usr/local/lib/librexxapi.so.3
ln -sf /usr/local/lib/ooRexx/librexxapi.so.3.0   /usr/local/lib/librexxapi.so
ln -sf /usr/local/lib/ooRexx/librexxutil.so.3.0  /usr/local/lib/librexxutil.so.3.0
ln -sf /usr/local/lib/ooRexx/librexxutil.so.3.0  /usr/local/lib/librexxutil.so.3
ln -sf /usr/local/lib/ooRexx/librexxutil.so.3.0  /usr/local/lib/librexxutil.so
ln -sf /usr/local/lib/ooRexx/librxsock.so.3.0    /usr/local/lib/librxsock.so.3.0
ln -sf /usr/local/lib/ooRexx/librxsock.so.3.0    /usr/local/lib/librxsock.so.3
ln -sf /usr/local/lib/ooRexx/librxsock.so.3.0    /usr/local/lib/librxsock.so
ln -sf /usr/local/lib/ooRexx/librxftp.so.3.0     /usr/local/lib/librxftp.so.3.0
ln -sf /usr/local/lib/ooRexx/librxftp.so.3.0     /usr/local/lib/librxftp.so.3
ln -sf /usr/local/lib/ooRexx/librxftp.so.3.0     /usr/local/lib/librxftp.so
ln -sf /usr/local/lib/ooRexx/librxmath.so.3.0    /usr/local/lib/librxmath.so.3.0
ln -sf /usr/local/lib/ooRexx/librxmath.so.3.0    /usr/local/lib/librxmath.so.3
ln -sf /usr/local/lib/ooRexx/librxmath.so.3.0    /usr/local/lib/librxmath.so
ln -sf /usr/local/lib/ooRexx/librxregexp.so.3.0  /usr/local/lib/librxregexp.so.3.0
ln -sf /usr/local/lib/ooRexx/librxregexp.so.3.0  /usr/local/lib/librxregexp.so.3
ln -sf /usr/local/lib/ooRexx/librxregexp.so.3.0  /usr/local/lib/librxregexp.so

As an alternative to manually adding all those links you can add the folloing line to the /etc/ld.so.conf file

/usr/local/lib/ooRexx
and then run the ldconf command.


3.3.3. Installation/Removal of the PKG Package

Note: The installation of Open Object Rexx requires that all steps be run with root authority.

To install the 'pkg' package, use your package-manager. Select the 'ooRexx-3.0.n-sparc-sun-solaris2.8.pkg' package for the installation. Refer to your package manager for further information. The package manager adds orexx to your local pkg-database. The command with the command line package-manager is:

   pkgadd -d ooRexx-3.0.n-sparc-sun-solaris2.8.pkg

Open Object Rexx is installed in the directory /usr/local/bin and /usr/local/lib/ooRexx.

The command pkgrm can also be used to remove the package from the database if it is entered at the command line:

   pkgrm ooRexx

3.4. Configuration

There is nothing to configure for a Unix/Linux installation.


3.5. Object Rexx and Other Rexx Interpreters

If you have other Rexx interpreters installed, you may have to set the PATH manually because Open Object Rexx and the other Rexx interpreters may both use the name "rexx" for invoking the interpreter. Interpreter error messages that begin with "Rexx: " indicate that another Rexx interpreter was called instead of Open Object Rexx. You can verify which Rexx interpreter is running either by the form of the error messages, by running rexxtry and executing SAY VERSION, or by invoking rexx -v, which then should display information about the Rexx interpreter that is invoked. If no information is displayed, it is not Open Object Rexx. If you don't want the other Rexx interpreter to be invoked, you should remove it from the PATH, delete it, or rename the "rexx" binary in the /usr/bin directory to "orx" and use orx to invoke the interpreter.


3.6. Exploring Open Object Rexx for Unix/Linux

Once you have installed the Open Object Rexx files you can run Object Rexx scripts by issuing the command rexx followed by your Object Rexx script at the command prompt. To interactively try Object Rexx statements, opeb a command window and type rexx rexxtry.

To help you explore programming in Object Rexx, the following sample programs are provided :

ccreply.rex

concurrent program using REPLY

complex.rex

complex number class

eventlog.rex

uses the WindowsEventLog class

factor.rex

factorial program

greply.rex

concurrent program using WAIT and NOWAIT

guess.rex

a guessing game

makestring.rex

demonstrated the usage of the makestring method

ktguard.rex

concurrent program using START and GUARD

month.rex

displays a calendar for the month of January

philfork.rex

program that demonstrates Object REXX concurrency

pipe.rex

a pipeline implementation

qdate.rex

date query program

qtime.rex

time query program

semcls.rex

semaphore class

stack.rex

program that uses a stack class

usecomp.rex

program that uses the complex number class (see note below)

usepipe.rex

program that uses the pipeline implementation (see note below)

Note: To run these programs, you must either add the SAMPLES directory to the PATH or execute them directly from the SAMPLES directory.

To help you with programming external function libraries, the WPIPE samples are provided in the SAMPLES\API\WPIPE directory. See the README.TXT in this directory.


4. Known Limitations, Problems and Workarounds


5. Documentation

All documentation is now contained in PDF files.

The following documents are available:

rexxref.pdf

This is the Open Object Rexx: Reference.

rexxpg.pdf

This is the Open Object Rexx: Programming Guide.

oodialog.pdf

This is the Open Object Rexx: Windows OODialog Reference.

rxsock.pdf

This is the Open Object Rexx: TCP/IP Socket Library Functions Reference.

rxftp.pdf

This is the Open Object Rexx: FTP Class Library Reference.

rxmath.pdf

This is the Open Object Rexx: Mathematical Functions Reference.

readme.pdf

This document in PDF format.


6. Notices and Trademarks

Any performance data contained herein was determined in a controlled environment. Therefore, the results obtained in other operating environments may vary significantly. Some measurements may have been made on development-level systems and there is no guarantee that these measurements will be the same on generally available systems. Furthermore, some measurement may have been estimated through extrapolation. Actual results may vary. Users of this document should verify the applicable data for their specific environment.

Information concerning non-Open Source products was obtained from the suppliers of those products, their published announcements or other publicly available sources. RexxLA has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-RexxLA products. Questions on the capabilities of non-RexxLA products should be addressed to the suppliers of those products.

All statements regarding RexxLA's future direction or intent are subject to change or withdrawal without notice, and represent goals and objectives only.

This information contains examples of data and reports used in daily business operations. To illustrate them as completely as possible, the examples include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to the names and addresses used by an actual business enterprise is entirely coincidental.


6.1. Trademarks

The following terms are trademarks of the IBM Corporation in the United States, other countries, or both:

IBM
OS/2

Linux is a trademark of Linus Torvalds in the United States, other countries, or both.

UNIX is a registered trademark of The Open Group in the United States and other countries.

Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both.

Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.

Other company, product, and service names may be trademarks or service marks of others.