blob: c940f9a7cccaa3b7b41b29257b64405c55dfb801 [file] [log] [blame]
Apache UIMA C++ (Unstructured Information Management Architecture) v2.3.0
-------------------------------------------------------------------------
Getting Started
----------------
Apache UIMA C++ can be used as a standalone framework, but it is primarily intended to be integrated with the Apache UIMA Java framework. Interoperability is enhanced if the uimacpp SDK package is installed directly under the top level directory of the Apache UIMA Java framework.
For information about the Apache UIMA C++ package go to index.html in the uimacpp/docs directory. For more information about Apache UIMA, go to http://incubator.apache.org/uima/index.html, or to the documentation in the Apache UIMA Java package.
Supported Platforms
--------------------
Apache UIMA C++ has been tested with gcc v4.0 on Linux and MacOSX, and with VC8 on Windows. Binary distributions are available for selected platforms.
Environment Variables
----------------------
The following environmental variables are needed for UIMA C++ to function properly.
* UIMACPP_HOME should point to the uimacpp directory of your unpacked Apache UIMA C++
distribution. UIMACPP_HOME is used when compiling & linking UIMA C++ components.
* Append $UIMACPP_HOME/bin to your PATH to pick up the runAECpp test driver
and shared libraries (Windows)
* Append $UIMACPP_HOME/lib to your LD_LIBRARY_PATH (Linux) or DYLD_LIBRARY_PATH (MacOSX)
so that the necessary shared libraries can be found.
Also note that UIMA C++ annotators are built as shared libraries, so they must be in a directory in the LD_LIBRARY_PATH, DYLD_LIBRARY_PATH or PATH (as appropriate to your platform) as well. An example of this is given in the next section.
For better runtime integration between Java and C++, the Apache UIMA Java SDK command line utilities and Eclipse run configurations automatically add $UIMA_HOME/uimacpp/lib to LD_LIBRARY_PATH and DYLD_LIBRARY_PATH, and add $UIMA_HOME/uimacpp/bin to PATH.
Verifying Your Installation
----------------------------
The procedure here is to first test that Apache UIMA C++ is installed and operating correctly. Then if desired, check if the code is interoperating properly with Apache UIMA Java.
Set up the environment as described above. Go to $UIMACPP_HOME/examples/src to build the sample code and add the src directory to the appropriate path as follows.
On Linux:
* make -f DaveDetector.mak
* LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`
On Windows:
* devenv DaveDetector.vcproj /build release
* PATH=%PATH%;%CD%
To test the sample code in the C++ environment, change back to the $UIMACPP_HOME/examples directory and run:
* runAECpp descriptors/DaveDetector.xml data
The console should show that a Dave was found in some of the files in the data directory.
To test interoperability with Java using the JNI, first verify that Apache UIMA Java is working from the current shell, as described in that package, and then use the runAE.sh utility (use runAE on Windows) from $UIMACPP_HOME/examples:
* runAE.sh descriptors/DaveDetector.xml data
For more information about the C++ sample code see $UIMACPP_HOME/examples/readme.html.
For more information about UIMA C++ $UIMACPP_HOME/RELEASE_NOTES.html.
Disclaimer
-----------
Apache UIMA is an effort undergoing incubation at The Apache Software
Foundation (ASF). Incubation is required of all newly accepted projects
until a further review indicates that the infrastructure, communications,
and decision making process have stabilized in a manner consistent with
other successful ASF projects. While incubation status is not necessarily
a reflection of the completeness or stability of the code, it does
indicate that the project has yet to be fully endorsed by the ASF.