|
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:
|
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:
|
| | | | | 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"
|
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"
|
Suse 8.0
The previous entry switches on strict ansi C, but in this distro there is a C++ style comment on lne 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.
|
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
|
.../sue/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 inastall 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. Instea, you have to install from the source, which you can do as follows:
|
2) 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:
|
mv gcc-2.95.3 gcc 2.95.3_src
|
/usr/local/gcc-2.95.3_src/configure --prefix=/usr/local/gcc-2.95.3
|
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.
|
The instructions listed for Suse 9.0 still work for 32-bit Suse 9.1. The full procedure is:
|
xview-3.2p4.1-700.i586.rpm
|
xview-devel-3.2p4.1-700.i586.rpm
|
xview-devel-examples-3.2p4.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. |
|
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.
|
|