Matlab 共享库libmwi18n.so未找到
我看到了一个类似的问题 在阅读了上面链接中的答案和注释后,我找到了“libmwi18n.so”文件并设置了Matlab 共享库libmwi18n.so未找到,matlab,ubuntu,mcc,Matlab,Ubuntu,Mcc,我看到了一个类似的问题 在阅读了上面链接中的答案和注释后,我找到了“libmwi18n.so”文件并设置了LD_LIBRRY_路径,但我仍然遇到了以下错误: 'error while loading shared libraries: libmwi18n.so: cannot open shared object file: No such file or directory' 我做了以下工作: locate libmwil8n.so 它给出了输出 /usr/local/MATLAB/R2
LD_LIBRRY_路径
,但我仍然遇到了以下错误:
'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
/垃圾箱/垃圾箱
#用于执行已部署应用程序的脚本
#
#为当前$ARCH设置MCR环境并执行
#指定的命令。
#
exe_name=$0
exe_dir=`dirname“$0”`
回音“---------------------------------------------”
如果[“x$1”=“x”];然后
回声使用:
echo$0\args
其他的
echo设置环境变量
MCRROOT=“$1”
回音---
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_线程;
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默认值;
导出LD_库_路径;
出口XAPPLRESDIR;
echo LD_LIBRARY_PATH是${LD_LIBRARY_PATH};
班次1
args=
而[$#-gt 0];做
token=`echo“$1”\`sed's/\\\\/g'``在每个空格前添加黑色斜杠
args=“${args}${token}”
转移
完成
“${exe_dir}”/b$args
fi
出口
我想您想要的是glnx86
,而不是glnx68
如果这只是您问题中的一个输入错误,请道歉。您的
LD\u LIBRARY\u路径
不应包括库本身,而是包含库的路径。尝试:
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\u app.sh
使用环境变量LD\u library\u path
设置自己的库路径(在第17-24行声明,在第26行覆盖)。这意味着在执行脚本之前在shell中设置的任何内容都将被覆盖
要包含libmwi18n.so的路径,请在脚本中的第17行之后和第26行之前添加路径,并添加以下内容:
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/MATLAB/R2012a/bin/glnx86
(注意:还有一个LD路径的打印输出,因此您应该能够判断glnx86路径是否存在)。ya这是一个输入错误…谢谢..但这并不能解决问题哦,值得检查的是,您有LD\u LIBRARY\u path=…
而它应该是LD\u LIBRARY\u path=…
(注意=
符号后的空格)。这是另一种打字错误,还是…?ls-l/usr/local/MATLAB/R2012a/bin/glnx86/libmwi18n.so
返回什么?如果是符号链接,它(最终)是否引用现有文件?(尝试ldd/usr/local/MATLAB/R2012a/bin/glnx86/libmwi18n.so
)是的,它引用了一个现有的文件,那么我应该怎么做呢?在你文章中链接的问题中,run\u test.sh
脚本重新声明了LD路径(这将在执行脚本之前覆盖shell中设置的任何内容)。您是否在运行app.sh中执行类似的操作?是的,运行app.sh也在执行相同的操作,我是否应该在shell程序中写入'libmwi18n.so'路径?脚本的第26行将用自己的设置路径覆盖LD路径(在17--24中声明)。因此,可以尝试在脚本中添加libmwi19n路径--LD_LIBRARY_path=${LD_LIBRARY_path}:/usr/local/MATLAB/R2012a/bin/glnx86
,在第18行附近。(还有一个LD路径的打印输出,因此您应该能够判断glnx86路径是否存在)1.谢谢你是个救生员1.请更新你的答案,我会接受你的答案。