X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=scripts%2Fmono-test-install;h=3c1f74a88924a472fad802fc33de358e0e1faddb;hb=559ad5b34bc086b51af2e589b32ea2eae0f78820;hp=7abc7103e77e3cd027c18b57c2c9071cdfe9c033;hpb=923c4aa63d7d8858e051cf480c5de412a1b6ffc5;p=mono.git diff --git a/scripts/mono-test-install b/scripts/mono-test-install index 7abc7103e77..3c1f74a8892 100755 --- a/scripts/mono-test-install +++ b/scripts/mono-test-install @@ -1,4 +1,4 @@ -#!/bin/sh +#!/usr/bin/env bash # # Does various checks for people that we can use to diagnose # an end user installation @@ -41,7 +41,6 @@ if pkg-config --modversion mono >& /dev/null; then echo " than the Mono found:" echo " Mono on PATH: $monocmd" echo " Mono from pkg-config: $pkg_config_mono" - exit 1 fi else echo "Warning: pkg-config could not find mono installed on this system" @@ -86,8 +85,10 @@ search_libgdiplus_on_path() fi while test x$1 != x; do if test -e $1/$libgdiplus; then - echo Found a libgdiplus in directory $1 + echo " The $libgdiplus is found on $libdir/$libgdiplus" libgdiplus_found=true + libgdiplus_path=$1/$libgdiplus + break fi shift done @@ -117,17 +118,25 @@ if mcs -pkg:dotnet $temp_cs >& /dev/null; then libdir=`dirname $monocmd`/../lib if test -f $libdir/$libgdiplus; then - echo " The $libgdiplus is found on $libdir" + echo " The $libgdiplus is found on $libdir/$libgdiplus" if test -e $libdir/$libgdiplus; then - echo " but it seems to be a broken link" + libgdiplus_path=$libdir/$libgdiplus + libgdiplus_found=true else - search_libgdiplus_on_path + echo " but it seems to be a broken link" fi else search_libgdiplus_on_path fi if $libgdiplus_found; then - echo " libgdiplus found" + echo ssss + if which ldd >/dev/null; then + LANG=C dirs=`ldd $libgdiplus_path | grep 'not found'` + if echo $dirs | grep 'not found' >& /dev/null; then + echo " libgdiplus is missing the following dependencies to run:" + echo $dirs | sed 's/^/ /' + fi + fi else echo " No libgdiplus was found on your $LD_PATH" fi @@ -137,3 +146,32 @@ else echo Failed to compile sample System.Drawing program, your installation is broken exit 1 fi + +cat > $temp_cs <& /dev/null; then + mono $temp_exe +else + echo Failed to compile sample test program, your installation is broken + exit 1 +fi