Quick Start
Install GemStone/S 64 Bit 3.7.5, create a repository, and log in for the first time. Select your platform below.
GemStone/S 64 Bit on macOS is supported for development use only, not production deployments.
Before you begin
All three tracks share the same prerequisites. Verify these before starting.
Hardware and OS
- Linux (zip)
- Linux (APT)
- macOS
- Intel x86_64 (Sandy Bridge or newer, no Atom) or AMD x86_64 (Bulldozer v1 or newer), or 64-bit Raspberry Pi 5 (arm64)
- Red Hat-compatible Linux ES 7.9/8.10/9.6, Ubuntu 22.04/24.04 LTS, or Debian 12/13
- Intel x86_64 (Sandy Bridge or newer, no Atom) or AMD x86_64 (Bulldozer v1 or newer)
- Ubuntu 22.04/24.04 LTS, or Debian 12/13
The APT track supports Ubuntu and Debian only. For Red Hat-compatible distributions, use the Linux (zip) or Linux (RPM) track.
- Intel x86_64 or Apple silicon (ARM)
- macOS 13.7.6 (Ventura) or macOS 15.5 (Sequoia)
Disk and memory
- Linux (zip)
- Linux (APT)
- macOS
- ~1.3 GB disk space for the distribution, plus space for your repository
- Swap space at least 20–25% of physical RAM
- ext4, XFS, or ZFS filesystem; XFS recommended for large systems
- Do not install on NFS-mounted partitions or CIFS volumes
- ~1.3 GB disk space for the distribution, plus space for your repository
- Swap space at least 20–25% of physical RAM
- ext4, XFS, or ZFS filesystem; XFS recommended for large systems
- Do not install on NFS-mounted partitions or CIFS volumes
- ~800 MB disk space for the distribution, plus space for your repository
- Adequate free space on the boot partition beyond other system needs
Step 1: Download the distribution
Go to gemtalksystems.com/products/gs64/versions37x and download the 3.7.5 package for your platform.
- Linux (zip)
- Linux (APT)
- macOS
Download the zip file matching your architecture:
GemStone64Bit3.7.5-x86_64.Linux.zip(x86_64)GemStone64Bit3.7.5-arm64.Linux.zip(arm64 / Raspberry Pi 5)
You must agree to the Community Edition License Terms before downloading, unless you have a GemTalk contract license.
Two APT installation methods are available. Choose one:
Option A — .deb file: Download GemStone64-3.7.5-1.x86_64.deb or GemStone64-3.7.5-1.arm64.deb.
Option B — PPA: No file to download. The PPA is configured in Step 2.
Download the .dmg file matching your hardware:
GemStone64Bit3.7.5-arm64.Darwin.dmg(Apple silicon)GemStone64Bit3.7.5-i386.Darwin.dmg(Intel/AMD)
Download the architecture-native package. Intel binaries run on Apple silicon via Rosetta emulation, but performance is slower.
Step 2: Install
Install as a regular user (gsAdminUser), not as root. Some configuration steps later require sudo.
- Linux (zip)
- Linux (APT)
- macOS
-
Choose an installation directory (
InstallDir). Avoid NFS-mounted partitions and volumes that contain OS swap space. -
Move the zip file to
InstallDirand unzip it:
cd InstallDir
unzip GemStone64Bit3.7.5-x86_64.Linux.zip
The distribution unpacks into a directory named GemStone64Bit3.7.5-x86_64.Linux (or arm64 for arm64).
The APT installation writes to /usr/lib/ and root owns it. Do not place your keyfile or repository files inside the GemStone distribution directory.
Option A — .deb file:
sudo apt install /path/to/GemStone64-3.7.5-1.x86_64.deb
You can also use dpkg -i instead of apt install.
Option B — PPA:
Follow the setup instructions at ppa.gemtalksystems.com, then install:
sudo apt install gemstone-server-3.7.5
After either method, GemStone is installed at:
/usr/lib/x86_64-linux-gnu/gemstone/3.7.5/(x86_64)/usr/lib/aarch64-linux-gnu/gemstone/3.7.5/(arm64)
-
Choose an installation directory (
InstallDir). Avoid NFS-mounted partitions and volumes containing OS swap space. -
Double-click the
.dmgfile to open it. -
Drag the GemStone installation tree to
InstallDir.
The distribution unpacks into a directory named GemStone64Bit3.7.5-platform.Darwin.
Step 3: Set environment variables
Set GEMSTONE and update your PATH before running any GemStone commands. Add these to your shell profile (.bashrc, .zshrc, or equivalent) to persist across sessions.
- Linux (zip)
- Linux (APT)
- macOS
export GEMSTONE=InstallDir/GemStone64Bit3.7.5-x86_64.Linux
export PATH=$GEMSTONE/bin:$PATH
Replace x86_64 with arm64 if you installed the arm64 distribution.
export GEMSTONE=/usr/lib/x86_64-linux-gnu/gemstone/3.7.5
export PATH=$GEMSTONE/bin:$PATH
Replace x86_64-linux-gnu with aarch64-linux-gnu for arm64.
export GEMSTONE=InstallDir/GemStone64Bit3.7.5-arm64.Darwin
export PATH=$GEMSTONE/bin:$PATH
Replace arm64 with i386 if you installed the Intel distribution.
If you have previously installed GemStone on this machine, check for stale environment variables and clear any that do not apply to 3.7.5:
env | grep GEM
Step 4: Run configuregs
configuregs creates the /opt/gemstone/locks and /opt/gemstone/log directories that GemStone requires to run. On a machine with no prior GemStone installation, you must run this step.
- Linux (zip)
- Linux (APT)
- macOS
Run as sudo with the GEMSTONE variable passed through:
sudo -E $GEMSTONE/install/configuregs
The script prompts for:
| Prompt | What to enter |
|---|---|
| User to own GEMSTONE | Your gsAdminUser account name (not root) |
| Group to own GEMSTONE | A group that includes all GemStone users |
| Key file path | Path to your keyfile, or press Enter to use the bundled community key |
Add Netldi to /etc/services? | n (default) unless you know you need named Netldi |
| Protect processes from OOM killer? | y (default) — recommended |
Update logind.conf to prevent session kill? | y (default) — recommended on systemd systems |
The APT track does not use configuregs. The package installation handles /opt/gemstone directory creation automatically. For keyfile setup, place your customer keyfile in /etc/gemstone/3.7.5/ and specify its path using the KEYFILE parameter in your Stone configuration file.
Skip to Step 5.
Run as sudo with the GEMSTONE variable passed through:
sudo -E $GEMSTONE/install/configuregs
The script prompts for:
| Prompt | What to enter |
|---|---|
| User to own GEMSTONE | Your gsAdminUser account name (not root) |
| Group to own GEMSTONE | A group that includes all GemStone users |
| Key file path | Path to your keyfile, or press Enter to use the bundled community key |
Add Netldi to /etc/services? | n (default) |
Step 5: Configure shared memory (macOS only)
- Linux (zip)
- Linux (APT)
- macOS
No action needed. Modern Linux kernels have sufficient default shared memory limits for GemStone.
No action needed. Modern Linux kernels have sufficient default shared memory limits for GemStone.
macOS requires explicit shared memory configuration. Create a plist file to set kern.sysv.shmmax and kern.sysv.shmall based on your available RAM.
-
Calculate the maximum shared memory segment: multiply your physical RAM in MB by 0.75, then convert to bytes.
For a machine with 8 GB (8192 MB) of RAM:
8192 MB × 0.75 = 6144 MB6144 MB × 1,048,576 = 6,442,450,944 bytes -
Create
/Library/LaunchDaemons/com.gemtalksystems.shared-memory.plist. A template lives at docs.gemtalksystems.com. Edit theshmmaxandshmallvalues to match your system.Here,
shmmaxis in bytes;shmallis in 4096-byte pages (shmmax / 4096). -
Apply the settings (or reboot):
sudo launchctl load /Library/LaunchDaemons/com.gemtalksystems.shared-memory.plist
Step 6: Create a repository
The recommended approach for new installs is createNewGemStoneRepository, which sets up all repository files in a single directory outside the distribution tree.
- Linux (zip)
- Linux (APT)
- macOS
$GEMSTONE/install/createNewGemStoneRepository /path/to/your/repo
Replace /path/to/your/repo with a path that does not yet exist or is empty, and is writable by gsAdminUser. The script prints the exact startstone and startnetldi commands to run next.
Because the APT installation is read-only, your repository directory must be outside $GEMSTONE:
$GEMSTONE/install/createNewGemStoneRepository /path/to/your/repo
The directory must not exist or must be empty, and your gsAdminUser account must have write access to it. Do not use any path inside /usr/lib/.
$GEMSTONE/install/createNewGemStoneRepository /path/to/your/repo
Replace /path/to/your/repo with a path that does not yet exist or is empty, and is writable.
Step 7: Start the Stone and Netldi
- Linux (zip)
- Linux (APT)
- macOS
# Start the Stone, pointing to the configuration file created in Step 6
startstone -E /path/to/your/repo/gemstone_data.conf
# Start the Netldi in guest mode with captive account
startnetldi -g -a gsAdminUser
# Start the Stone, pointing to the configuration file created in Step 6
startstone -E /path/to/your/repo/gemstone_data.conf
# Start the Netldi in guest mode with captive account
startnetldi -g -a gsAdminUser
# Start the Stone, pointing to the configuration file created in Step 6
startstone -E /path/to/your/repo/gemstone_data.conf
# Start the Netldi in guest mode with captive account
startnetldi -g -a gsAdminUser
Both commands use the default names gs64stone (Stone) and gs64ldi (Netldi). If you need to use a port number instead of a named Netldi, pass the port as an argument:
startnetldi -g -a gsAdminUser 54321
Step 8: Verify the installation
Log in using Topaz, the GemStone command-line interface. Run this on the same host as the Stone with your environment set up.
topaz
At the Topaz prompt, set your login parameters and connect:
topaz> set stone gs64stone user DataCurator password swordfish
topaz> login
A successful login confirms the Stone, Netldi, and repository are all working.
The built-in administrative accounts (DataCurator, SystemUser, GcUser) all use the default password swordfish. Change these passwords before any multi-user or networked use. See the System Administration Guide for instructions.
What to read next
- To understand user accounts and access control, see Object Security.
- For production configuration (multi-user, separate extents and transaction logs, large page memory), consult the System Administration Guide.
- For Topaz scripting and repository operations, see the Topaz User's Guide.