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

Advertisements