CVS Felix now supports the new installation model. The flx
script now starts off with something like:
FLX_INSTALL_DIR=${FLX_INSTALL_DIR:-/usr/local/lib/felix-1.1.2_rc8}
and then processes any --test or --test=<dir> switch.
This means: the default install dir is hard coded to what you
specified at configuration time (by default that's like the
above value).
It can be overridden by FLX_INSTALL_DIR environment variable.
That can be overridden by the --test switch.
Every Felix installation makes a DISTINCT installation
of Felix. They do not conflict.
DEBIAN PACKAGING (Mike pls acknowledge!)
****************************************
Man pages and other misc stuff go in standard places.
The 'flx' script goes in /usr/bin. This is the only
supported 'universal' entry point into the system.
Flxcc requires full path name to run, but as an Ocaml
program the rest of the installation isn't significant.
Similarly, any embedding must link to a specific version,
its up to the user to organise this.
The rest of Felix goes in /usr/lib/felix-<version>.
Each Felix package (up to Debian packaging number) is
distinct and doesn't conflict with any previous installations
EXCEPT to replace the flx script (and man pages, docs, etc).
This is similar to gcc -- more than one version can be
installed at once.
Note in particular no Felix shared libraries have .so names,
and none of them are regarded as system libraries at this
point.
In particular, Felix *Incorrectly* links against the
transitive closure of shared libraries needed by an app.
This is mandatory on Windows and Cygwin which use COFF linkers,
which do not supports Elf linker ability to find the transitive
closure itself.
It is therefore mandatory to set LD_LIBRARY_PATH to run
Felix applications (to $FLX_INSTALL_DIR/rtl:$LD_LIBRARY_PATH).
The Felix dir must be searched FIRST, before any system installed
Felix dirs are found.
There is a BUG here. Felix dynlinked executables WILL LOAD THE WRONG
LIBRARIES after an upgrade by default so old dynlinked executables
must be invoked with the correct FLX_INSTALL_DIR or rebuilt.
At this stage it is recommended any system tools built
with Felix be statically linked to avoid this problem.
This problem would NOT occur with Elf if the libraries were
installed in a system location with appropriate version
dependent symlinks, however the flx script currently does NOT
support linking to system libraries.
I do not think this is currently much of a problem.
If Felix becomes popular for building system tools on Debian
based systems, we may need to provided versioned libraries
installed in system locations (instead of the Felix install
root).
--
John Skaller <skaller at users dot sf dot net>
Felix, successor to C++: http://felix.sf.net
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Felix-language mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/felix-language