| 1 |
I am not entirely sure yet what are the minimum supported versions of Tcl/Aolserver etc., and what |
|---|
| 2 |
flexibility you have with perl compilation options (although perl 5.10 is almost definately required). |
|---|
| 3 |
|
|---|
| 4 |
For now, here is exactly what I did to install - my tested configurations are listed below |
|---|
| 5 |
|
|---|
| 6 |
# |
|---|
| 7 |
# Setup install directory & env variables |
|---|
| 8 |
# |
|---|
| 9 |
# I put tcl and aolserver in the same root, but you |
|---|
| 10 |
# probably don't need to. |
|---|
| 11 |
# |
|---|
| 12 |
# I always run the test suites - some people skip them. |
|---|
| 13 |
# |
|---|
| 14 |
# be careful of any existing LIBS, CINCLUDES etc. env variables - I had them set for |
|---|
| 15 |
# MacPorts and it caused problems getting aolserver to link to my new tcl |
|---|
| 16 |
# |
|---|
| 17 |
|
|---|
| 18 |
|
|---|
| 19 |
export NSSRC=~/aol/aolserver-4.5.0 # aolserver src tree (need to get to nsd.h) |
|---|
| 20 |
export NSINST=/opt/aolserver-test # where aolserver is going to be installed |
|---|
| 21 |
export TCLINST=/opt/aolserver-test # where tcl is going to be installed |
|---|
| 22 |
export NSPERLINST=/opt/aolserver-perl # where perl & modules are going to be installed |
|---|
| 23 |
export NSPERL=$NSPERLINST/bin/perl # path to the perl binary |
|---|
| 24 |
|
|---|
| 25 |
sudo mkdir $NSINST |
|---|
| 26 |
sudo mkdir $TCLINST |
|---|
| 27 |
sudo mkdir $NSPERLINST |
|---|
| 28 |
sudo chown aufflick $NSINST $TCLINST $NSPERLINST # use the appropriate user here |
|---|
| 29 |
|
|---|
| 30 |
# MacOS X specific |
|---|
| 31 |
# |
|---|
| 32 |
# You also need to do the following on 10.5 if you use aolserver 4.5.0 (instead of HEAD). |
|---|
| 33 |
# I know, it seems to make no sense, but you need to, else you get seg faults. |
|---|
| 34 |
# See: http://www.mail-archive.com/aolserver@listserv.aol.com/msg11339.html |
|---|
| 35 |
|
|---|
| 36 |
ulimit -n 256 |
|---|
| 37 |
|
|---|
| 38 |
# |
|---|
| 39 |
# Install tcl |
|---|
| 40 |
# |
|---|
| 41 |
# you may be able to use a suitable existing installation |
|---|
| 42 |
# note the corefoundation caveat for Mac installs below |
|---|
| 43 |
# |
|---|
| 44 |
|
|---|
| 45 |
tar zxf tcl8.4.18-src.tar.gz |
|---|
| 46 |
cd tcl8.4.18/unix |
|---|
| 47 |
|
|---|
| 48 |
# for Mac OS X: |
|---|
| 49 |
# (the disable-corefoundation is required otherwise any forks in perl code will be unsafe) |
|---|
| 50 |
./configure --enable-threads --disable-corefoundation --prefix=$TCLINST |
|---|
| 51 |
|
|---|
| 52 |
# for Centos 4.5 (Linux): [Note 1] |
|---|
| 53 |
cat configure | | sed 's/-lieee//' > configure.noieee |
|---|
| 54 |
sh configure.noieee --enable-threads --prefix=$TCLINST |
|---|
| 55 |
|
|---|
| 56 |
make |
|---|
| 57 |
make test # I get an odd clock failure on both platforms [Note 2] |
|---|
| 58 |
make install |
|---|
| 59 |
cd ../.. |
|---|
| 60 |
|
|---|
| 61 |
# |
|---|
| 62 |
# Install Aolserver |
|---|
| 63 |
# |
|---|
| 64 |
|
|---|
| 65 |
tar zxf aolserver-4.5.0-src.tar.gz |
|---|
| 66 |
cd aolserver-4.5.0 |
|---|
| 67 |
|
|---|
| 68 |
$TCLINST/bin/tclsh8.4 nsconfig.tcl -install $NSINST |
|---|
| 69 |
|
|---|
| 70 |
# For MacOS: |
|---|
| 71 |
make |
|---|
| 72 |
make install |
|---|
| 73 |
|
|---|
| 74 |
# For Centos 4.5 (Linux): [Note 3] |
|---|
| 75 |
CFLAGS=-nostartfiles make |
|---|
| 76 |
CFLAGS=-nostartfiles make install |
|---|
| 77 |
|
|---|
| 78 |
cd .. |
|---|
| 79 |
|
|---|
| 80 |
# |
|---|
| 81 |
# Install perl |
|---|
| 82 |
# |
|---|
| 83 |
|
|---|
| 84 |
tar zxf perl-5.10.0.tar.gz |
|---|
| 85 |
cd perl-5.10.0 |
|---|
| 86 |
|
|---|
| 87 |
# omit the -d on the end if you want interactive configuration prompts instead of defaults |
|---|
| 88 |
|
|---|
| 89 |
sh Configure -Dprefix=$NSPERLINST -Dusethreads -Dusemultiplicity -d |
|---|
| 90 |
|
|---|
| 91 |
make |
|---|
| 92 |
make test # these tests take a long time |
|---|
| 93 |
make install |
|---|
| 94 |
|
|---|
| 95 |
# |
|---|
| 96 |
# Install perl module required for nsperl2 tests |
|---|
| 97 |
# |
|---|
| 98 |
# the CPAN shell will ask you all sorts of questions - mostly the defaults are fine. |
|---|
| 99 |
# it won't ask you again if you install more modules later. |
|---|
| 100 |
# |
|---|
| 101 |
|
|---|
| 102 |
$NSPERL -MCPAN -e'install "LWP"' |
|---|
| 103 |
|
|---|
| 104 |
# |
|---|
| 105 |
# Install nsperl2 |
|---|
| 106 |
# |
|---|
| 107 |
|
|---|
| 108 |
cd .. |
|---|
| 109 |
svn co http://svn.pumptheory.com/repos/trunk/aolserver/nsperl2 |
|---|
| 110 |
cd nsperl2 |
|---|
| 111 |
# see MacOS X note below |
|---|
| 112 |
make install |
|---|
| 113 |
make test |
|---|
| 114 |
|
|---|
| 115 |
# note that 'make test' starts an nsd server on port |
|---|
| 116 |
# MacOS X note - with aolserver 4.5.0 you seem to need to do the following due to a bug in the |
|---|
| 117 |
# build process: |
|---|
| 118 |
|
|---|
| 119 |
cd nsperl2; make; cd .. |
|---|
| 120 |
|
|---|
| 121 |
|
|---|
| 122 |
Tested Configurations |
|---|
| 123 |
--------------------- |
|---|
| 124 |
|
|---|
| 125 |
O/S Tcl Perl Aolserver gcc |
|---|
| 126 |
------------------------------ ------- ----- ------------------------- ------------------------------- |
|---|
| 127 |
Mac OS X 10.5 (PPC) 8.4.18 5.10 cvs (HEAD at 2008-03-22) powerpc-apple-darwin9-gcc-4.0.1 |
|---|
| 128 |
Mac OS X 10.5 (PPC) 8.4.18 5.10 4.5.0 powerpc-apple-darwin9-gcc-4.0.1 |
|---|
| 129 |
CentOS 4.5 (Intel 32 bit SMP) 8.4.18 5.10 4.5.0 3.4.6 20060404 (Red Hat 3.4.6-9) |
|---|
| 130 |
|
|---|
| 131 |
|
|---|
| 132 |
Notes |
|---|
| 133 |
----- |
|---|
| 134 |
|
|---|
| 135 |
1. Tcl always compiles against libieee on Linux. This is not needed with newish glibc |
|---|
| 136 |
and causes a link error when nsperl2 links perl with tcl. On Linux (and perhaps other platforms) |
|---|
| 137 |
you must currently remove -lieee from configure so it doesn't get into the Makefile or the tclConfig.sh |
|---|
| 138 |
|
|---|
| 139 |
Someone from RedHat seems to agree -lieee is unnecessary: |
|---|
| 140 |
http://rpmfind.net/linux/RPM/redhat/enterprise/4/x86_64/src/tcl-8.4.7-2.src.html |
|---|
| 141 |
|
|---|
| 142 |
|
|---|
| 143 |
2. I get the following tcl make test failure on both MacOS X 10.5 and Centos 4.5: |
|---|
| 144 |
|
|---|
| 145 |
==== clock-8.1 clock scan midnight/gmt range bug 413397 FAILED |
|---|
| 146 |
==== Contents of test case: |
|---|
| 147 |
|
|---|
| 148 |
set fmt "%m/%d" |
|---|
| 149 |
list [clock format [clock scan year -base $5amPST -gmt 0] -format $fmt] [clock format [clock scan year -base $5amPST -gmt 1] -format $fmt] |
|---|
| 150 |
|
|---|
| 151 |
---- Result was: |
|---|
| 152 |
01/01 01/01 |
|---|
| 153 |
---- Result should have been (exact matching): |
|---|
| 154 |
12/31 12/31 |
|---|
| 155 |
==== clock-8.1 FAILED |
|---|
| 156 |
|
|---|
| 157 |
|
|---|
| 158 |
3. Unsure if the -nostartflags is unnecessary on MacOS X because of the newer gcc or the |
|---|
| 159 |
Darwin libtool. Newer Linux installations or other Unix flavours may vary. |
|---|