You are currently browsing the category archive for the ‘GemStone’ category.

As of the end of 2010, the latest general availability release of GemStone 64 Bit is 2.4.4.3 (go here for documentation). Unfortunately, because of changes in the Macintosh build machines from Leopard to Snow Leopard, there was not a Macintosh release of 2.4.4.3. I’ve created a “private build” using the same sources, and you can get the equivalent product here. If you use these instructions, you can substitute the new download of 2.4.4.3 for the FTP instructions on getting 2.4.4.

The following script shows the commands used in a Terminal to install GemStone/S 64 Bit 2.4.4 on a brand new install of Mac OS X Version 10.6. It would be best to read the script and decide what applies to your situation because this makes changes to some OS settings and files. Check back for a video of the experience and some further comments on the settings describing which are required and which are optional.

# get sudo ready (not secure!)
echo swordfish | sudo -S whoami

# if the following does not work, then edit /etc/hosts
ping -c3 `hostname`

sudo mv /etc/hosts /etc/hosts.bak
sed "s/localhost$/localhost `hostname`/" \
< /etc/hosts.bak \
| sudo tee /etc/hosts

ping -c3 `hostname`

# set current shared memory settings
sudo sysctl -w kern.sysv.shmall=393216
sudo sysctl -w kern.sysv.shmmax=1610612736
echo '
# boot-time shared memory settings for GemStone/S 64 Bit
kern.sysv.shmall=393216 # 4KB pages (1.5 GB)
kern.sysv.shmmax=1610612736 # bytes (1.5 GB)
' | sudo tee -a /etc/sysctl.conf

# set services
echo ‘
gs64ldi 50377/tcp # GemStone/S 64
‘ | sudo tee -a /etc/services

# set my user environment
echo ‘
# GemStone/S 64 Bit Configuration
export GEMSTONE=/opt/gemstone/product
export PATH=$GEMSTONE/bin:$PATH
export GEMSTONE_EXE_CONF=/opt/gemstone/etc
export GEMSTONE_SYS_CONF=/opt/gemstone/etc/system.conf
export GEMSTONE_NRS_ALL=\
#dir:/opt/gemstone#log:/opt/gemstone/log/%N_%P.log
alias gslist=”gslist -cvl”
alias startnetldi=”startnetldi -g -a `whoami`”
alias startstone=”startstone \
gs64stone -l /opt/gemstone/log/gs64stone.log”
alias stopstone=”stopstone gs64stone DataCurator swordfish”
alias topaz=”topaz -l -T 50000″
‘ >> ~/.bash_profile
source ~/.bash_profile

# set topaz initialization
echo ‘
set user DataCurator pass swordfish gems gs64stone
login
‘ > ~/.topazini

# create directories
mkdir \
/opt \
/opt/gemstone \
/opt/gemstone/locks \
/opt/gemstone/log \
/opt/gemstone/etc \
/opt/gemstone/data
cd /opt/gemstone

# get GemStone/S 64 Bit product
ftp -n ftp.gemstone.com << EOF
binary
quote USER anonymous
quote PASS password
ls
cd /pub/GemStone64/2.4.4
ls
get GemStone64Bit2.4.4-i386.Darwin.zip
bye
EOF
unzip *.zip
ln -s GemStone64Bit2.4.4-i386.Darwin product

cp /opt/gemstone/product/bin/extent0.dbf /opt/gemstone/data
chmod 600 /opt/gemstone/data/extent0.dbf

# see http://seaside.gemstone.com/etc/
# for a keyfile with larger limis
cp /opt/gemstone/product/seaside/etc/gemstone.key \
/opt/gemstone/etc
cp /opt/gemstone/product/data/system.conf \
/opt/gemstone/etc

echo ‘
# GemStone/S 64 Bit Stone Configuration
KEYFILE = /opt/gemstone/etc/gemstone.key;
DBF_EXTENT_NAMES = /opt/gemstone/data/extent0.dbf;
SHR_PAGE_CACHE_SIZE_KB = 1048576;
STN_TRAN_FULL_LOGGING = TRUE;
STN_TRAN_LOG_DIRECTORIES = /opt/gemstone/data/, /opt/gemstone/data/;
STN_TRAN_LOG_SIZES = 100, 100;
‘ > /opt/gemstone/etc/gs64stone.conf

cd ~

startnetldi
startstone
gslist
topaz << EOF
run
| stream |
stream := WriteStream on: String new.
System stoneConfigurationReport keysAndValuesDo: [:key :value |
stream nextPutAll: key , ‘ -> ‘ , value printString; cr.
].
stream contents.
%
logout
exit
EOF

stopstone
stopnetldi

James Robertson is applying his considerable experience creating screencasts to new areas, including a three-minuteĀ Getting Started with GLASS. Check it out!

Categories