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).
|