FlagShip
Tech Info
|  |
CentOS
5 to 7
tested with |
version : |
CentOS 5.5 x86
and x64 |
|
check: CD or DVD label |
|
kernel : |
2.6.18 |
|
check: uname -a |
|
gcc : |
4.1.2 |
|
check: cc -v |
|
glibc : |
2.5 |
|
check: /lib/libc.so.6 |
|
X11 : |
Xorg 7.1.1 |
|
check: Xorg
-version |
CentOS home page: http://www.centos.org
Linux Installation
Hints:
- Packages: in
addition to default suggestions and your choices,
- select Applications → Add/Remove
Software and install "Development Libraries " and
"Development Tools "
- for static linking, install
also "X Software Development" package
- for running executables
in Terminal i/o mode using "newfswin" script, you
will need installed csh/tcsh package.
- For 64-bit CentOS
distribution, standard 32bit packages are installed automatically
by above, so no additonal settings are required
- 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
Installation
of Visual FlagShip 7.1.x:
- Install
the rpm based package fs7linux-71*-kernel26-rpm.tgz,
see the first-steps booklet
for installation details.
- The main FlagShip directory
is /usr/local/FlagShip7
- CentOS 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
(Gnome, KDE 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/FlagShip7/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", invoke "/bin/unicode_off", and start the application via newfswin script.
See also and/or test with
/usr/local/FlagShip7/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 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).
|