Tips for getting tla to compile and work on solaris
These tips are for tla 1.2 on Solaris 2.7 but reportedly work OK on Solaris 8 as well.
It's assumed that you've already retrieved and unpacked the tla sources, and in the following text the notation $TLA_SRC is used to refer to the root of the tla source directory. Of course you should substitute the actual pathname on your system (or put it into an environment variable called TLA_SRC).
For more general installation instructions, see Installing Arch.
Make sure the "tsort" program is on your path somewhere (you can install GNU coreutils to get it); this is only necessary during configuration I think.
- Make sure you have (at least) these GNU packages installed somewhere:
gcc (the default solaris C compiler is apparently not ANSI compatible)
bash (tla needs a posix shell; also solaris /bin/sh is way flaky)
GNU diffutils, version >= 2.8 (tla requires gnu diff/patch)
GNU awk
GNU grep
GNU patch
GNU tar
GNU make version 3.80+
(There be other things required too, the above list is just what I needed to install in addition to whatever the sysadmin had already put in /usr/local.)
A convenient place to find Sun binary packages for GNU (and other free software) tools is http://www.sunfreeware.com/.
Below, the installation prefix for these packages is called $LOCAL.
Until it is merged into the main tla distribution, apply the following GNU patch file to the tla sources:
The patch file should be applied as follows, if you've put the patch file into /tmp/tla-solaris.patch:
$ cd $TLA_SRC $ patch -p1 < /tmp/tla-solaris.patch
[ The patch makes two changes:
The solaris "tail" command doesn't support the -n option, so the config scripts should use "sed" instead
Solaris needs to link against -lsocket, -lresolv, and -lnsl
package-framework
miles@gnu.org--gnu-2004/package-framework--devo--1.0--patch-1
miles@gnu.org--gnu-2004/package-framework--devo--1.0--patch-2tla
miles@gnu.org--gnu-2004/tla--devo--1.2--patch-6
miles@gnu.org--gnu-2004/tla--devo--1.2--patch-7
The archive miles@gnu.org--gnu-2004 is available from: http://sourcecontrol.net/~miles/miles@gnu.org--gnu-2004/ ]
Make a tla build directory, and configure tla; here we install tla into $LOCAL/bin as well:
$TLA_SRC/src/configure \
--config-shell $LOCAL/bin/bash \
--with-posix-shell=$LOCAL/bin/bash \
--with-cc=$LOCAL/bin/gcc \
--with-gnu-diff=$LOCAL/bin/diff \
--with-gnu-diff3=$LOCAL/bin/diff3 \
--prefix=$LOCAL
make
make installFeature |
Package |
Source/binary downloads |
Secure remote archive access with the sftp: protocol |
||
Cryptographic signing of archives |
http://www.gnupg.org/download/index.html |
A binary of tla 1.2.1 for Solaris is available at http://www.zipworld.com.au/~mlh/. The build notes for are similar to Miles' above. However some portability fixes are in the most recent 1.2.2 release candidate.
