Subject: UIMACPP jenkins job is failing


Richard ([EMAIL PROTECTED]) created a jenkins build for uimacpp. I've spent
some time "fixing" the configuration but run into a block running the FVT
suite:
test_cas: error while loading shared libraries: libicudata.so.50:
cannot open shared object file: No such file or directory
Earlier in the job the file is demonstrated to be where expected:
/home/jenkins/jenkins-slave/workspace/UIMA-CPP-SDK/dependencies/lib/libicudata.so.50.2:
ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically
linked, BuildID[sha1]=d2f443b63fcae650e5bebc60dccb9815cd8af6fb, not
stripped
/home/jenkins/jenkins-slave/workspace/UIMA-CPP-SDK/dependencies/lib/libicudata.so.50:
symbolic link to libicudata.so.50.2
/home/jenkins/jenkins-slave/workspace/UIMA-CPP-SDK/dependencies/lib/libicudata.so:
symbolic link to libicudata.so.50.2
Of course it is possible that the build's command script is wrong, but
I have run the exact same script on a Ubuntu machine from the top
level of a git clone of uima-cpp and it works. The script is pasted
below. Maybe someone with more jenkins experience can help here :)
Richard, the changes made to the build script were:
1. using wget instead of curl to download dependencies. Curl was
mostly failing when downloading tars and wget has been rock solid.

2. downloaded a xerces-c tar instead of zip

3. Used ICU 50.2 instead of 58.2 because uimacpp fails with 58.2 on my machines.

4. changed the configure command for ICU to specify the target distro

5. change the configure for uimacpp to work finding jni_md.h and to
add the newly required CXXFLAGS=-std=c++11
-Eddie
--------jenkins-build-config--------

#!/bin/sh
set -e

PREFIX=`pwd`/dependencies
TARGET=`pwd`/target

mkdir -p "$PREFIX"
mkdir -p "$TARGET"

# Build xerces
wget http://archive.apache.org/dist/xerces/c/3/sources/xerces-c-3.1.4.tar.gz
tar -xf xerces-c-3.1.4.tar.gz
cd xerces-c-3.1.4
./configure --prefix="$PREFIX"
make install
cd ..

# Build ICU
rm -f icu4c-50_2-src.tgz
wget https://github.com/unicode-org/icu/releases/download/release-50-2/icu4c-50_2-src.tgz
tar -xzf icu4c-50_2-src.tgz
cd icu/source
./runConfigureICU Linux --prefix="$PREFIX"
make install
cd ../..

# Build APR
#curl -C- -o apr-1.5.2.tar.gz http://www.apache.org/dist/apr/apr-1.5.2.tar.gz
wget http://archive.apache.org/dist/apr/apr-1.4.8.tar.gz
tar -xzf apr-1.4.8.tar.gz
cd apr-1.4.8
./configure --prefix="$PREFIX"
make install
cd ..

# see what exists in dependencies
file "$PREFIX"/lib/libicudata.so.50.2
file "$PREFIX"/lib/libicudata.so.50
file "$PREFIX"/lib/libicudata.so

# Now build UIMA
./configure --prefix=$TARGET --with-xerces=$PREFIX --with-apr=$PREFIX
--with-icu=$PREFIX --without-activemq --with-jdk=$JAVA_HOME'/include
-I'${JAVA_HOME}/include/linux CXXFLAGS=-std=c++11
make check
make install