FlagShip
Tech Info
| |
(Novell)
SuSE 9 to 13, SLES
tested with |
version : |
9.2 |
10.3 |
11.0 |
11.3 x86_64 |
12.1 x86_64 |
check: CD or DVD label |
|
kernel : |
2.6.8.24 |
2.6.22 |
2.6.25 |
2.6.34-12 |
3.1.0-1.2 |
check: uname -a |
|
gcc : |
3.3.4 |
4.2.1 |
4.3.1 |
4.5.0 |
4.6.2 |
check: cc -v |
|
glibc : |
2.3.3 |
2.6.1 |
2.8 |
2.11.2 |
2.14.1 |
check: /lib/libc.so.6 |
|
-compat |
|
5.0.7 |
5.0.7 |
not required |
not required |
check: ls -l /usr/lib/libstdc++.so.5 |
|
X11 : |
6.8.1 |
7.2.0 |
1.4.0 |
1.8.0 |
1.10.4 |
check: Xorg -version
|
SuSE home page: http://en.opensuse.org and
http://www.suse.com
Linux Installation
Hints:
- Packages: in addition to
default suggestions and your choices,
- at installation, select "Standard
system with KDE" and "Detailed
selection"→ Filter → Development:
-
select/enable packages
gcc, gcc-c++, glib2-devel, libjpeg-devel, ncurses-devel, xorg-x11-devel
(or post-install later via yast → Package Groups → All
Packages)
- 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
- 32bit Linux:
- All packages for running
your executables on customer's system are installed automatically
by SuSE default installation.
- For development, install
packages suggested above, or invoke simply "zypper install
gcc gcc-c++ glib2-devel libjpeg-devel ncurses-devel
xorg-x11-devel".
- 64bit Linux:
- All packages for running
your executables on customer's system are installed automatically
by SuSE default installation, including 64bit and 32bit libraries.
- For development, install
packages suggested above (with 32bit version), or invoke simply "zypper
install gcc gcc-c++-32bit glib2-devel libjpeg-devel-32bit ncurses-devel-32bit
xorg-x11-devel-32bit" . With some newer SuSE versions, you may need also "zypper install glibc-devel-static-32bit libjpeg62-devel-32bit xorg-x11-libX11-devel-32bit xorg-x11-libXext-devel-32bit xorg-x11-libSM-devel-32bit xorg-x11-libICE-devel-32bit" for static linking.
- See also this 64bit
info for further information. Since 32bit libs are available in
SuSE per default in /usr/lib (and 64bit libs in /usr/lib64),
you don't need to change the -L path nor anything else in the /usr/local/FlagShip7/FS7config file.
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
- SuSE Pro 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 SuSE CD-ROM or DVDdistribution
or from on-line repository via YaST.
- With some
SuSE versions, you may get failed rpm dependence at FlagShip installation,
or message "error
while loading shared library libjpeg.so.62" at the time
of executing your application or fsman. You may invoke "zypper
install libjpeg62-32bit" or "zypper
install libjpeg6-32bit" or via "rpm -ivh http://download.opensuse.org/repositories/home:/vodoo/openSUSE_12.3/i586/libjpeg62-62.0.0-1.1.i586.rpm" to install it.
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
- SuSE 10.2
and later: install the package "compat" and "compat-libstdc++" (named
also "libstdc++33") otherwise
FlagShip rpm installer may report "failed
dependencies libstdc++.so.5"
- The main FlagShip directory
is /usr/local/FlagShip6
- SuSE Pro 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 SuSE CD-ROM or DVD distribution via YaST.
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 .
- 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 you use the
older gcc 3.4, the displayed gcc warning
"cc1: note: -fwritable-strings is deprecated; see documentation for
details" is harmless and can be ignored.
- 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 SuSE packages,
you may need to disable line 416 (#xrdb -merge ...) and enable
line 419 (source $FlagShipDir/bin/$xmapFile) in /usr/local/FlagShip[6,7]/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 and .../tools
directory. Best to copy them to your working directory.
- If you have enabled new
kernel security extensions from the SELinux project,
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
- You may use FlagShip's distribute.sh script
to customize
all redistributable files with your application.
- 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.
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).
|