Thanks Barry. Adding absolute paths made it work with "master" hostname. We have added both options in our code just in case the NULL hostname does not work on a different machine. https://github.com/IBAMR/cfd-mpc-wecs/blob/main/main.cpp#L346-L361
On Fri, Jun 10, 2022 at 1:48 PM Barry Smith <[email protected]> wrote: > > Based on your report the issue is likely due to a MATLABPATH issue. The > difference between using "master" and NULL is that when "master" is used, > PETSc ssh's to "master" to startup the Matlab engine while with NULL it > launches the Matlab engine directly from the current process in > (presumably) the current directory. > > When ssh is used it does not have information about the current > directory nor would it have any tweaks you have made to your MATLABPATH in > your shell. Thus it cannot find the script. > > Thus when not using NULL you need to make sure that all scripts you > plan to launch are findable in the MATLABPATH on the machine you are > launching the Matlab engine, maybe by putting the directories in MATLABPATH > on in your .bashrc or .profile file or whatever file gets sourced > automatically when you ssh to master. > > Barry > > I have no explanation why the behavior would change with PETSc versions > or Matlab versions but the above should resolve the problem; you may have > previously just been "lucky" it could fine the script. > > > > On Jun 10, 2022, at 4:14 PM, Kaustubh Khedkar via petsc-users < > [email protected]> wrote: > > Hi all, > > I am using the Petsc’s Matlab engine to run some Matlab scripts from my > c++ code. > > I have been using Petsc’s Github commit: > 9babe2dd5ff256baf1aab74d81ff9ed4c6baba0b > (HEAD -> master, origin/master, origin/HEAD) > Merge: e9b74a6d12 bb2d6e605a > Author: Satish Balay <[email protected]> > Date: Fri Nov 6 17:46:10 2020 +0000 > > I used the command: > > PetscMatlabEngineCreate(PETSC_COMM_SELF, "master", &(mengine)); > > where, the hostname is master. (Verified by typing hostname in the > terminal) > > Everything was working fine until I updated my PETSc version to 3.17.2. > Using this version I get error using the command: > > PetscMatlabEngineEvaluate(mengine, "load_parameters;”); > > cannot read load_parameters script. where, load_parameters is a Matlab > script. > > When I switch the hostname to NULL from master as: > > PetscMatlabEngineCreate(PETSC_COMM_SELF, NULL, &(mengine)); > > Everything starts working fine again. All of this was executed on the same > machine. > > Has anything changed when using the PetscMatlabEngineEvaluate command? > > > Thank you, > Kaustubh Khedkar > > > -- --Amneet
