The FreeCiv Alpha Centauri CIVCLIENT and CIVSERVER for OpenVMS so far has only been tested by me personally on the following Alpha platforms.
The FreeCiv Alpha Centauri CIVSERVER for OpenVMS has only been tested by me personally on the following VAX platforms.
Note: Currently the FreeCiv Alpha Centauri CIVCLIENT is only supported on the Alpha platform. The FreeCiv Alpha Centauri CIVSERVER is suppored on both the VAX and Alpha platforms.
The problem with having a FreeCiv Alpha CentauriCIVCLIENT for VAX is the IMLIB and GTK+ graphics libraries haven't been ported to VAX yet, they have been ported to Alpha and hopefully someone will port them to VAX.
One should have no problems with older versions of OpenVMS just as long as one is using the DEC C compiler and DECWindows Motif, but I've only tested FreeCiv on OpenVMS v7.2 with DEC C v6.0-001.
But having said that, I would be happy to help someone having problems with older C compilers and older versions of OpenVMS.
O.k., here's is what you need to build FreeCiv Alpha Centauri on an OpenVMS system.
A copy of the 8th August 2000 CVS FreeCiv Alpha Centauri snapshot. This can be found at http://bellatrix.pcl.ox.ac.uk/~stewart/freecivAC-20000809.tar.gz
A copy of the FreeCiv Alpha Centauri OpenVMS patch kit. This can be found at http://www.ourservers.net/public/freecivac/vms_freecivac-20000809.zip
A installed copy of Digital Equipments DEC C compiler. If you do not have a copy of the DEC C compiler you can obtain a copy via the OpenVMS Hobbyist Program at http://www.montagar.com/hobbyist
An OpenVMS version of the Unix TAR utility. If you do not have a copy of an OpenVMS TAR utility you can obtain a copy at ftp://ftp.levitte.org/vms/
An OpenVMS version of the Unix GNU ZIP utility. If you do not have a copy of an OpenVMS GNU ZIP utility you can obtain a copy at http://www.openvms.digital.com/freeware/gzip/
If you want to build the FreeCiv Alpha Centauri X CIVCLIENT you will also need to have the following. You can build just the FreeCiv CIVSERVER without having to build the FreeCiv Alpha Centauri X CIVCLIENT, but you won't be able to play the game.
DECWindows Motif installed and running along with the compiler libraries for DECWindows Motif.
You will need to download, compile and install the lastest version of the OpenVMS Porting library. You can get the lastest version of the OpenVMS Porting library from http://www.openvms.digital.com/openvms/products/ips/porting.html
You will need the latest version of GTK+ for OpenVMS Alpha. This can be found at http://www.openvms.digital.com/openvms/products/ips/gtk.html
If your version of DEC C is pre v6.2 you will need to download this patch kit for GTK+ so you can compile and link the GTK+ libraries. The GTK+ patch kit can be found at http://www.ourservers.net/openvms_ports/gtk/gtk_contents.html
You will need the latest version of IMLIB. This can be found at ftp://ftp.gnome.org/pub/GNOME/stable/sources/imlib/imlib-1.9.8.1.tar.gz
O.k. You have everything outlined in the section What do I need to build FreeCiv Alpha Centauri for OpenVMS and you want to get the ball rolling.
Note: For pupose of example we will use the installation directory of DISK$WORK:[000000]
If needed, install the DEC C compiler, DECWindows Motif, OpenVMS TAR or GNU ZIP for OpenVMS.
If you are planning on building the FreeCiv Alpha Centauri X CIVCLIENT you will need to compile, link and install the OpenVMS Porting Library if it is not already installed.
If you are planning on building the FreeCiv Alpha Centauri X CIVCLIENT you will need to compile and link the GTK+ For OpenVMS Alpha kit.
Note: You need to unpack the GTK+ kit in the same directory root where you will be unpacking FreeCiv and the directory needs to start with GTK as the compile script will look for a directory starting with GTK in the same root directory as the FreeCiv distribution.
Example: [000000] [.GTK128] [.FREECIV-1_11_4]
If your version of DEC C is pre v6.2 you will need to download this patch kit for GTK+ so you can compile and link the GTK+ libraries. The GTK+ patch kit can be found at http://www.ourservers.net/openvms_ports/gtk/gtk_contents.html
Unpack the FreeCiv Alpha Centauri CVS snapshot file FREECIVAC-20000809.TAR-GZ into a directory of your choice.
$ SET DEFAULT DISK$WORK:[000000] $ GUNZIP [.DOWNLOAD]FREECIV-20000809.TAR-GZ $ TAR -vxf FREECIV-20000809.TAR
Unpack the FreeCiv Alpha Centauri for OpenVMS patch file VMS_FREECIVAC-20000809.ZIP ON TOP of the FreeCiv Alpha Centauri CVS snapshot you unpacked replacing the files.
$ SET DEFAULT DISK$WORK:[000000] $ UNZIP [.DOWNLOAD]VMS_FREECIVAC-20000809.ZIP
Just to be safe, do a PURGE of the files in the FreeCiv Alpha Centauri directory tree.
$ SET DEFAULT DISK$WORK:[000000] $ PURGE [.FREECIVAC-20000809...]*.*
If building the FreeCiv Alpha Centauri X CIVCLIENT, unpack the IMLIB v1.9.8.1 distribution file IMLIB-1_9_8_1.TAR-GZ into THE SAME DIRECTORY where you unpacked the FreeCiv v1.11.4 files.
$ SET DEFAULT DISK$WORK:[000000] $ GUNZIP [.DOWNLOAD]IMLIB-1_9_8_1.TAR-GZ $ TAR -vxf IMLIB-1_9_8_1.TAR
If you are just building everything you should see the following directories.
FREECIV-1_11_4.DIR (your GTK+ directory) IMLIB-1_9_8_1.DIR
If you are just building the FreeCiv Alpha Centauri server you should only see the FREECIV-1_11_4 directory unless you also installed the other files to build the client later.
You need to define a logical to point to the directory where you installed your OpenVMS Porting library.
$ DEFINE/NOLOG PORTING_LIB DISK$CARTMAN:[PORTING_LIB.]
Go to the FreeCiv Alpha Centauri[.VMS] directory where you will find the compile script VMS_BUILD.COM. The VMS_BUILD.COM script accepts the following parameters.
P1: ALL Just Build Everything. IMLIB Just Build The IMLIB Library. COMMONLIB Just Build The Library Of Common Routines. AILIB Just Build The AI Library. SERVERLIB Just Build The Server Library. CIVSERVER Just Build The CIVSERVER Server Executable. CLIENTLIB Just Build The Client Library. GTKCLIENTLIB Just Build The GTK Client Library. CIVCLIENT Just Build The CIVCLEINT Executable. P2: DEBUG Build With Debugger Information. NODEBUG Build Without Debugger Information. P3: PRE_DECC_V6_2 Compiling With A Pre DEC C v6.2 Compiler.
If you execute VMS_BUILD.COM without any options the script will default to "ALL" and "NODEBUG".
Note: If you are JUST building the FreeCiv Alpha Centauri server and haven't unpacked any of the necessary files for the X client (i.e. IMLIB, GTK) then DON'T use the options ALL, CLIENTLIB, GTKCLIENTLIB or CIVCLIENT as the script will complain about the necessary files not being found.
So if you are just building the server, just use the CIVSERVER option to save the hassle.
If you are compiling on a machine with a pre DEC C v6.2 compiler YOU MUST enter PRE_DECC_V6_2 as the third option if you are going to build the CIVCLIENT or you will get compile errors.
Example: $ @VMS_BUILD ALL NODEBUG PRE_DECC_V6_2 OR $ @VMS_BUILD "" "" PRE_DECC_V6_2
The VMS_BUILD.COM script will then proceed compiling and linking with the options you have selected.
Depending on what options you chose, you may see compiler and linker warnings, espically for IMLIB, CLIENTLIB, GTKCLIENTLIB and CIVCLIENT. These are norml and won't harm anything and we are working on having them resolved.
When all is done, you should have one of the following executables (or more depending on the build parameters you gave) in your [.VMS] directory.
CIVCLIENT-AXP.EXE AXP FreeCiv v1.11.4 GTK-GUI Client. CIVSERVER-AXP.EXE AXP FreeCiv v1.11.4 Server. CIVCLIENT-AXP.EXE-DEBUG AXP FreeCiv v1.11.4 GTK-GUI Client With OpenVMS Debug Information. CIVSERVER-AXP.EXE-DEBUG AXP FreeCiv v1.11.4 Server With OpenVMS Debug Information. CIVSERVER-VAX.EXE VAX FreeCiv v1.11.4 Server. CIVSERVER-VAX.EXE-DEBUG VAX FreeCiv v1.11.4 Server With OpenVMS Debug Information.