FlagShip
Tech Info  

 

RedHat 9.x and Enterprise 3 to 7 ES and RHEL

tested with   version :   RH 9 RHEL 4.8 RHEL 5.5   check: CD or DVD label
  kernel :   2.4, 2.6 2.6.9 2.6.18   check: uname -a
  gcc : 3.2.2, 4.x 3.4.6 4.1.2   check: cc -v
  glibc : 2.3.2 2.3.4 2.5   check: /lib/libc.so.6
  X11 : XFree86 4.3.0 Xorg 6.8.2 Xorg 7.1.1   check: XFree86 -version or Xorg -version

RedHat home page: http://www.redhat.com

Linux Installation Hints:

  • Packages: in addition to default suggestions and your choices,
    • choose "Workstation " or "Server" for the installation type
    • select "Customize Software Selection", enable "Development" and "X Software Development"
    • check in "Select individual packages" for enabled Development/Languages: gcc, gcc-c++, compat-gcc*, and Development/Libraries: XFree86-devel, glibc-devel, libjpeg-devel, libstdc++-devel, ncurses-devel (required for static linking)
    • VFS6 only: with RH ES 4 or 5 and glibc 2.6 or 2.7: check/install "Legacy Software Development" package from your Linux distribution, or via su -c 'yum groupinstall "Legacy Software Development"' otherwise rpm installer would report "failed dependencies libstdc++.so.5"
    • for running executables in Terminal i/o mode using "newfswin" script, you will need installed csh/tcsh, either from the Linux media, or from http://rpm.pbone.net/index.php3/stat/3/srodzaj/1/search/csh. Available per default in the RHEL4 and RHEL5 package.

Installation of Visual FlagShip 7.1.x:

  • RHEL 4.8 and 5.5: Install the rpm based package fs7linux-71*-kernel26-rpm.tgz, see the first-steps booklet for installation details. If you get message "Failed dependencies: libexpat.so.1 is needed by FlagShip-7.1*_26.i386", either use the ––nodeps switch, e.g. "rpm –ih ––nodeps FlagShip-7.1*_26.i386.rpm" or install the tar based package fs7linux-71*-kernel26-nonrpm.tgz, see the first-steps booklet for installation details. Note: this libexpat.so library is not required by FlagShip at all.
  • The main FlagShip directory is /usr/local/FlagShip7
  • RedHat supply all required static libraries in packages suggested above, so you may compile both dynamically (default) and statically (using the -stat compiler switch). If you get get some warnings at the end of FlagShip installation, or linker errors at static linking, post-install the required packages noted above.

Using FlagShip:

  • Please read the First-Steps booklet for step-by-step tutorial.
  • If in X/GUI environment (KDE, Gnome etc): open console/terminal window.
  • Compile your sources as described in fsman section FSC, e.g. "FlagShip myapp*.prg", a short help is available via "FlagShip –h". Note the case sensitive names in Unix/Linux.
  • Watch for displayed compiler and linker errors, and fix if any.
  • If everything is ok, execute (see fsman section FSC):
    ./a.out            # in GUI mode
    newfswin ./a.out   # for Textual i/o mode in X11 environment
  • The on-line manual is available by entering "fsman &" in KDE/Gnome console for GUI mode, or "newfswin fsman -io=t" for textual mode. Printable manual in .pdf format is available for a free download.
  • Step-by-step instruction for converting available applications to GUI is given in fsman section LNG.9.6
  • Examples are available in /usr/local/FlagShip[6,7]/examples and .../tools directory. Best to copy them to your working directory.
  • On problems or questions, please check the on-line manual and FAQ first. If your problem persist, contact FlagShip support - we grant free tech support not only for the licensed, but also for the Test/Eval version.

Known Issues :

  • If the PC-8 semi-graphic characters are displayed in textual mode as Ä's (A-umlaut) etc, you eiter may either
    - start the application via newfswin, newfscons or newfsterm (see above and Release Notes in fsman) which automatically sets the proper environment, or
    -
    disable Unicode i.e. set the environment variable "LANG=en_EN", and start the application via newfswin.
    See also and/or test with /usr/local/FlagShip6/examples/boxcommand.prg

  • If the last character in the manual pages seems to be missing in GUI mode, select Courier[adobe] via Menu→Options→Font→Input/Output or assign other font via command-line parameter, see fsman -h for furtehr details.

  • When compiling large sources, you may get compiler error "** Warning: C compiler not invoked" but without any displayed syntax error. This is caused by insufficient stack size (stack overflow in yacc/lex parser) for large source files or many continuation statements (check the displayed source code line). You may increase the stack by e.g. "uname -s 30000". If you get here a message "ulimit: stack size: cannot modify limit..." you need to set (as su/root/sudo) "uname -Hs 30000", then re-open the user terminal, and set "uname -s 30000" anew. You may add this also in your ~/.bashrc script for an automatic set at login.


Notes for Linux Enterprise 4 ES with gcc 3.4 (kernel 2.6.9) with VFS6
  • The displayed gcc 3.4 warning "cc1: note: -fwritable-strings is deprecated; see documentation for details" is harmless and can be ignored.
  • When the linker reports "/usr/bin/ld: warning: libstdc++.so.5, needed by /usr/local/FlagShip6/lib/libFlagShip6.so not found", you will need to install compat-libstdc++-33-3.2.3-47.3.i386.rpm package from RedHat CD#2

Notes for Linux Enterprise 4 and 5 ES with enabled SELinux
  • if you get "error while loading shared libraries: /usr/lib/libFlagShip6.so: cannot restore segment prot after reloc: Permission denied" at the time of invoking dynamically linked executable, you need to modify the SELinux policy to permit loading of shared libraries. This is a RedHat & Fedora feature. Go into System -> Administration -> Security level, select the SELinux tab, expand the Compatibility category, and tick the box next to Allow the use of shared libraries with text relocation. Alternatively, invoke in terminal: su -c "chcon -t textrel_shlib_t /usr/local/FlagShip7/lib/libFlagShip7.so"

Additional Info:

Since FlagShip translates the Xbase code to C code as an intermediate step and requires object compatible libs during the linking stage, C compilers, utilities and libraries must be chosen with great care, otherwise upredictable errors may occur.

The C compiler (and the optional static libs) is required only in the developing phase, it is not required for the user of your application, which only needs the by FlagShip produced executable (i.e. your own application executables, see also fsman section SYS.1.2 for distribution hints).


Use the BACK button in the header of your browser to return to previous page,
or go to FlagShip home page or to general Linux info.

Last updated: 23-Oct-2014