필터 지우기
필터 지우기

Using mcc to compile code which calls mex files

조회 수: 4 (최근 30일)
Tricia
Tricia 2012년 7월 31일
I need to compile code which calls an outside function (GAMS) using mex files. I can compile the code with mcc and receive no errors. However, when I run the executable I get the following error,
sh: gams: command not found
Could not run (null): check gams.path
Error in ==> multistart_GAMS_initializer_v2_1>(parfor body) at 521
Error in ==> parallel_function at 477
Error in ==> multistart_GAMS_initializer_v2_1 at 501
Error in ==> restart at 7
MATGAMS:exec
where gams is the mex file calling the outside program.
gams is in the system folder containing the program, GAMS, to be called. The file pathdef.m is included in the folder from which matlab is being called so that the folder containing gams is on the matlabpath.
This code runs fine when it is not compiled.
My compile command is as follows:
/opt/MATLAB/R2011a/bin/mcc -m -a /opt/gams/23.5.1/gams.m -a /opt/gams/23.5.1/wgdx.m -a /opt/gams/23.5.1/writegdx.m -a /opt/gams/23.5.1/rgdx.m -a /opt/gams/23.5.1/readgdx.m -a /opt/gams/23.5.1/full2sp.m -a /opt/gams/23.5.1/sp2full.m -a /opt/gams/23.5.1/gams.mexa64 -a /opt/gams/23.5.1/gdxInfo.mexa64 -a /opt/gams/23.5.1/rgdx.mexa64 -a /opt/gams/23.5.1/wgdx.mexa64 -R -nodisplay -R -nodesktop

답변 (2개)

Kaustubha Govind
Kaustubha Govind 2012년 8월 1일
The error says "sh: gams: command not found" - so it seems like the "outside" program is not on the System path?
  댓글 수: 6
Tricia
Tricia 2012년 8월 4일
No. I have the same problem with a test case without parallelization even when I run it in exactly the same place as the un-compiled code.
Kaustubha Govind
Kaustubha Govind 2012년 8월 6일
Tricia: Sorry, I've run out of ideas. Perhaps you should contact MathWorks Tech Support to see if they have any ideas?

댓글을 달려면 로그인하십시오.


Titus Edelhofer
Titus Edelhofer 2012년 8월 6일
Hi,
if you look into the file "multistart_GAMS_initializer_v2_1" that (from your error message) tries to start gams: does it do anything to the system path there? Or does it start some local shell script there (gams.sh or whatsoever) which is not there in the compiled application?
Titus

카테고리

Help CenterFile Exchange에서 MATLAB Compiler에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by