gt4gemstone server installation

GemStone supports a large variety of configuration options. This documentation assumes that the server is restricted to the machine which GT is running on.

The installation process is different depending on whether you are installing a GemStone server and configuring it for GT or using an existing GemStone image.

Install a GemStone server

Using a pre-built GT image

The installation scripts currently assume a fixed structure for the directly layout of the gt4gemstone repository and the GemStone server directories.

If the gt4gemstone repository is not already loaded in your image, load it with:

Metacello new
	repository: 'github://feenkcom/gt4gemstone:main/src';
	baseline: 'GtGemstoneClient';
	load.
  

Install the GemStone server

'Rowan' is the GemStone package that enables source version control using git / github. The installation procedures are different depending on whether you plan to use Rowan.

To install and configure GemStone without Rowan:

To install and configure GemStone with Rowan:

Installing gt4gemstone in an existing GemStone image

Ensure that the GemStone image has been started.

Download the gt4gemstone release, see Downloading the gt4gemstone release.

Install the gt4gemstone server code and associated dependencies:

        
./gt4gemstone-3.7/inputRelease.sh
        
      

If required, download the GemStone client libraries from http://downloads.gemtalksystems.com/pub/GemStone64/3.7.1/.

Creating a connector and testing the configuration

The following snippet will ensure that a properties file exists and create a GS connector:

gemstoneVersion := '3.7.1'.
"Assume the GemStone libraries have been downloaded to 'remote-gemstone'.  If not, update the following to point to the parent directory of the libraries."
libraryPath := (FileLocator imageDirectory / 'remote-gemstone') asFileReference.
self assert: (libraryPath / gemstoneVersion) exists
	description: 'Unable to find GemStone client libraries'.
connector := GtGemStoneSessionRegistry default propertiesFile addNewConnector.
connector 
	registry: GtGemStoneSessionRegistry default;
	libraryPath: libraryPath
	"If NetLDI was started on a specific port (instead of being defined as a service), tell the connector
	netldi: 50377".
connector username: 'SystemUser'.
	
session := GtGemStoneSessionRegistry default 
	newSessionWithConnector:  connector.
session beDefaultSession.
  

Check that the connection works by retrieving the installed version:

GtGemStoneSessionRegistry default defaultSession
	evaluateAndWait: 'GtGsRelease versionString'.
  

The result will depend on how GT was installed in to the GS image, and will either be dev or the matching GT version, e.g. v1.0.981.