FlagShip
Tech Info  

 

Fedora Core 10, 11, 12 and 13

tested with   kernel: 2.6.27.7 2.6.31.5 (x86_64) 2.6.33.3 check: uname -a
  gcc : 4.3.2 4.4.2 4.4.4 check: cc -v
  glibc : 2.9 2.11 2.12 check: /lib/libc.so.6
  X11 : Xorg 1.5.3 1.7.1 1.8.0 check: Xorg -version

Fedora Core home page: http://fedoraproject.org

Linux Installation Hints:

  • Packages: in addition to Fedora's default suggestions and your choices, check/install following packages (required for development only, except where noted):
    • Software Development (or PkgCollection: Development Tools and Development Libraries)
    • Editors
    • VFS6 only: Legacy Software Development
    • VFS6 ony: Legacy Software Support (required also for executables)
    • tcsh and xterm (for Terminal i/o mode, required also for executables)
    • libjpeg-static-* library (required for building static executables, search for by "libjpeg" in Search/Description)
    • static C libraries (required for building static executables, search for by "libc" in Search/Description)
    • libX11-devel-* library (optional, required for building static executables)
     
    • For 64-bit Fedora distribution, you will additionally need standard 32bit packages, install e.g. by "yum install SDL.i686 libstdc++.so.6 libICE.so.6 libjpeg.so.62 libSM.so.6 libX11.so.6 libXext.so.6 libXft.so.2 glibc-devel-2.11-2.i686".
    • For VFS6, invoke also "yum install libstdc++.so.5" and "yum groupinstall 'Legacy Software Development' 'Legacy Software Support'" as stated above
    • For static linking, check *-devel* packages in http://download.fedora.redhat.com/pub/fedora/linux/releases/REL/Everything/i386/os/Packages (where the REL is your current Fedora release, e.g. 11 to 13)
    • In the /usr/local/FlagShip7/FS7config file (or in /usr/local/FlagShip6/FS6config for VFS6), add -m32 to CCNAME : ... line
    • See also this 64bit info for further requirements. Since 32bit libs are available in /usr/lib (and 64bit libs in /usr/lib/64), you don't need to change the -L path in FS7config (or FS6config)

Installation of Visual FlagShip 7.1.* (VFS7):

  • Install the .rpm based package FlagShip-7*.rpm, see the booklet for details and step-by-step instruction
  • The main FlagShip directory is /usr/local/FlagShip7
  • The "legacy" library is not required anymore
  • Fedora 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 from the Fedora distribution.

Installation of Visual FlagShip 6.1.* (VFS6):

  • Install the .rpm based package FlagShip-6.1.*_26.rpm, see INSTALL file in the distribution ("less INSTALL" ) for details
  • If the rpm installation of FlagShip fails, i.e. when rpm reports "error: Failed dependencies: libstdc++.so.5 is needed...", you need to install the package "compat-libstdc++-33*" either by yum, or via rpm from the Fedora CD-ROM or DVD media, see "Legacy..." packages above.
  • The main FlagShip directory is /usr/local/FlagShip6
  • If you get get some warnings at the end of FlagShip installation, or linker errors at static linking, post-install the required package from Fedora CD-ROM or DVD distribution, or via yum.

Using FlagShip:

  • In VFS7, read the short step-by-step instruction for using FlagShip in the booklet (available also in the main /usr/local/FlagShip7 directory)
  • If in X/GUI environment (KDE, Gnome etc): open console/terminal window.
  • To test and run supplied examples, invoke  cd /usr/local/FlagShip[6,7]/examples ; make
  • If you get message "error while loading shared libraries ... cannot restore segment prot after reloc: Permission denied" at the time of executing the application, you will need to set SELinux security context for shared FlagShip library, see "Installation" paragraph above.
  • 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
  • In some Fedora packages, you may need to disable line 416 (#xrdb -merge ...) and enable line 419 (source $FlagShipDir/bin/$xmapFile) in /usr/local/FlagShip6/bin/newfswin to proper support Terminal i/o in X11 environment.
  • The on-line manual is available by entering "fsman &" in KDE/Gnome console for GUI mode, or "newfswin fsman" for textual mode. Manual in pdf format is available in /usr/local/FlagShip[6,7]/manual or in Web. Printed manual is available upon request.
  • 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 (simply invoke "make" and "make terminal" there), as well as in the /usr/local/FlagShip6/tools directory (read the *.txt info files there). Best to copy them to your working directory when you wish to modify the source.
  • 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.
  • If you have enabled new kernel security extensions from the SELinux project (default since Fedora 7), and 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 will need to enable security context for your shared FlagShip library by issuing : su -c "chcon -t textrel_shlib_t /usr/local/FlagShip[6,7]/lib/libFlagShip[6,7*].so" or disabling SELinux altogether in your /etc/sysconfig/selinux file by setting the line SELINUX=disabled

 


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: 15-Jun-2010