Installation of FlagShip 6 (Visual FlagShip) for Linux ------------------------------------------------------ This FS6 (VFS) will be installed in the /usr/local/FlagShip6 directory. Note: For special cases, e.g. to enable maintaining of older applications created by FS 4.4*, FlagShip 6 may co-exist with FlagShip 4.48 and/or FlagShip 5 installed on the same system. Please refer to the README for handling of multiple FlagShip's installations on the same system. There are two Visual FlagShip ports available on this CD-ROM or for free download: - release 6.1.19a_26 files: FlagShip-6119a_linux26.tgz = non-rpm installation FlagShip-6.1-19a_26.i386.rpm = rpm installation Applicable for Linux with kernel 2.4-2.6, gcc 3.x-4.x, glibc 2.3.3-2.7 e.g. for: RedHat 9-10, RH Enterprise 3-5, Fedora 4-8, SuSE 9.1-10.3, SuSE SLES 9-10, Mandrake/Mandriva/Conectiva 10-2008, Slackware 9-10 etc. - release 6.1.19a_24 files: FlagShip-6119a_linux24.tgz = non-rpm installation FlagShip-6.1-19a_24.i386.rpm = rpm installation Applicable for Linux with kernel 2.2-2.4, gcc 2.95-3.1, glibc 2.2.4-2.3.1 e.g. for: RedHat 7 and 8, SuSE 7 to 9.0 Conectiva 8 etc. Both releases are equivalent but are different ports (target systems) Please check frequently http://www.fship.com/whatsnew.html for updates, new releases and additional info. 1) FS6 Requirements: ------------------- - Linux kernel 2.2 to 2.6 based (check: uname -a), - corresponding gcc (check: /lib/libc.so.6) and gcc (check: cc -v) - XFree86 or Xorg Version 4.1.x or 4.2.x (check: XFree86 -version) - libc.a and libstdc++*.a libraries (for statically linked applic) - Activation key (Eval, Personal or Pro version) for Linux based FlagShip-6/VFS port, available from - 60 MB free disk space - 266 MB RAM (more is better) 2) Required Linux packages -------------------------- Before installing FlagShip, you sould install following packages from your Linux distribution: - gcc - gcc-c++ and for glibc 2.6, 2.7 - compat-gcc (also named "compat-gcc-34" or "compat-glibc" or "Legacy Software Development") and "compat-libstdc++" (if extra) packages from your Linux distribution, otherwise rpm installer may report "failed dependencies: libstdc++.so.5" and for static linking (if such is required) - XFree86-devel, glibc-devel, libjpeg-devel, libstdc++-devel, ncurses-devel For executables running in GUI mode, X11 needs to be installed and active. To run executables in Terminal i/o mode using "newfswin" script, you will need installed tcsh, either from the Linux media, or from http://rpm.pbone.net/index.php3/stat/3/srodzaj/1/search/csh FlagShip installer checks for them and will prompt you when anything is missing. 3) Installation --------------- Syntax used here: [%] is a mark for user promt, [#] is a mark for root/su prompt. Don't type these marks, but enter the commands behind. ## is a comment mark, don't type it nor the rest of the line Note for (d..f): root or su mode is required to create links to /usr/bin and /usr/lib. If you cannot get su user, you at least must have rwx access rights to /usr/local/FlagShip6/bin and ./lib directories and rw access rights to files there and also will need to add PATH=/usr/local/FlagShip6/bin:$PATH in your start-up/login script (usually ~/.bashrc). a) If you are updating, i.e. have previously installed older VFS5 or VFS6 release, uninstall the "old" release first: [%] su [#] FS6uninstall ## when VFS6 is already installed [#] FS5uninstall ## optionally, to uninstall VFS5 b) If you have installed FlagShip 4.48, and don't want to use it anymore, uninstall it by: [%] su [#] FSuninstall ## (or: [#] rpm -e FlagShip) c) If you are using media downloaded via Internet (either rpm or non-rpm based): [%] su [#] mkdir /tmp/fs6_inst ## or any directory of your choice [#] cd /tmp/fs6_inst [#] tar xvzf /my/download/dir/fs6linux*.tgz ... you will get this INSTALL and a README file and FlagShip-6.1-19a*.rpm or FlagShip-6119a*.tgz file continue with step (e) or (f) d) If using FlagShip 6 CD-ROM: ... insert the CD-ROM in drive [%] su ... mount the CD-ROM, e.g. "mount /cdrom" or "mount -r -t iso9660 /dev/hdc /cdrom", best to check /etc/fstab when the CD-ROM is already configured ... invoke the installation script which guides you thru the installation [#] cd /cdrom [#] sh ./setup.sh ... or for manuall installation, continue with step (e) or (f) e) To install the rpm based distribution of FS6: [%] su - for release 6.1.19a_26 (see above) from downloaded media: [#] cd tmp/fs6_inst [#] rpm -ih FlagShip-6.1-19a_26.i386.rpm - for release 6.1.19a_26 (see above) from CD-ROM: [#] cd /cdrom/Linux/FlagShip6/kernel_2.6 [#] rpm -ih FlagShip-6.1-19a_26.i386.rpm - for release 6.1.19a_24 (see above) from downloaded media: [#] cd tmp/fs6_inst [#] rpm -ih FlagShip-6.1-19a_24.i386.rpm - for release 6.1.19a_24 (see above) from CD-ROM: [#] cd /cdrom/Linux/FlagShip6/kernel_2.4 [#] rpm -ih FlagShip-6.1-19a_24.i386.rpm (Note: When using the command "rpm -Uh FlagShip*.rpm" the previous FlagShip versions will be overwritten, incl. FS4.48) [#] cd /usr/local/FlagShip6 [#] make ## or: [#] ./FS6install ... enter the serial number and activation key for FS6 (Note: you cannot use the Activation data of FS4.48 nor of FS5. If you have not the Activation key yet, go to http://www.fship.com/eval.html for a free Test/Eval version) [#] exit ## the su mode f) To install non-rpm based distribution (e.g. on Slackware or Debian), a simple un-tar is used: [%] su [#] cd /usr/local ## recommended, will install in /usr/local/FlagShip6 - for release 6.1.19a_26 (see above) from downloaded media: [#] tar xvzf /tmp/fs6_inst/FlagShip-6119a_linux26.tgz - for release 6.1.19a_26 from CD-ROM: [#] tar xvzf /cdrom/Linux/FlagShip6/kernel_2.6/FlagShip-6119a_linux26.tgz - for release 6.1.19a_24 (see above) from downloaded media: [#] tar xvzf /tmp/fs6_inst/FlagShip-6119a_linux24.tgz - for release 6.1.19a_24 from CD-ROM: [#] tar xvzf /cdrom/Linux/FlagShip6/kernel_2.4/FlagShip-6119a_linux24.tgz [#] cd /usr/local/FlagShip6 [#] make ## or: [#] ./FS6install ... enter the serial number and activation key for FS6 (Note: you cannot use the Activation data of FS4.48 nor of FS5. If you have not the Activation key yet, go to http://www.fship.com/eval.html for a free Test/Eval version) [#] exit ## the su mode 4) Deinstallation: ----------------- The whole FlagShip 6 (VFS) package is unistalled by: [%] su [#] FS6uninstall ## (includes also rpm deinstallation) or: [#] rpm -e FlagShip-6 ## (partial, does not remove links !) or: [#] cd /usr/local/FlagShip6 ; make clean [#] exit ## the su mode 5) Installation details: ----------------------- As opposite to FlagShip-4.48, which install files in /usr/bin, /etc, /usr/lib and /usr/FSsrc directories, FlagShip-6 (VFS) is installed mainly in the /usr/local/FlagShip6 and in subdirectories below /usr/local/FlagShip6/* Instead of copying files, the installation script FS6install creates following symbolic links from the /usr/local/FlagShip6/* directory: ./bin/FS6uninstall -> /usr/bin/FS6uninstall ./bin/FlagShip6 -> /usr/local/bin/FlagShip -> /usr/bin/FlagShip (if possible) -> /usr/bin/fs6 (if possible) ./bin/fsman -> /usr/bin/fsman (old fsman renamed to fsman4) -> /usr/bin/fsman6 ./lib/libFlagShip6.a -> /usr/lib/libFlagShip6.a (optional) ./lib/dynFlagShip6.o -> /usr/lib/dynFlagShip6.o (optional) ./lib/libFlagShip6.so -> /usr/lib/libFlagShip6.so ./terminfo/f/* -> /usr/share/terminfo/f These links will be removed automatically by "FS6uninstall" script, see (3) above. 6) Backward compatibility: ------------------------- When you already have VFS or FS4 Makefile's or compilation scripts, you may continue to use them "as is". Note that you will need to recompile all the .prg files by FS6 and rebuild the indices created by FS4 or Clipper. Indices created by previou VFS5 or VFS6 release are fully backward compatible. See further details in the README file. 7) Additonal notes for SELinux ------------------------------ If you have enabled SELinux, 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 need to modify the SELinux policy to permit loading of shared libraries. This is a SELinux feature. Invoke in terminal su -c "chcon -t textrel_shlib_t /usr/local/FlagShip6/lib/libFlagShip6.so" Read next: the README file and /usr/local/FlagShip6/docu/how-to* files.