5

ここで同様の質問を見ました

上記のリンクの回答とコメントを読んだ後、「libmwi18n.so」ファイルを見つけて を設定しましたLD_LIBRRY_PATHが、まだこのエラーが発生しています。

'error while loading shared libraries: libmwi18n.so: cannot
 open shared object file: No such file or directory'

私は次のことをしました:

locate libmwil8n.so

出力を与える

/usr/local/MATLAB/R2012a/bin/glnx86/libmwi18n.so

それから私はやった

export LD_LIBRARY_PATH= /usr/local/MATLAB/R2012a/bin/glnx86

シェルプログラムを再度実行し、

./run_app.sh

同じエラーを返します。

どうすればこの問題を解決できますか?

アップデート-

run_spp.sh の内容

!/bin/sh
# script for execution of deployed applications
#
# Sets up the MCR environment for the current $ARCH and executes 
# the specified command.
#
exe_name=$0
exe_dir=`dirname "$0"`
echo "------------------------------------------"
if [ "x$1" = "x" ]; then
  echo Usage:
  echo    $0 \<deployedMCRroot\> args
else
  echo Setting up environment variables
  MCRROOT="$1"
  echo ---
  LD_LIBRARY_PATH=.:${MCRROOT}/runtime/glnx86 ;
  LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${MCRROOT}/bin/glnx86 ;
  LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${MCRROOT}/sys/os/glnx86;
        MCRJRE=${MCRROOT}/sys/java/jre/glnx86/jre/lib/i386 ;
        LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${MCRJRE}/native_threads ;
        LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${MCRJRE}/server ;
        LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${MCRJRE}/client ;
        LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${MCRJRE} ;
  XAPPLRESDIR=${MCRROOT}/X11/app-defaults ;
  export LD_LIBRARY_PATH;
  export XAPPLRESDIR;
 echo LD_LIBRARY_PATH is ${LD_LIBRARY_PATH};
  shift 1
  args=
  while [ $# -gt 0 ]; do
      token=`echo "$1" | sed 's/ /\\\\ /g'`   # Add blackslash before each blank
      args="${args} ${token}"
      shift
  done
  "${exe_dir}"/b $args
fi
exit
4

2 に答える 2

5

ライブラリLD_LIBRARY_PATH自体を含めるのではなく、ライブラリを含むパスを含める必要があります。試す:

export LD_LIBRARY_PATH=/usr/local/MATLAB/R2012a/bin/glnx86

または、おそらくこの場所をパスに追加します。

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/MATLAB/R2012a/bin/glnx86

編集:(提供された質問に関する詳細情報の後)

シェル スクリプトrun_app.shは、環境変数を使用して独自のライブラリ パスを設定しますLD_LIBRARY_PATH(17 ~ 24 行で宣言され、26 行で上書きされます)。これは、スクリプトを実行する前にシェルで設定されたものはすべて上書きされることを意味します。

のパスを含めるにはlibmwi18n.so、スクリプト内の 17 行目から 26 行目までに次のパスを追加します。

LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/MATLAB/R2012a/bin/glnx86

(注: LD パスの出力もあるので、glnx86 パスが存在するかどうかを確認できるはずです)。

于 2013-09-11T09:41:44.160 に答える