FlagShip
Tech Info

 

Linux compatibility and available ports

In the past few years, the development of Linux system matured very fast. Due of this, the compatibility of the basic system (kernel) and depending tools (compiler, utilities, libraries) is not fully continuous but was done in more or less incompatible steps.

The first major step was the switch from "aout" based system (kernels 0.9 up to 1.2.12) to "elf" based system (starting from kernel 1.2.13 up to the current Linux release 2.2.x). The object code (and libraries) are incompatible for aout and elf systems, but the "aout" applications may be executed by the "elf" based system when required (kernel settings).

Note: the "aout" is a Linux naming convention of the (older) system and for the used object format. It has nothing in common with the executable named "a.out" created by default by all Unix systems (also by the "elf" based Linux), when no other name is specified.

Also the "elf" based Linux is developed further, so the system releases are not fully compatible to each other. Although the statically linked executables are usually cross compatible for all Linux "elf" versions, the dynamically linked are not, caused by significant differences in the libc.so (and other) libraries.

Note: the libc.so dynamic library (located in the /usr/lib or /lib directory) is the main system Unix library, comparable e.g. to .DLLs of Win32-API on MS-Windows. Fortunately, to be able to detect the library version, the /usr/lib/libc.so is usually a symbolic link to /lib/libc.so.<release>. The new Linux Glibc based systems introduced /lib/libc.so.6 instead of libc.so, which is similarly a symbolic link to /lib/libc-<release>.so . In doubt, you may simply invoke "ls -l /lib/libc*" to determine your system base and "uname -a" to see the kernel release.

Consequently, to ensure the full Linux compatibility, there are four different FlagShip ports available for Intel platform based Linux (here listed from newest to oldest):

  • FlagShip for Linux ELF and Glibc-2.1

    which should be used with glibc-2.1 based systems (usually kernel 2.2.x), i.e. when the /lib/libc.so.6 file is available and when it is a symbolic link to /lib/libc-2.1.1.so or later. This version requires egcs (1.1 / 2.91 or later) C compiler. For the rpm installation, use rpm 3.0.6 or later, otherwise *.tgz installation is available on the FlagShip CD-ROM or use the rpm2targz script.
    The typical distributions are RedHat 6.x, SuSE 6.2, Mandrake 6.x etc. You may download the Free Test Drive for Glibc-2.1, or Upgrade an available FlagShip for Libc or Glibc based Linux to Glibc-2.1.

  • FlagShip for Linux ELF and Glibc

    which should be used with glibc-2.0 based systems (usually kernel 2.x.x), i.e. when the /lib/libc.so.6 file is available and when it is a symbolic link to /lib/libc-2.0.x.so or earlier. This version requires gcc 2.7 or 2.8 C compiler. For the rpm installation, use rpm 2.5.5 or later, otherwise *.tgz installation is available on the FlagShip CD-ROM or use the rpm2targz script.
    The typical distributions are RedHat 5.x, SuSE 6.0-6.1, Debian 2.x, Caldera 2.1 etc. You may download the Free Test Drive for Glibc, or Upgrade an available FlagShip for Libc or aout based Linux to Glibc.

  • FlagShip for Linux ELF and Libc

    which should be used when the /lib/libc.so.6 file is not available (kernel 1.2.13 to 2.0.x). This version requires gcc 2.7 or 2.8 C compiler. For the rpm installation, use rpm 2.4.12 or newer, otherwise use the *.tgz file on the FlagShip CD-ROM or use the rpm2targz script.
    The typical distributions are RedHat 4.x, SuSE 5.x, Debian 1.x, Caldera OpenLinux 1.x, SlackWare Linux etc. You may download the Free Test Drive for Libc, or Upgrade an available FlagShip for aout based Linux to Libc.

  • FlagShip for Linux aout

    which should be used for kernel releases below 1.2.13. There are only static libraries available. This version requires gcc 2.5 compiler.
    The typical distributions are older (pre Oct-1995) RedHat, SuSE etc. Free Test Drive and full version is available on the FlagShip CD-ROM available from multisoft your your local distributor.

Please choose the FlagShip port carefully according to your used Linux system. In doubt, check the availability and links of /lib/libc.so.6 ("ls -l  /lib/libc*") and the used cc version ("cc  -v") first, then order or download the corresponding FlagShip port.

Note: the kernel release does usually not say anything about the used Linux, since you may re-compile nearly any kernel on nearly any Linux base. The only reliable criterion is the "Linux base" (named aout, Libc, Glibc, Glibc-2.1), i.e. the release of the libc.so* library.

Warning: using a FlagShip port incompatible to your Linux system or with different cc may cause unpredictable behaviour, unresolved externals or even core dump or segmentation, since these Linux versions, compilers and libs are not fully compatible to each other. However the produced executables will most probably run well without problems also on other Linux sub-releases, especially if linked statically (the compilation is controlled by the FSconfig file located in the local or /etc directory).

Requirements:

Depending on the used Linux system and FlagShip port, you will need GNU C (gcc) or egcs compiler (including the accompanying libs) installed to be able to develop with FlagShip. Check with "cc  -v".

Note: the C compiler is not required for the user of your application, which only needs the by FlagShip produced executable. See also section SYS.1.2 of the FlagShip manual for further details how to customize your application.

The required disk space on the /usr file system is approx. 25 MBytes for the FlagShip installation. Check the available space with "df  /usr".

Although not strictly required, it is suggested also to install the ncurses/terminfo package.

Licenses:

There are free licenses for test/evaluation purposes or personal non-commercial use, as well as commercial licenses available. See the price list and license terms for additional details. When you already own FlagShip license and want to upgrade to another Linux system, contact your dealer or multisoft.

Use the BACK button in the header of your browser to return to previous page, or go to FlagShip home page. Last updated: 05-Aug-1999