|
|
@@ -20,6 +20,41 @@ mkdir -p "$RUNNER_LOG_DIR"
|
|
|
# Make sure data directory exists
|
|
|
mkdir -p "$RUNNER_DATA_DIR"
|
|
|
|
|
|
+export ROOTDIR="$RUNNER_ROOT_DIR"
|
|
|
+export ERTS_DIR="$ROOTDIR/erts-$ERTS_VSN"
|
|
|
+export BINDIR="$ERTS_DIR/bin"
|
|
|
+export EMU="beam"
|
|
|
+export PROGNAME="erl"
|
|
|
+DYNLIBS_DIR="$RUNNER_ROOT_DIR/dynlibs"
|
|
|
+ERTS_LIB_DIR="$ERTS_DIR/../lib"
|
|
|
+MNESIA_DATA_DIR="$RUNNER_DATA_DIR/mnesia/$NAME"
|
|
|
+
|
|
|
+# Echo to stderr on errors
|
|
|
+echoerr() { echo "$*" 1>&2; }
|
|
|
+
|
|
|
+check_eralng_start() {
|
|
|
+ "$BINDIR/$PROGNAME" -noshell -boot "$REL_DIR/start_clean" -s crypto start -s init stop
|
|
|
+}
|
|
|
+
|
|
|
+if ! check_eralng_start >/dev/null 2>&1; then
|
|
|
+ BUILT_ON="$(head -1 "${REL_DIR}/BUILT_ON")"
|
|
|
+ ## failed to start, might be due to missing libs, try to be portable
|
|
|
+ export LD_LIBRARY_PATH="$DYNLIBS_DIR:$LD_LIBRARY_PATH"
|
|
|
+ if ! check_eralng_start; then
|
|
|
+ ## it's hopeless
|
|
|
+ echoerr "FATAL: Unable to start Erlang (with libcrypto)."
|
|
|
+ echoerr "Please make sure it's running on the correct platform with all required dependencies."
|
|
|
+ echoerr "This EMQ X release is built for $BUILT_ON"
|
|
|
+ exit 1
|
|
|
+ fi
|
|
|
+ echoerr "WARNING: There seem to be missing dynamic libs from the OS. Using libs from ${DYNLIBS_DIR}"
|
|
|
+fi
|
|
|
+
|
|
|
+## backward compatible
|
|
|
+if [ -d "$ERTS_DIR/lib" ]; then
|
|
|
+ export LD_LIBRARY_PATH="$ERTS_DIR/lib:$LD_LIBRARY_PATH"
|
|
|
+fi
|
|
|
+
|
|
|
# cuttlefish try to read environment variables starting with "EMQX_"
|
|
|
export CUTTLEFISH_ENV_OVERRIDE_PREFIX='EMQX_'
|
|
|
|
|
|
@@ -120,9 +155,6 @@ if [ "$ULIMIT_F" -lt 1024 ]; then
|
|
|
echo "!!!!"
|
|
|
fi
|
|
|
|
|
|
-# Echo to stderr on errors
|
|
|
-echoerr() { echo "$@" 1>&2; }
|
|
|
-
|
|
|
# By default, use cuttlefish to generate app.config and vm.args
|
|
|
CUTTLEFISH="${USE_CUTTLEFISH:-yes}"
|
|
|
|
|
|
@@ -364,15 +396,6 @@ else
|
|
|
PROTO_DIST_ARG="-proto_dist $PROTO_DIST"
|
|
|
fi
|
|
|
|
|
|
-export ROOTDIR="$RUNNER_ROOT_DIR"
|
|
|
-export ERTS_DIR="$ROOTDIR/erts-$ERTS_VSN"
|
|
|
-export BINDIR="$ERTS_DIR/bin"
|
|
|
-export EMU="beam"
|
|
|
-export PROGNAME="erl"
|
|
|
-export LD_LIBRARY_PATH="$ERTS_DIR/lib:$LD_LIBRARY_PATH"
|
|
|
-ERTS_LIB_DIR="$ERTS_DIR/../lib"
|
|
|
-MNESIA_DATA_DIR="$RUNNER_DATA_DIR/mnesia/$NAME"
|
|
|
-
|
|
|
cd "$ROOTDIR"
|
|
|
|
|
|
# User can specify an sname without @hostname
|