共享lib libmwi18n.so找不到

时间:2013-09-11 09:15:49

标签: matlab ubuntu mcc

我看到了类似的问题here

在阅读上述链接中的答案和评论后,我找到了'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

2 个答案:

答案 0 :(得分:3)

您的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路径是否存在)。

答案 1 :(得分:1)

我认为您需要glnx86,而不是glnx68

道歉,如果这只是你问题中的拼写错误。