Recent Changes - Search:

PmWiki

pmwiki.org

edit SideBar

Tina4CompilationGuide

TINA 4 Compilation Notes

These notes apply to pre- TINA 5 releases: autoconfig should make such concerns a thing of the past. If you know of any tweaks required to get TINA 4 to compile on a specific linux distribution, please add them here.

Suse 6.4

Copy (or create links for) the files:

libX11.so.6.1
libX11.so
libX11.so.6
libX11.a

from /usr/X11R6/lib to /usr/openwin/lib

Suse 7.0

Add the flag -ansi to the TINA compile flags in the linux section of the file sh.tina or csh.tina (depending on which shell you are using: see the installation instructions) like so:

sh.tina:

Linux)
export TINA_BASE_DIR=/usr/local/Tina
export TINA_LIBDIR=$TINA_BASE_DIR/lib
export TINA_COMPILE_FLAGS="-g -pipe -ansi -D_BSD_SOURCE -D_POSIX_C_SOURCE -D$TINA_ARCHITECTURE"
export TINA_OS="LINUX"

csh.tina:

else if( $OS == Linux ) then
setenv TINA_BASE_DIR /usr/local/Tina
setenv TINA_LIBDIR $TINA_BASE_DIR/lib
setenv TINA_COMPILE_FLAGS "-g -ansi -D_BSD_SOURCE -D_POSIX_C_SOURCE -D$TINA_ARCHITECTURE"
setenv TINA_OS "LINUX"

Suse 8.0

The previous entry switches on strict ansi C, but in this distro there is a C++ style comment on line 13 of the file base.h in /usr/openwin/include/xview:

#include < sys/param.h > // defines MIN/MAX, thus conflicts if included later

Simply remove the comment. Default installations of Suse 8.0 (anything where you didn't pick the packages one-by-one) don't install the xview development packages: you may have to install these separately. The RPMs are under .../suse/xv1 on the installation disk: install all the packages that have names starting with xview.

You may get the message

System warning: No such file or directory, extras menu file /usr/lib/.text_extras_menu (Textsw package)

when running a tinatool. This refers to a menu that provides extra functionality for the text window in the top level tinatool: it is not essential to install this, but if you want to stop the error meassage appearing you can install the OpenLook virtual windows manager from the package

.../suse/xwm3/olvwm-4.1-240.i386.rpm

Suse 8.1

TINA 4 doesn't compile using gcc version 3 compilers (I think this is due to some tightening-up of the rules for using internal prototypes). The problem has been solved in TINA 5, but will not be fixed retrospectively in TINA 4. It may be possible to fix this problem using compiler flags, but it can be avoided by using version 2.9.x of gcc. A full installation of Suse 8.1 installs both version 2.9.x and version 3.x of gcc, with the 3.x compiler being used by default. You can change this either by setting the link gcc in /usr/bin to point to gcc-2.x in the same directory, or set CC in the user.make file in the directory where you installed TINA to point to the older version of the compiler. You may also have to set the gcc command in any tinatool Makfiles you write (or for project directories you download) to point to the older compiler.

Suse 9.0

The full install of Suse 9.0 does not install xview, so first use Yast to install the xview, xview_devel and xview_devel_examples packages. A GTK interface has been written for TINA 5 to replace the old xview interface, but this will not be added retrospectively to TINA 4.

This is the first Suse distro I have come across that does not come with a version 2.x of gcc. In order to compile TINA 4, you will have to install gcc-2.95 alongside the existing version of gcc. I tried installing from the RPM in the Suse 8.0 distro, but this would not allow relocation of the package, and I doubt that it would be a good idea to force an installation over the existing gcc. Instead, you have to install from the source, which you can do as follows:

  • Download gcc-2.95.3.tar.gz from http://gcc.gnu.org: put it in /usr/local
  • You will need three directories: one to hold the sources, one to build, and a third to install (to ensure that you do not overwrite the existing gcc on your system). I got the following instructions from the gcc FAQ article entitled "How to install multiple versions of gcc" at http://gcc.gnu.org. In a shell, as root, type:
cd /usr/local
gunzip gcc-2.95.3.tar.gz
tar -xvf gcc-2.95.3.tar
mv gcc-2.95.3 gcc 2.95.3_src
mkdir gcc-2.95.3_obj
mkdir gcc-2.95.3
cd gcc-2.95.3_obj
/usr/local/gcc-2.95.3_src/configure --prefix=/usr/local/gcc-2.95.3
make bootstrap
make install
cd /usr/local/bin
ln -s /usr/local/gcc-2.95.3/bin/gcc gcc2

You now have a link to the gcc version 2 compiler alongside the link to the gcc version 3 compiler, which you can invoke in the user.make file for TINA library builds, or in individual Makefiles for tinatools. Also remeber to alter the base.h file and to set the strict ansi flag (see above). During compilation, you should see some warnings about MIN and MAX being redefined, but no errors.

Suse 9.1

Welcome to the world of 64-bit hardware! The following instructions were tested on an AMD 3500+ machine with an Asus A8V Deluxe MB and 1GB of RAM, with both 32-bit and 64-bit versions of Suse 9.1 professional.

Suse 9.1 32 bit

The instructions listed for Suse 9.0 still work for 32-bit Suse 9.1. The full procedure is:

  • Install the packages
xview-3.2p4.1-700.i586.rpm
xview-devel-3.2p4.1-700.i586.rpm
xview-devel-examples-3.2p4.1-700.i586.rpm
olvwm-4.1-700.i586.rpm
  • Download and install the tinasrc-v4.0.2.tar.gz, following the installation instructions in the tarball. Add the flag -ansi to the compile flags in sh.tina
  • Download and install gcc-2.95.3 as described above. Install this in parallel to the existing gcc-3.3.3: place a link called gcc2 in /usr/bin, linking to the gcc-2.95.3 executable.
  • Edit user.make in /usr/local/Tina to contain the line CC=gcc2, so that the build script will use the older version of the compiler.
  • Edit /usr/openwin/include/xview/base.h to remove the C++ style comment on line 13.
  • Build the TINA libraries. You should only get warnings about MIN and MAX being redefined, and about integer/pointer casts.
  • Remember to edit the Makefile for you individual tinatools to use the gcc v.2 compiler: you will get warnings that sys-errlist is deprecated, but you can ignore these.

Suse 9.1 64 bit

Version 2.x of gcc will not build under 64 bit Suse 9.1, as the configure script contains no definition for this architecture. No compatibility version of the older compiler is available from Suse, and Tina 4 will not build under gcc 3 compilers due to some sloppy definitions (e.g. using NULL instead of 0 as a value in case statements). These issues could potentially be solved, but since they have already been solved in Tina 5, no attempt will be made to retrospectively add these fixes to Tina 4. Therefore, if you want to use 64 bit hardware, you must migrate to Tina 5.

paul.bromiley@man.ac.uk 11/11/2004

Edit - History - Print - Recent Changes - Search
Page last modified on March 05, 2012, at 05:22 PM