| FlagShip Tech Info
| Linux compatibility and available ports, additional infoLinux systems have been developing rapidly over the past few years . Due to this, the compatibility of the basic system (kernel) and dependent 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.6.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: Linux (as most other Unices) heavy use the libc.so dynamic library located in the /usr/lib or /lib directory, which is comparable to Windows Win32-API DLLs. It is customary to name Libraries in a general way, to be called by name by the kernel and applications without care of the current release. This is accomplished by having the general name be a symbolic link pointing to the library version currently available. This means, the /usr/lib/libc.so Library is usually a symbolic link to /lib/libc.so.<release>, whereby the <release> is 5 for Libc based systems and 6 for Glibc and Glibc-2.1+ systems. See further details below. Since FlagShip translates the Xbase code to C code as an intermediate step and requires object compatible libs during the linking stage, matching kernels, C compilers, utilities and libraries must be chosen with great care. To ensure the full Linux compatibility, there are different FlagShip ports available for Intel platform based Linux. More... Please choose the FlagShip port carefully according to your used Linux system. In doubt, check the availability and links of /lib/libc.so.6 as described above and the used cc/gcc version first, then order or download the corresponding FlagShip port. Compatibility note: the kernel release is not fully relevant for the Linux base, since you may re-compile nearly any kernel on nearly any Linux base. The only reliable criterion is the Linux libc.so library and the accompanying gcc release. These may differ significantly and are unfortunately often incompatible to each other, refer to gcc Release notes. Therefore: Warning: using a FlagShip port incompatible to your Linux system or with different cc/gcc may cause unpredictable behavior, unresolved externals or even core dump or segmentation or a suspicious message like "Serial number corrupted" and so on, since these Linux versions, compilers and libs are often incompatible to each other. However the by FlagShip 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). See further details in the FAQs.
Requirements:
Depending on the used Linux system and FlagShip port, you will need to have installed GNU C (gcc) or egcs compiler (and the accompanying libs and include's) to be able to develop with FlagShip. Check with "cc -v".
Although not strictly required, it is suggested also to install the ncurses/terminfo package.
Back to Linux compatibility, available ports and download links |
Use the BACK button in the header of your browser to return to previous page, or go to FlagShip home page.
Last updated: 10-March-2005