1. Installation

This document describes how to install GemBuilderfor Smalltalk (GBS) v8.7.

Please review the GemBuilder for Smalltalk Release Notes for v8.7 for details of the changes, before installing or upgrading to this version.

This release supports GemStone/S 64 Bit only, with VisualWorks 9.1.1. GBS 8.7 does not support 32-bit GemStone/S.

GBS v8.7 is supported with the VisualWorks Smalltalk environment only, and cannot be used with VAST/VA Smalltalk. Support for the VAST Platform is provided in a separate set of releases.

Installing GBS is a multi-step process:

1. Verify System Requirements (page 8)

2. Install GBS v8.7 distribution (page 10)

3. Load GBS Smalltalk code into your VisualWorks Image (page 10)

4. Install client shared libraries from GemStone/S Server (page 10)

5. Determine client shared library to load (page 12)

6. Configure GBS to load client shared library (page 13)

7. Verify installation by logging into the GemStone/S Server (page 14)

GBS does not support upgrade from an image in which an older version of GBS has been previously installed. To upgrade GBS, start with a VisualWorks image in which GBS is not installed. Follow the instructions in this Installation Guide, and then restore your application code.

1.  Verify System Requirements

Prior to installing, verify that your system meets the requirements for v8.7.

Operating system

Supported operating systems are listed in Table 1.

Client Smalltalk

This version of GBS is supported with the Cincom VisualWorks Smalltalk environment version 9.1.1, both 32-bit and 64-bit, as listed in listed in Table 1.

GBS 8.7 is only usable with v9.1.1, and cannot be loaded into other versions of VisualWorks.

GemStone Server

Supported GemStone/S 64 Bit versions are listed in Table 1.

GemStone Server Shared Library Files

GemBuilder for Smalltalk requires access to a set of shared library files that are compatible with the specific GemStone server product and version.

The required libraries must match the platform on which the client Smalltalk executable will run, regardless of the platform on which the server is running.

32-Bit VisualWorks Smalltalk

With 32-bit VisualWorks, you must use 32-bit shared libraries. The GemStone/S 64 Bit distribution includes both 32-bit and 64-bit libraries.

From 32-bit VisualWorks, only RPC logins are possible.

64-Bit VisualWorks Smalltalk

Using 64-bit GemStone/S 64 Bit shared libraries with 64-bit VW, you can login linked as well as RPC from Linux clients. On Windows, only RPC logins are possible.

Supported Platforms and Versions

The following tables describe the client Smalltalk versions and platforms supported by GBS 8.7, and the GemStone/S server versions that can be used with each.

Table 1  Supported GemStone/S 64 Bit Server versions

 

VW 9.1.1
32-bit

VW 9.1.1
64 bit

Windows 10

3.7, 3.6.6

3.7, 3.6.6

Ubuntu Linux 22.04

3.7, 3.6.6

3.7, 3.6.6

Ubuntu Linux 20.04

3.7, 3.6.6

3.7, 3.6.6

Red Hat Linux ES 9.2

3.7, 3.6.6

3.7, 3.6.6

Red Hat Linux ES 8.5

3.7, 3.6.6

3.7, 3.6.6

Red Hat Linux ES 7.9

3.7, 3.6.6

3.7, 3.6.6

Note that VisualWorks 9.1.1 does not run on Windows 7.

2.  Install GBS v8.7 distribution

GemBuilder for Smalltalk is provided in zipped form. You will need to unzip the distribution into a temporary location or into the installation directory you have selected.

The GemBuilder for Smalltalk distribution includes the following:

A directory named VW with the parcel files for VisualWorks:

    CstMessengerSupport.pcl

CstMessengerSupport.pst

    GbsRuntime.pcl

GbsRuntime.pst

    GbsTools.pcl

GbsTools.pst

A directory named docs that contains PDF copies of the GemBuilder for Smalltalk documentation:

    GBS-ReleaseNotes-8.7.pdf

    GBS-InstallGuide-8.7.pdf

    GBS-UsersGuide-8.4.pdf

To install, determine the appropriate location for the GBS v8.7 parcels. Copy the parcel files from the distribution directory named VW to this location.

3.  Load GBS Smalltalk code into your VisualWorks Image

1. Start VisualWorks, using a clean image without any previous versions of GemBuilder for Smalltalk.

2. Open the parcel manager, using the Launcher menu item Tools > Parcel Manager.

3. Select the Parcel Manager menu item File > Load Parcel File..., and navigate to the directory containing the GBS 8.7 parcels. Select the file GbsTools.pcl and load it (if you don’t see files with the .pcl extension, check the filter settings). This parcel loads the other required parcels, including the runtime parcel.

If you are building a deployment image and do not need the GBS development and administrative tools, install the GbsRuntime parcel instead of GbsTools.

4. Save your image. You may find it helpful to create an additional copy of this GBS image to use as a backup during application development.

4.  Install client shared libraries from GemStone/S Server

GBS requires a set of client-specific shared libraries (.dll or .so files) that are provided as part of the GemStone server product distribution. These libraries need to be loaded into the VisualWorks image in which GBS code is installed, in order for GBS to be able to login to the GemStone server.

The client shared libraries should be the same release version as the GemStone server, but since they are loaded into the VisualWorks client, they are specific to the OS platform and VisualWorks bit size (32-bit or 64-bit).

You may need or wish to install the entire GemStone server on the client node, or just copy the specific shared libraries that are required.

Complete GemStone Server Installation

See the GemStone Installation Guide for your client platform for instructions on how to install the GemStone server component.

In some cases, you may need to define the $GEMSTONE or %GEMSTONE% environment variable to point to the GemStone server or client installation directory. Adding $GEMSTONE/bin or %GEMSTONE%\bin to your machine search path is useful if you are running utilities, but not needed by GBS itself.

Shared Libraries only

If you will only have RPC logins (with the gem on the stone’s host or on a gemserver), and do not need tools such as topaz, gslist, and VSD on the client, then you may copy only the client shared libraries to your client node. You will need to download the GemStone/S Server or Windows Client, locate the required files, and copy them.

The required shared library files are listed in the following tables, depending on your server product and version.

Note that the GemStone/S 64 Bit server installation includes two directories containing the shared libraries; bin or lib, containing 64-bit libraries and executables, and bin32 or lib32, containing 32-bit libraries and executables.

You may copy the shared libraries to:

  • the VisualWorks installation directory, or a directory under the bin subdirectory of your $VISUALWORKS environment
  • to a directory location on your machine search path, or that you add to the machine search path
  • To a directory that is not on your machine search path.

Your choice of destinations on the client will affect your options in specifying the client library, that is, whether you must include the full path and filename, filename only, or may leave libraryName empty.

Note that linked library names are not included in the following tables; linked logins (on Linux) require additional executables on the client, so you cannot simply copy the shared libraries. If you require linked logins on the client, you should follow the instructions above for Complete GemStone Server Installation.

The following tables list the specific client libraries that you must copy from the server installation to the client node.

  

Table 2  Shared Libraries to copy for RPC login to GemStone/S 64 Bit 3.7

Client Image

Windows
Client Shared Libraries

Linux
Client Shared Libraries

32-bit
VW Clients

 

In %GEMSTONE%\bin32\:
 libgcirpc-3.7.0-32.dll
 libssl-3.7.0-32.dll
 vcruntime140.dll

In $GEMSTONE/lib32/:
 libgcirpc-3.7.0-32.so
 libssl-3.7.0-32.so
 libkrb5-3.7.0-32.so

64-bit
VW Clients

 

In %GEMSTONE%\bin\:
 libgcirpc-3.7.0-64.dll
 libssl-3.7.0-64.dll
 vcruntime140.dll
 vcruntime140_1.dll

In $GEMSTONE/lib/:
 libgcirpc-3.7.0-64.so
 libssl-3.7.0-64
 libkrb5-3.7.0-64.so

Table 3  Shared Libraries to copy for RPC login to GemStone/S 64 Bit 3.6.6

Client Image

Windows
Client Shared Libraries

Linux
Client Shared Libraries

32-bit
VW Clients

 

In %GEMSTONE%\bin32\:
 libgcirpc-3.6.6-32.dll
 libssl-3.6.6-32.dll
 msvcr100.dll

In $GEMSTONE/lib32/:
 libgcirpc-3.6.6-32.so
 libssl-3.6.6-32.so
 libkrb5-3.6.6-32.so

64-bit
VW Clients

 

In %GEMSTONE%\bin\:
 libgcirpc-3.6.6-64.dll
 libssl-3.6.6-64.dll
 msvcr100.dll

In $GEMSTONE/lib/:
 libgcirpc-3.6.6-64.so
 libssl-3.6.6-64.so
 libkrb5-3.6.6-64.so

5.  Determine client shared library to load

Whether you have a full server installation on the client, or have copied a few libraries, there is a specific library name you will specify to have GBS load using the libraryName: parameter.

The following table lists the possible library names for each supported GemStone server product and version. Library names that include ’lnk’ allow both linked and RPC logins; library names with ’rpc’ allow only RPC logins.

You will specify only one library name from the following table with libraryName:; other required library files can then be found automatically.

With GemStone/S 64 Bit v3.x, library names with ’64’ or ’32’ specify the compiled bit size of the library, and should match the client Smalltalk bit size.

 

Table 4  Library name arguments to libraryName:

Server Product and Version

Windows

Linux

 

GemStone/S 64 Bit

v3.7

libgcirpc-3.7.0-32.dll

   or

libgcirpc-3.7.0-64.dll

libgcirpc-3.7.0-32.so

   or

libgcirpc-3.7.0-64.so

   or

libgbslnk-3.7.0-64.so

GemStone/S 64 Bit

v3.6.6

libgcirpc-3.6.6-32.dll

   or

libgcirpc-3.6.6-64.dll

libgcirpc-3.6.6-32.so

   or

libgcirpc-3.6.6-64.so

   or

libgbslnk-3.6.6-64.so

6.  Configure GBS to load client shared library

GBS uses the configuration parameter libraryName to determine the name and location of the shared library to load. While only one specific library name is set by this parameter, any other shared library files that are listed in the preceding tables must be available, usually in the same location, in order for the library load to succeed and logins to work.

There are a number of options for specifying the library file that should be loaded:

Set libraryName to the full path and file name of the client library file.

For example, for 32-bit VisualWorks clients on Windows, logging into GemStone/S 64 Bit v3.7:

GbsConfiguration current libraryName:
	'InstallDir\GemBuilderC3.7.0-x86.Windows_NT\bin32\libgcirpc-
	3.7.0-32.dll'

With this option, the shared libraries may be anywhere on the client; the libraries do not need to be on the %PATH% or $LD_LIBRARY_PATH.

Set libraryName to the file name of the client library file.

For example, for 32-bit VisualWorks clients on Windows, logging into GemStone/S 64 Bit v3.7:

GbsConfiguration current libraryName: 
    'libgcirpc-3.7.0-32.dll'

This option requires that the library be in a directory on the %PATH% or $LD_LIBRARY_PATH; or on Linux, in the standard Linux library directories.

On Windows, it may also be in the current working directory, or in the VisualWorks executable directory.

Leave libraryName set to the empty string. This is the default, equivalent to:

GbsConfiguration current libraryName: '' 

This requires that the client libraries be in the current working directory, or in the bin directory or subdirectory of your VisualWorks image’s VISUALWORKS directory.

Be sure to verify that no other versions of the shared libraries are in these locations.

Use the file dialog to select the library name and path.

If the library name specified by libraryName in the previous options cannot be loaded, the resulting notification provides the option of selecting a file using a file dialog.

The load error may be due to an incorrect libraryName, copying the wrong library, or an additional required library failing to load.

Navigate to the location of the shared library and select the file. The dialog provides filename filtering, so only valid library names will appear.

Selecting a file using the file dialog will set libraryName to the full path selected.

7.  Verify installation by logging into the GemStone/S Server

To preserve your libraryName setting, save your image. You may wish to make a backup of this image.

The libraryName setting controls the shared library that is loaded the first time GemStone server code is accessed after image startup. If you have a client library already loaded in your image, changing the libraryName has no effect. To change the shared library that is loaded, update the libraryName, and save and restart the image.

Once the shared libraries are loaded, you should test your installation by logging into the GemStone/S server. You will need to ensure that the Stone repository monitor, and a NetLDI (if necessary), are accessible.