Hi Leute!
Habe hier ein riesiges Problem mit einem Shellscript, das ein
Installationsprogramm installer-fe aufrufen soll.
Bei der Ausf�hrung beendet das Script mit folgendem Fehler:

installer: line 111:   951 Illegal instruction
"$runtimePath/$ARCH/bin/installer-fe" "$sourcePath" "$updatesPath"
"$runtimePath"

Zur Verdeutlichung: Das soll nichts anderes machen, als den Pfad zu dem
eigentlichen Installationsprogramm zu finden!
Auf anderen Maschinen unterschiedlichster Distributionen l�uft das
Script wunderbar...
Auf meiner Maschine mir Standard Server Installation SuSE 8.0 / 8.1 /
Redhat 7.3 (Alles sch�n brav auf eigenen Platten) funzt das nicht.
Ist das ein Hardwaredefekt?!?
Oder wie kann ich mir das erkl�ren, dass die Variablen nicht aufgel��t,
sondern so geerrort (mmh... mir fehlen die Worte) werden.

Das Skript kommt am Ende, die Zeile ist markiert.
Ich bin f�r jede Hilfe dankbar!
...und kurz vorm Verweifeln.



Dank und Gru�


Patrick Schulz


---megasnip---
unknownArch()
{
        echo "Cannot determine the machine architecture!" >&2
        echo "Please pass the architecture as a parameter e.g.:" >&2
        prg=`basename $0`
        echo "$prg linux" >&2
}

guessArch()
{
        case `uname -s` in
        AIX)
                ARCH=rs6000
                /usr/sbin/slibclean
                LIBPATH="$runtimePath/$ARCH/lib"
                export LIBPATH
                ;;
        IRIX*)
                ARCH=sgi
                LD_LIBRARY_PATH="$runtimePath/$ARCH/lib"
                export LD_LIBRARY_PATH
                ;;
        OSF1)
                if [ `uname -m` = alpha ]; then
                        ARCH=alpha
                else
                        unknownArch $@
                        exit 1
                fi
                LD_LIBRARY_PATH="$runtimePath/$ARCH/lib"
                export LD_LIBRARY_PATH
                ;;
        HP-UX)
                ARCH=hppa
                SHLIB_PATH="$runtimePath/$ARCH/lib"
                export SHLIB_PATH
                ;;
        SunOS)
                if [ -d /devices ]; then
                        case `uname -p` in
                        sparc)
                                ARCH=sol4
                                ;;
                        *)
                                unknownArch $@
                                exit 1
                                ;;
                        esac
                else
                        ARCH=`/bin/arch`
                fi
                LD_LIBRARY_PATH="$runtimePath/$ARCH/lib"
                export LD_LIBRARY_PATH
                ;;
        Darwin)
                case `/usr/bin/arch` in
                ppc)
                        ARCH=macosx
                        ;;
                *)
                        unknownArch $@
                        exit 1
                        ;;
                esac
                DYLD_LIBRARY_PATH="$runtimePath/$ARCH/lib"
                export DYLD_LIBRARY_PATH
                # If started via the workspace the superuser PATH
                # does not include the essential directories.
                PATH=$PATH:/sbin:/usr/sbin
                export PATH
                ;;
        Linux)
                case `uname -m` in
                i?86)
                        ARCH=linux
                        ;;
                *)
                        unknownArch $@
                        exit 1
                        ;;
                esac
                LD_LIBRARY_PATH="$runtimePath/$ARCH/lib"
                export LD_LIBRARY_PATH
                ;;
        *)
                unknownArch $@
                exit 1
                ;;
        esac
}

setSearchPaths()
{
        if expr "$0" : "\/" >/dev/null
        then
                me="$0"
        else
                me=`expr "$0" : "\.\/\(.*\)"`
                if test $? -ne 0
                then
                        me="$0"
                fi
                me="`pwd`/$me"
        fi
        workDir=`dirname "$me"`    ######################## <- Das ist
Zeile 111
        sourcePath="$workDir/products"
        updatesPath="$workDir/updates"
        runtimePath="$workDir/runtime"
}

main()
{
        setSearchPaths "$@"
        if [ -n "$1" ]; then
                ARCH="$1"
        else
                guessArch "$@"
        fi
        TERMINFO="$runtimePath/terminfo"
        export TERMINFO
        "$runtimePath/$ARCH/bin/installer-fe" "$sourcePath"
"$updatesPath" "$runtimePath"
}

main "$@"
exit 0
---megasnap---

----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org

Antwort per Email an