我在Centos 5上编译了一些Matlab代码。
我尝试像这样运行:
run_cnaseq006.sh /projects/rcorbettprj2/mutationSeq/MCR/v714/ "/home/rcorbett/slx_service_rc/etc/cnv_test_data/CNV_test/config.m"
------------------------------------------
Setting up environment variables
---
LD_LIBRARY_PATH is .:/projects/rcorbettprj2/mutationSeq/MCR/v714//runtime/glnxa64:/projects/rcorbettprj2/mutationSeq/MCR/v714//bin/glnxa64:/projects/rcorbettprj2/mutationSeq/MCR/v714//sys/os/glnxa64:/projects/rcorbettprj2/mutationSeq/MCR/v714//sys/java/jre/glnxa64/jre/lib/amd64/native_threads:/projects/rcorbettprj2/mutationSeq/MCR/v714//sys/java/jre/glnxa64/jre/lib/amd64/server:/projects/rcorbettprj2/mutationSeq/MCR/v714//sys/java/jre/glnxa64/jre/lib/amd64/client:/projects/rcorbettprj2/mutationSeq/MCR/v714//sys/java/jre/glnxa64/jre/lib/amd64
??? Error using ==> run at 65
/home/rcorbett/slx_service_rc/etc/cnv_test_data/CNV_test/config.m not found.
但是,我很容易看到该文件确实存在:
ll /home/rcorbett/slx_service_rc/etc/cnv_test_data/CNV_test/config.m
-rw-r--r-- 1 rcorbett users 3 Aug 13 09:10 /home/rcorbett/slx_service_rc/etc/cnv_test_data/CNV_test/config.m
我尝试了不同的引号,没有引号,但我无法弄清楚为什么它不会执行该文件。该代码在未编译的matlab代码中运行良好,因此编译后会发生一些有趣的事情,这会影响识别文件的能力。
编辑: run_cnaseq006.sh是用于运行已编译代码的自动生成的shell脚本。它大约有40行,因此不能很好地复制到这里。但是,我可以说它只是一个包装器,以确保在运行我的编译代码时加载所有库。所有已编译的代码我都得到了确切的shell脚本包装。
答案 0 :(得分:0)
我被指向了这个链接:
http://blogs.mathworks.com/loren/2008/08/11/path-management-in-deployed-applications/
“run”命令使用路径管理功能,如“cd”。根据上面的文章,这些活动在编译的应用程序中不受支持,并且可能产生不可预测的结果。
我决定使用替代方法来定义我的运行时变量,方法是使用getline读取文件并使用“eval”将变量加载到内存中。