Code: EOCFI-DMS-SRN-000 Date: 07/05/2010 Issue: 4.1 |
This note describes the changes introduced in the current release of the Earth Observation CFI software JAVA libraries. This note consists of the following sections:
The current release of the Earth Observation CFI consist of the following items:
CFI JAVA libraries: The libraries constist on a library wrapper of the Earth Explorer CFI C libraries (version 4.1) so that for every C library, a JAVA Native library and a JAVA archive file (JAR files) is distributed:
Library | Issue | Date |
---|---|---|
EECommon | 4.1 | 07/05/10 |
FileHandling | 4.1 | 07/05/10 |
DataHandling | 4.1 | 07/05/10 |
Lib | 4.1 | 07/05/10 |
Orbit | 4.1 | 07/05/10 |
Pointing | 4.1 | 07/05/10 |
Visibility | 4.1 | 07/05/10 |
The library names depend on the OS (XXX = Library name):
OS | Java Native library | JAR file |
---|---|---|
LINUX and SOLARIS | libCfiXXX.so | XXX.jar |
MAC OS X | libCfiXXX.jnilib | XXX.jar |
WINDOWS | libJCfiXXX.dll | XXX.jar |
Title | Reference | Issue | Date |
---|---|---|---|
General Software User Manual | EO-MA-DMS-GS-019 | 4.1 | 07/05/10 |
EE Common Software User Manual | EO-MA-DMS-GS-020 | 4.1 | 07/05/10 |
FileHandling Software User Manual | EO-MA-DMS-GS-021 | 4.1 | 07/05/10 |
DataHandling Software User Manual | EO-MA-DMS-GS-022 | 4.1 | 07/05/10 |
Lib Software User Manual | EO-MA-DMS-GS-023 | 4.1 | 07/05/10 |
Orbit Software User Manual | EO-MA-DMS-GS-024 | 4.1 | 07/05/10 |
Pointing Software User Manual | EO-MA-DMS-GS-025 | 4.1 | 07/05/10 |
Visibility Software User Manual | EO-MA-DMS-GS-026 | 4.1 | 07/05/10 |
Software Usage Guide | EO-MA-DMS-GS-027 | 4.1 | 07/05/10 |
The libraries have been created with the following computer systems:
Machine | OS |
---|---|
Sun under Solaris 32-Bits | Solaris 5.7 |
Sun under Solaris 64-Bits | Solaris 5.9 |
PC under Linux 32-Bits | Linux 2.6.16 (RedHat) |
PC under Linux 64-Bits | Linux 2.6.16 (RedHat) |
Macintosh under MacOS X 32-Bits | Mac OS X 10.4.6 |
Macintosh under MacOS X 64-Bits | NOT AVAILABLE |
Macintosh with Intel processor under MacOS X 32-Bits | Mac OS X 10.4.9 |
Macintosh with Intel processor under MacOS X 64-Bits | Mac OS X 10.5.7 |
PC under Windows 95/98/NT/2000 | Microsoft Windows 2000 |
The following table shows for every OS the list of additional libraries that are needed in order to link an application with the Earth Observation CFI libraries.
OS | Compiler | External libraries |
---|---|---|
Solaris 32-Bits | Java SE 5 | libxml2 version 2.6.22 or later |
libpthread.so (POSIX thread library) | ||
Solaris 64-Bits | Java SE 5 | libxml2 version 2.4.23 or later |
libpthread.so (POSIX thread library) | ||
Linux 32-Bits | Java SE 5 | libxml2 version 2.6.23 or later |
libpthread.so: POSIX thread library | ||
glibc 2.4 | ||
GLIBCXX 3.4.9 | ||
Linux 64-Bits | Java SE 5 | libxml2 version 2.6.23 or later |
libpthread.so: POSIX thread library | ||
glibc 2.4 | ||
GLIBCXX 3.4.9 | ||
Mac OS X 32-Bits | Java 1.5.0_16 | libxml2 version 2.6.22. |
libpthread.so: POSIX thread library | ||
Mac OS X 64-Bits | NOT AVAILABLE | - |
- | ||
Mac OS X Intel 32-Bits | Java 1.5.0_19 | libxml2 version 2.6.16 |
libpthread.so: POSIX thread library | ||
Mac OS X Intel 64-Bits | Java 1.5.0_16 | libxml2 version 2.6.22. |
libpthread.so: POSIX thread library | ||
MS Windows(*) | Java SE 5 | libxml2 version 2.6.20 or later (including iconv-1.9.1 and zlib-1.2.3) |
pthread.lib: POSIX thread library |
(*) When linking an application for Windows using the CFI dynamic libraries, the linking with the LIBC.LIB or LIBCM.LIB should be avoided. The library MSVCRT.DLL should be used instead. This library is not provided with the CFI installation package, as it is included with the Windows OS (It also can be downloaded from: http://support.microsoft.com/default.aspx?scid=kb;en-us;259403).
The CFI software and documents can be downloaded from the ESA EOP System Support Division Web Server:
http://eop-cfi.esa.int (main page)
From there, just follow the links until you reach the Earth Observation CFI page:
http://eop-cfi.esa.int/CFI/ee_cfi_software.html Follow the instructions given on the page and you will be able to save the distribution file(s) on your local disk.
The CFI libraries are provided in different formats depending on the platform:
Upon completion the installation procedure, the following items will be on your computer:
Finally, the validation program should be compiled and run to check that the installation has been sucsessful.
For every library the CFI installation contains a directory called "validation". This directory contains the validation program (LibraryNameValid.java) and associated validation script (validate.bat for WINDOWS and validate.sh for the rest of the systems). This program should be run to verify the proper installation of the CFI Library. The procedure is the following:
The validation program is created, executed and a validation status message printed. The message should look like:
or:
In the latter case, check again your installation, and run the validation program again if necessary. If the message persists, report the problem.
During the execution of the validation program a log file LibraryNameValid.OS.out (OS stands for the different allowed operative systems) is also created. It can be consulted for a detailed listing of the validation run.
For every library the CFI installation contains a directory called "example".
This directory contains example program (LibraryNameExample.cpp), the associated compilation script (runExample.bat for WINDOWS and runExample.sh for the rest of the operating systems) and the data files (under the data directory). The example program is provided to illustrate how the interface with the CFI functions works, and in particular how to handle the returned errors through exceptions.
The examples should be self-explanatory. To use them, use the same procedure as for the validation program.
In an user application, the same conventions to compile and link as in the example compilation script should be followed.
Note that native libraries are dynamic and, when using dynamic linking libraries, proper setting of the environment must be performed at run-time. This means:
The following new features/requirements have been implemented:
DataHandling:
Lib:
Orbit:
Pointing:
Visibility:
The following SPRs have been solved:
The following precautions shall be taken into account when using the CFI software libraries:
CFI library | Problem | Work around solution |
- | - | - |