![]() |
![]() |
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 C++ libraries. This note consists of the following sections:
The current release of the Earth Observation CFI consist of the following items:
CFI dynamic libraries for C++ (For Windows there exists a set of static libraries as well):
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 |
Title | Reference | Issue | Date |
---|---|---|---|
General Software User Manual | EO-MA-DMS-GS-017 | 4.1 | 07/05/10 |
EE Common Software User Manual | EO-MA-DMS-GS-010 | 4.1 | 07/05/10 |
FileHandling Software User Manual | EO-MA-DMS-GS-011 | 4.1 | 07/05/10 |
DataHandling Software User Manual | EO-MA-DMS-GS-012 | 4.1 | 07/05/10 |
Lib Software User Manual | EO-MA-DMS-GS-013 | 4.1 | 07/05/10 |
Orbit Software User Manual | EO-MA-DMS-GS-014 | 4.1 | 07/05/10 |
Pointing Software User Manual | EO-MA-DMS-GS-015 | 4.1 | 07/05/10 |
Visibility Software User Manual | EO-MA-DMS-GS-016 | 4.1 | 07/05/10 |
The libraries have been created with the following computer systems and compilers:
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 | Mac OS X 10.4.6 |
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.4.9 |
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 | g++ 4.2.2 | libxml2 version 2.6.22 or later |
libpthread.so (POSIX thread library) | ||
Solaris 64-Bits | g++ 4.2.2 | libxml2 version 2.4.23 or later |
libpthread.so (POSIX thread library) | ||
Linux 32-Bits | g++ 4.2.2 | libxml2 version 2.6.23 or later |
libpthread.so: POSIX thread library | ||
glibc 2.4 | ||
GLIBCXX 3.4.9 | ||
Linux 64-Bits | g++ 4.2.2 | libxml2 version 2.6.23 or later |
libpthread.so: POSIX thread library | ||
glibc 2.4 | ||
GLIBCXX 3.4.9 | ||
Mac OS X 32-Bits | g++ 4.2.1 | libxml2 version 2.6.22. |
libpthread.so: POSIX thread library | ||
Mac OS X 64-Bits | g++ 4.2.1 | libxml2 version 2.6.22. |
libpthread.so: POSIX thread library | ||
Mac OS X Intel 32-Bits | g++ 4.2.1 | libxml2 version 2.6.16 |
libpthread.so: POSIX thread library | ||
Mac OS X Intel 64-Bits | g++ 4.2.1 | libxml2 version 2.6.22. |
libpthread.so: POSIX thread library | ||
MS Windows(*) | MS Visual C++ 8.0 | 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.cpp) and associated makefile (make.OS). 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 makefile (make.OS) 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 makefiles should be followed.
Note that CFI 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 |
- | - | - |