You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by ea...@apache.org on 2020/01/28 21:42:17 UTC

[uima-uimacpp] branch rc/uimacpp-3.0.0 updated (4767b9b -> 3f8a9be)

This is an automated email from the ASF dual-hosted git repository.

eae pushed a change to branch rc/uimacpp-3.0.0
in repository https://gitbox.apache.org/repos/asf/uima-uimacpp.git.


    from 4767b9b  UIMA-6175 adjust eol handling to work cross-platform
     new f1c2a27  UIMA-6175 update REAME with progress on Mac OSX
     new 3f8a9be  UIMA-6175 add linux script to make all dependencies and uimacpp; small cleanup elsewhere

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 Makefile.am         |   7 +--
 README.4src         |  30 ++++-------
 createRelease.txt   |   2 +-
 uimacpp-make-sdk.sh | 142 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 158 insertions(+), 23 deletions(-)
 create mode 100755 uimacpp-make-sdk.sh


[uima-uimacpp] 02/02: UIMA-6175 add linux script to make all dependencies and uimacpp; small cleanup elsewhere

Posted by ea...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

eae pushed a commit to branch rc/uimacpp-3.0.0
in repository https://gitbox.apache.org/repos/asf/uima-uimacpp.git

commit 3f8a9be43b3acd9d07e575e113a9ec70da2e54d4
Author: Eddie Epstein <ea...@us.ibm.com>
AuthorDate: Tue Jan 28 16:39:25 2020 -0500

    UIMA-6175 add linux script to make all dependencies and uimacpp; small cleanup elsewhere
---
 Makefile.am         |   7 +--
 README.4src         |   6 +--
 createRelease.txt   |   2 +-
 uimacpp-make-sdk.sh | 142 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 150 insertions(+), 7 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 3d72501..b8f11e6 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -37,6 +37,7 @@ docs: 	docs/html/index.html
 docs/html/index.html: 
 	cd docs && ./builddocs.sh
 
-sdk:	$(DESTDIR)$(prefix)/bin/runAECpp docs/html/index.html $(icu_install) $(apr_install) $(xerces_install) $(activemq_install) $(apu_install)
-	echo "Building SDK with $(icu_install) $(apr_install) $(xerces_install) $(activemq_install) $(apu_install)  in target directory $(TARGETDIR)"
-	export APR_HOME=$(apr_install) ICU_HOME=$(icu_install) XERCES_HOME=$(xerces_install) ACTIVEMQ_HOME=$(activemq_install) APU_HOME=$(apu_install) UIMA_INSTALLDIR=$(DESTDIR)$(prefix) && ./buildsdk.sh $(TARGETDIR) $(CLEAN)
+sdk:	$(TARGETDIR)/uimacpp
+
+$(TARGETDIR)/uimacpp:
+	export APR_HOME=$(apr_install) ICU_HOME=$(icu_install) XERCES_HOME=$(xerces_install) ACTIVEMQ_HOME=$(activemq_install) APU_HOME=$(apu_install) UIMA_INSTALLDIR=$(DESTDIR)$(prefix) && ./buildsdk.sh $(TARGETDIR)
diff --git a/README.4src b/README.4src
index 96a4bdc..f4832b8 100644
--- a/README.4src
+++ b/README.4src
@@ -39,8 +39,8 @@ UIMACPP runtime prerequisites are:
 
 3rd Party     Tested   Notes
 -------------------------------
-APR           1.6.5    v1.7 did not work on Mac OSX
-ICU           50.2     v58.2 did not work
+APR           1.6.5
+ICU           50.2     known problem with newer versions
 Xerces-C      3.1.4
 Java SDK      1.8
 ActiveMQ CPP  3.9.3    (optional) required only for the UIMA-AS service wrapper
@@ -128,7 +128,7 @@ Run the test suite
 Install and Build the SDK tree
     make install
     make docs
-    make sdk TARGETDIR=loc_of_sdk_tree [CLEAN=clean]
+    make sdk TARGETDIR=loc_of_sdk_tree
 
   The SDK tree will be created in loc_of_sdk_tree/uimacpp. Package by:
     cd loc_of_sdk_tree
diff --git a/createRelease.txt b/createRelease.txt
index 8a1f531..139b861 100644
--- a/createRelease.txt
+++ b/createRelease.txt
@@ -32,7 +32,7 @@ For a new build on Linux
 	tar -czf uimacpp-X.Y.Z-bin.tgz uimacpp
 
 7. rat scan of bin
-      java -jar apache-rat-0.8.jar  -dir uimacpp -e *.vcproj docs scriptators txt README RELEASE* examples  html > uimacpp-bin-linux
+      java -jar apache-rat-0.8.jar  -dir uimacpp -e .*vcproj docs scriptators txt README RELEASE.* examples  html > uimacpp-bin-linux
 
 8. sniff test of base sdk
 	cd uimacpp
diff --git a/uimacpp-make-sdk.sh b/uimacpp-make-sdk.sh
new file mode 100755
index 0000000..7dcef06
--- /dev/null
+++ b/uimacpp-make-sdk.sh
@@ -0,0 +1,142 @@
+#!/bin/sh
+
+#   Licensed to the Apache Software Foundation (ASF) under one
+#   or more contributor license agreements.  See the NOTICE file
+#   distributed with this work for additional information
+#   regarding copyright ownership.  The ASF licenses this file
+#   to you under the Apache License, Version 2.0 (the
+#   "License"); you may not use this file except in compliance
+#   with the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing,
+#   software distributed under the License is distributed on an
+#   #  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#   KIND, either express or implied.  See the License for the
+#   specific language governing permissions and limitations
+#   under the License.
+
+#
+# 1. Download and build all uimacpp 3rd party library dependencies
+# 2. Build uimacpp and run test cases
+# 3. Build uimacpp docs
+# 4. Assemble uimacpp SDK tree
+#
+
+set -e
+
+PREFIX=`pwd`/dependencies
+TARGET=`pwd`/target
+
+mkdir -p "$PREFIX"
+mkdir -p "$TARGET"
+
+#guess JAVA_HOME if not set
+if [ -z $JAVA_HOME ]; then
+    JAVA_HOME=$(dirname $(dirname $(dirname $(readlink -f $(which java)))))
+    if [ ! -f "$JAVA_HOME/include/jni.h" ]; then
+	echo Cannot guess JAVA_HOME. JAVA SDK installed?
+	exit
+    fi
+    echo guessing JAVA_HOME=$JAVA_HOME
+else
+    echo using specified JAVA_HOME=$JAVA_HOME
+fi
+
+# Install location for 3rd party components
+export APR_HOME=$PREFIX
+export APU_HOME=$PREFIX
+export XERCES_HOME=$PREFIX
+export ICU_HOME=$PREFIX
+export AMQ_HOME=$PREFIX
+
+# 3rd party component versons to use
+XERCES=xerces-c-3.1.4
+ICU=icu4c-50_2-src.tgz
+APR=apr-1.4.8
+APRUTIL=apr-util-1.6.1
+AMQCPP=activemq-cpp-library-3.9.3
+# Additional modifications may be needed below for changes to Xerces, ICU, or ActiveMQ-C++
+
+# Build xerces
+if [ ! -f "${XERCES}.tar.gz" ]; then
+    wget http://archive.apache.org/dist/xerces/c/3/sources/$XERCES}.tar.gz
+    tar -xf ${XERCES}.tar.gz
+fi
+#Modify next line if not version 3.1.x
+if [ ! -f "$XERCES/src/.libs/libxerces-c-3.1.so" ]; then
+    cd $XERCES
+    ./configure --prefix="$PREFIX"
+    make install
+    cd ..
+else
+    echo Xerces previously built
+fi
+
+# Build ICU
+if [ ! -f $ICU ]; then
+#Modify next line if not version 50.2
+    wget https://github.com/unicode-org/icu/releases/download/release-50-2/$ICU
+    tar -xzf $ICU
+fi
+if [ ! -f icu/source/bin/uconv ]; then
+    cd icu/source
+    ./runConfigureICU Linux --prefix="$PREFIX"
+    make install
+    cd ../..
+else
+    echo ICU previously built
+fi
+
+# Build APR
+if [ ! -f "${APR}.tar.gz" ]; then
+    wget http://archive.apache.org/dist/apr/${APR}.tar.gz
+    tar -xzf ${APR}.tar.gz
+fi
+if [ ! -f "$APR/build/apr_rules.out" ]; then
+    cd $APR
+    ./configure --prefix="$PREFIX"
+    make install
+    cd ..
+else
+    echo APR previously built
+fi
+
+# Build APR-UTIL
+if [ ! -f "${APRUTIL}.tar.gz" ]; then
+    wget http://mirrors.ocf.berkeley.edu/apache//apr/${APR-UTIL}.tar.gz
+    tar -xf ${APRUTIL}.tar.gz
+fi
+if [ ! -f ${APRUTIL}/apu-config.out ]; then
+    cd $APRUTIL
+    ./configure --prefix=$PREFIX --with-apr=$PREFIX/bin/apr-1-config
+    make install
+    cd ..
+else
+    echo "APR-UTIL previously built"
+fi
+
+# Build ActiveMQ-C++
+if [ ! -f ${AMQCPP}-src.tar.gz ]; then
+#Modify next line if not v3.9.3
+    wget http://archive.apache.org/dist/activemq/activemq-cpp/3.9.3/${AMQCPP}-src.tar.gz
+    tar -xf ${AMQCPP}-src.tar.gz
+fi
+if [ ! -f ${AMQCPP}/src/main/.libs/libactivemq-cpp.so ]; then
+    cd $AMQCPP
+    ./configure --prefix=$PREFIX --with-apr=$PREFIX/bin/apr-1-config
+    make install
+    cd ..
+else
+    echo "ActiveMQ C++" previously built
+fi
+
+# Now build UIMA
+
+./autogen.sh
+./configure --prefix=$TARGET --with-xerces=$PREFIX --with-apr=$PREFIX --with-apr-util=$PREFIX --with-icu=$PREFIX --with-activemq=$PREFIX --with-jdk=$JAVA_HOME/include' -I'${JAVA_HOME}/include/linux CXXFLAGS=-std=c++11
+make check
+make install
+make docs
+make sdk TARGETDIR=sdk


[uima-uimacpp] 01/02: UIMA-6175 update REAME with progress on Mac OSX

Posted by ea...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

eae pushed a commit to branch rc/uimacpp-3.0.0
in repository https://gitbox.apache.org/repos/asf/uima-uimacpp.git

commit f1c2a2786dfa95c59c2200320fb46435c536bcf2
Author: Eddie Epstein <ea...@us.ibm.com>
AuthorDate: Mon Jan 27 11:33:52 2020 -0500

    UIMA-6175 update REAME with progress on Mac OSX
---
 README.4src | 28 ++++++++++------------------
 1 file changed, 10 insertions(+), 18 deletions(-)

diff --git a/README.4src b/README.4src
index 6a1e540..96a4bdc 100644
--- a/README.4src
+++ b/README.4src
@@ -37,14 +37,14 @@ prerequisites can be installed from binary distributions.
 
 UIMACPP runtime prerequisites are: 
 
-3rd Party     Recommended Version
+3rd Party     Tested   Notes
 -------------------------------
-APR           >= 1.6.5
-ICU           == 50.2
-Xerces-C      >= 3.1.4
-Java SDK      >= 1.8
-ActiveMQ CPP  >= 3.9.3  (optional) to build the UIMA-AS service wrapper
-APR-util      >= 1.6.1  (optional) an ActiveMQ prerequisite
+APR           1.6.5    v1.7 did not work on Mac OSX
+ICU           50.2     v58.2 did not work
+Xerces-C      3.1.4
+Java SDK      1.8
+ActiveMQ CPP  3.9.3    (optional) required only for the UIMA-AS service wrapper
+APR-util      1.6.1    (optional) required by ActiveMQ CPP
 
 
 On Linux the following GNU build tools are required:
@@ -102,7 +102,7 @@ Configure and build
   the following option to configure:
   --prefix=install_target_loc e.g. --prefix=~/uimacpp-3.0.0/install
 
-  On Linux jni.h is usually in the JDK's "include" directory. On MacOSX
+  On Linux jni.h is usually in the JDK's "include" directory. On Mac OSX
   jni.h is in the JDK's "Headers" dirctory. In some cases jni.h will
   #include files in other directories. For example, if jni.h includes
   jni_md.h located in a subdirectory named linux, use
@@ -222,15 +222,7 @@ A fix is to patch dso/unix/dso.c as follows:
 >
 
 
-4.2 Re-generated configure
---------------------------
-
-In Mac OSX it is necessary to re-generate the configure file:
-
-  ./autogen.sh
-
-
-4.3 Executing configure
+4.2 Executing configure
 -----------------------
 
 Mac OSX Sierra default GCC is not capable of building UIMACPP. As alternative, you can
@@ -242,7 +234,7 @@ Make sure to pass the JDK Hearder path (--with-jdk) and the path of each depende
 (--with-<dep name> syntax).
 
 
-4.4 Packaging UIMA C++ annotators:
+4.3 Packaging UIMA C++ annotators:
 On Mac OSX, the install names are embedded in the binaries.  Run the
 following steps manually post build to neutralize the embedded name in
 the UIMA C++ binary and to change the dependency path in the