-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathREADME
57 lines (45 loc) · 2.24 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
24 October 2008 AN
This is the GIAPI C++ Language glue library.
The GIAPI C++ Language glue API is one of the Language binding options used by
instrument code to integrate with Gemini. The C++ API is implemented as a
shared library in C++. The API sits between the instrument code and the
Gemini Master Process (GMP).
The GIAPI C++ API library is included with any process that the builder creates
that must communicate with Gemini. Which processes in the instrument must link
with and use the C++ API is an instrument design decision.
The communication protocol between the C++ API and the GMP is encapsulated
within the GIAPI implementation.
Details about the usage of the API can be found in the Gemini Observatory
ICD50 - GIAPI C++ Language Glue API
The GIAPI C++ API was compiled with GCC version 4.1 on RedHat Enterprise
Linux 5 Server for 64 bits. The following are tools used to build the
GIAPI C++ API:
* g++ (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46)
* GNU Make 3.81
* GNU ld version 2.17.50.0.6-12.el5 20061020
* RedHat Enterprise Linux 5 Server, Linux kernel 2.6.18-194.26.1.el5, 64-bit
The headers to access the GIAPI C++ interface are in the include directory. The
library shared object is in the lib directory of the binary distribution. In
addition, the GIAPI is distributed also as RPM packages. Following the Gemini
RPM framework, in that case headers are under /gemsoft/include and the
shared object library is installed at /gemsoft/lib
At this point in the development of GIAPI, the external libraries required
to use the library are
* Apache Active MQ CMS (C++ Messaging system) version 3.4.1
(from http://activemq.apache.org/cms)
Note: For OSX it is recommended to use version 3.1.3
* Apache Log4cxx version 0.10.0.
(from http://logging.apache.org/log4cxx)
* Apache Portable Runtime Library version 1.3.12 (APR and APR-util)
(from http://apr.apache.org)
* cppunit version 1.12.1
(from https://sourceforge.net/projects/cppunit/)
* libCurl version 7.21.6
(from https://curl.haxx.se/libcurl)
* curlpp version 0.7.3
(from http://www.curlpp.org)
Compiled versions of these libraries are available in the distribution
package of the GIAPI (under the 'lib' directory) or as RPM packages
following the Gemini RPM framework
Good luck,
--arturo