diff --git a/package/linux/MultiMC b/package/linux/MultiMC index a2ef0c81..8229b24f 100755 --- a/package/linux/MultiMC +++ b/package/linux/MultiMC @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # Basic start script for running MultiMC with the libs packaged with it. MMC_DIR=`dirname "$0"` @@ -10,9 +10,24 @@ export LD_LIBRARY_PATH="${MMC_DIR}/bin":$LD_LIBRARY_PATH export QT_PLUGIN_PATH="${MMC_DIR}/plugins" export QT_FONTPATH="${MMC_DIR}/fonts" -# Just to be sure... -chmod +x "${MMC_DIR}/bin/MultiMC" +# Detect missing dependencies... +DEPS_LIST=`ldd "${MMC_DIR}"/plugins/*/*.so | grep "not found" | awk -vORS=", " '{ print $1 }'` +if [ -z $DEPS_LIST ]; then + # We have all our dependencies. Run MultiMC. + echo "No missing dependencies found." -# run MultiMC -"${MMC_DIR}/bin/MultiMC" -d "${MMC_DIR}" $@ + # Just to be sure... + chmod +x "${MMC_DIR}/bin/MultiMC" + + # Run MultiMC + "${MMC_DIR}/bin/MultiMC" -d "${MMC_DIR}" $@ + + # Exit with MultiMC's exit code. + exit $? +else + echo "Error: MultiMC is missing the following libraries that it needs to work correctly:" + echo "\t${DEPS_LIST}" + echo "Please install them from your distribution's package manager." + exit 1 +fi