fis-gtm/README

107 lines
4.4 KiB
Plaintext
Raw Permalink Normal View History

The make file enclosed (sr_unix/comlist.mk) will build GT.M from source.
The prerequisites are GNU make, GT.M binary installation (which you can
download from http://sourceforge.net/projects/fis-gtm/), Linux x86, tcsh,
Unicode and GPG include files. Unicode include files are automatically
installed if ICU is installed. GPG include files require installing the
GNUPG and related library development packages. GNU make 3.81,
Ubuntu 10.04 LTS and RHEL 5.0 were used to do the test builds for this
distribution. The default ICU and GPG packages were taken from the OS
vendors' repositories.
To build a production version GT.M for linux do the following steps:
1. Fulfill the pre-requisites.
Download and install GT.M binary distribution from SourceForge if you
do not have GT.M installed already. The build procedure needs an
existing GT.M mumps installed on the machine.
You can download GT.M from http://sourceforge.net/projects/fis-gtm/
Unpack the tar file and run the configure script as root. Note: the tar
file unpacks everything into your current working directory, not a new
subdirectory. The Linux Standard Base (LSB) install path for GT.M
V54002 is /opt/lsb-gtm/V5.4-002_i686 or /opt/lsb-gtm/V5.4-002_x8664.
$ tar xfz gtm_V54002_linux_i686_src.tar.gz
$ sudo sh ./configure
2. Unpack the GT.M sources
Change directory in the directory that you will place the GT.M source,
here after referred to as <gtm-directory>.
$ mkdir <gtm-directory>
$ cd <gtm-directory>
$ tar xfz gtm_V54002_linux_i686_src.tar.gz
You should find this README, COPYING file and sr_* source directroies.
3. Define environment variables needed to build GT.M
You will need to use tcsh to build GT.M. GT.M uses several csh script
files the define environment variables used in the build process. You
will need to define several variables prior to intiating your GT.M build.
- Define 'gtm_curpro' and 'gtm_exe' so that you can compile M programs.
This is the directory in which you installed the GT.M binaries from
SourceForge.
$ setenv gtm_curpro <path to installed GT.M>
$ setenv gtm_exe $gtm_curpro
$ setenv HOSTOS `uname -s`
- Define 'gtm_tools' and 'gtm_inc'
$ setenv gtm_tools $PWD/sr_linux
$ setenv gtm_inc $PWD/sr_linux
- [OPTIONAL] Ubuntu users must define 'distro'
$ setenv distro ubuntu
- [OPTIONAL] By default the build procedure will build 64 bit version of
GT.M on a x86_64 bit machine.
If you intend to build 32 bit version of GT.M on a x86_64 bit machine you
have to explicitly set the environment variable 'OBJECT_MODE' to '32'
$ setenv OBJECT_MODE 32
- Specify which ICU version is installed.
ICU version needs to be of the form #.# If the result of running
"icu-config --version" has the form #.#.#, just use the first two
parts. For example, if "icu-config --version" returns 3.8.1, use
3.8 in the "setenv" step.
$ icu-config --version
$ setenv gtm_icu_version <result of previous step>
- Define 'gtm_version_change' and execute gtm_env.csh
$ setenv gtm_version_change 1
$ source sr_unix/gtm_env.csh
4. Building GT.M -
By default, the gmake will build a production version GT.M. The build type
of GT.M can be controlled by a parameter "buildtypes" - dbg (debug),
bta (beta), and pro (production). Passing a subset of dbg, bta, or pro in
"buildtypes" from the environment or the command line will build that subset.
For example:
gmake -f sr_unix/comlist.mk -I./sr_unix -I./sr_linux buildtypes=dbg gtm_ver=$PWD
will build just a debuggable GT.M release.
You can clean your builds by appending 'clean' to the make line.
For example:
gmake -f sr_unix/comlist.mk -I./sr_unix -I./sr_linux buildtypes=dbg gtm_ver=$PWD clean
5. Packaging GT.M -
Once the required builds have been done the object distribution can be
tar'ed by doing:
gmake -f sr_unix/comlist.mk -I./sr_unix -I./sr_linux gtm_ver=$PWD package
Again, buildtypes can be used to package just a subset. For example:
gmake -f sr_unix/comlist.mk -I./sr_unix -I./sr_linux buildtypes=pro gtm_ver=$PWD package
Appendix: Known warnings and errors
- "cc1: note: obsolete option -I- used, please use -iquote instead"
You can safely ignore this warning
- "chk2lev.mdep:2: *** missing separator. Stop."
tcsh is using the builtin echo, you need to set the environment variable
'distro' to 'ubuntu' and clean your build.
$ setenv distro ubuntu