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

并再次运行shell程序,

./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

编辑:(在提供有关问题的更多信息后)

shell 脚本run_app.sh使用环境变量设置它自己的库路径LD_LIBRARY_PATH(它在第 17--24 行声明,并在第 26 行覆盖)。这意味着在执行脚本之前在 shell 中设置的任何内容都将被覆盖。

要包含 的路径libmwi18n.so,请在脚本中的第 17 行之后和第 26 行之前附加路径:

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

(注意:还有 LD 路径的打印输出,因此您应该能够判断 glnx86 路径是否存在)。

于 2013-09-11T09:41:44.160 回答
1

我想你想要glnx86,不是glnx68

抱歉,如果这只是您问题中的错字。

于 2013-09-11T09:22:45.413 回答