gpt4 book ai didi

linux - 在 Ubuntu 上从 matlab 调用外部脚本失败

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:21:27 27 4
gpt4 key购买 nike

找了很多次都没有解决问题。我使用 system()/unix() 从 matlab 调用外部 R 脚本,发现共享库加载错误。我知道 matlab 中的环境是错误的。我还尝试将命令包装在 xterm 或 gnome-terminal 中,但没有成功。如何加载正确的环境变量?有没有办法在调用之前重置回操作系统的环境变量?

>> !export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/ 
% also tried - !export LD_LIBRARY_PATH=/usr/lib64;
>> unix('Rscript /home/gary/testRF1.R')
Error in dyn.load(file, DLLpath = DLLpath, ...) :
unable to load shared object '/usr/lib/R/library/stats/libs/stats.so':
/usr/local/MATLAB/R2012a/sys/os/glnxa64/libgfortran.so.3: version `GFORTRAN_1.4' not found (required by /usr/lib/liblapack.so.3gf)
During startup - Warning message:
package ‘stats’ in options("defaultPackages") was not found
Error in dyn.load(file, DLLpath = DLLpath, ...) :
unable to load shared object '/usr/lib/R/library/stats/libs/stats.so':
/usr/local/MATLAB/R2012a/sys/os/glnxa64/libgfortran.so.3: version `GFORTRAN_1.4' not found (required by /usr/lib/liblapack.so.3gf)
Error: package or namespace load failed for ‘R.matlab’
Execution halted

ans =

1

发行版:Ubuntu 12.04.3

R 信息:平台 x86_64-pc-linux-gnu
架构 x86_64
操作系统 linux-gnu
系统 x86_64,linux-gnu
状态
专业3
小 0.2
2013年
9月
第 25 天
svn 版本 63987
语言 R
version.string R 版本 3.0.2 (2013-09-25)昵称飞盘帆船

非常感谢,加里

最佳答案

一种解决方案是更改您要使用的 libgfortran。

  1. 打开终端并 cd 到“local_MATLAB”/sys/os/“your_os”/

  2. 检查 libgfortran.so.3 是指向 ligfortran.so.3.0.0 的符号链接(symbolic link)并将其删除

  3. 否则复制 libgfortran.so.3 以备不时之需

  4. 找到您自己的 libgfortran 并使符号链接(symbolic link)指向它

在我的系统上这看起来像:

cd /usr/local/MATLAB/R2012a/sys/os/glnxa64/
rm libgfortran.so.3
ln -s -T /usr/lib/x86_64-linux-gnu/libgfortran.so.3.0.0 libgfortran.so.3

如果您使用的是 UNIX,则应该已经安装了 libgfortran,您可以通过以下方式找到它:

locate libgfortran

记得重新启动 MATLAB 以便应用更改

关于linux - 在 Ubuntu 上从 matlab 调用外部脚本失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21003193/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com