2. Configuring GBS for GemStone/S 64 Bit

Previous chapter

This chapter provides further information on setting up a client Smalltalk application using GBS on a Raspberry Pi, to run with a GemStone/S 64 Bit version 3.5.1 server on a supported server platform.

Both GemBuilder for Smalltalk/VA with Instantiation’s VA Smalltalk, and GemBuilder for Smalltalk/VW for Cincom’s VisualWorks Smalltalk, have been verified to connect and login. Full testing has not been done and these third-party client Smalltalk environment are not currently supported by their organizations.

GemBuilder for Smalltalk/VA

Executables for VA Smalltalk on Raspberry Pi are available in the pre-release VA Smalltalk 9.2 Early Customer Access Program (ECAP) distribution.

These have been run with the GemBuilder for Smalltalk v5.4.5 release.

GemBuilder for Smalltalk/VW

The VW 8.3.2 release includes an unsupported Raspberry Pi object engine.

These have been run with the GemBuilder for Smalltalk/VW v8.4 release.

Configuration for the Client

Shared Libraries for Client Node

The GBS client requires a set of shared libraries (.so files) that are provided as part of the GemStone server or client product distribution.

The shared libraries must be the same version as the GemStone server. Since they are loaded into the client smalltalk VM, they must be appropriate for the client platform.

It is recommended to install the full GemStone/S 64 Bit Raspberry Pi Client on your GBS client node, as is described in Chapter 1 of this Installation Guide.

However, you may instead just copy the specific shared libraries that are needed.

Libraries only

If you do not require tools such as topaz on the client, you do not need to install the full GemStone/S 64 Bit Raspberry Pi Client on the client node. You may just copy the set of library files that GBS requires:

$GEMSTONE/lib32/libgcirpc-3.5.1-32.so
$GEMSTONE/lib32/libssl-3.5.1-32.so

You may put these libraries in the client Smalltalk working directory, a directory on the machine search path, or in another location. The choice of locations will determine the options for locating and loading the shared library, as described in the next section.

Update GBS to reference v3.5.1 libraries

Once you have installed the GemStone client on the GBS client machine, or copied the appropriate shared libraries, you need to ensure that the client Smalltalk executable (the VisualWorks or VA Smalltalk application), will load the v3.5.1 libraries.

Library name to specify

For GemStone clients on the Raspberry Pi, the library name that will be loaded is always:

libgcirpc-3.5.1-32.dll
Setup GBS to load the new libraries

The client library is generally specified by executing code in the client image, prior to logging in.

There are a number of ways to specify the client library:

  • Execute code to set full path

Set libraryName to the full path and file name of the client library file. This is the recommended option.

For example:

GbsConfiguration current libraryName:
	    'InstallDir/GemStone64Bit3.5.1-arm32.Linux/lib32/libgcirpc-
	3.5.1-32.so'

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

  • Execute code to set filename, allow system to determine path

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

For example:

GbsConfiguration current libraryName: 
    'libgcirpc-3.5.1-32.so'

This option requires that the library be in a directory in the standard library directories.

  • Allow system to determine path and filename (VisualWorks only)

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.

  • Use file dialog to set path and filename

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.

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 server. You will need to ensure that the Stone repository monitor and NetLDI are accessible.

Previous chapter