Save error on linux

4 visualizaciones (últimos 30 días)
Amirhossein Moosavi
Amirhossein Moosavi el 22 de Abr. de 2021
Comentada: Jan el 22 de Abr. de 2021
Hello,
I have program that I run it through a script. At the same time, the script uses many functions to compute required components. When I run this program on my laptop (Windows 10), there is no problem and everthing works pretty well. But when I try to run this program on Compute Canada (it is a central and slurm-based computer that uses Linux), the program works pretty great except the last line, where I want to save the outcome. Note that I am using Matlab2020a on Compute Canada. I receive an error like below:
{Error using save
Can not write file /project/XXX/XXX/LTC/ACO/Realistic_ins/ACO_1_1.mat.
Error in aco_1 (line 366)
save(saveName, 'ARCH', 'CPUT');
Error in run (line 91)
evalin('caller', strcat(script, ';'));
}
What would be the reason of this problem?
Best, Amir.

Respuestas (1)

Jan
Jan el 22 de Abr. de 2021
Editada: Jan el 22 de Abr. de 2021
Does the folder "/project/XXX/XXX/LTC/ACO/Realistic_ins/" exist? Mounting a folder "/project" directly as root folder is very unusual. Is this path relative to your own user folder? Then this would be:
'~/project/XXX/XXX/LTC/ACO/Realistic_ins/'
  2 comentarios
Amirhossein Moosavi
Amirhossein Moosavi el 22 de Abr. de 2021
Editada: Amirhossein Moosavi el 22 de Abr. de 2021
Thanks! The folder exists, my script and all relevant functions are in the same folder, and the folder is related to my user. This is so strage for me since the program successfully finishes some test instances, but unsuccessfully some others (all of them work with no problem on my own laptop). I am currently using the below code to save the outcome:
saveName = append('ACO_', fName, '.mat');
save(saveName, 'ARCH', 'CPUT');
According to your suggestion, I should change it as bellow. Am I right? Does it make any diiference since all codes are in that folder?
saveName = append('~/project/XXX/XXX/LTC/ACO/Realistic_ins/ACO_', fName, '.mat');
save(saveName, 'ARCH', 'CPUT');
Jan
Jan el 22 de Abr. de 2021
Under Linux "/project" is a root folder. If you mean "relative to the current folder, use "./project". It the folder is relative to the user folder "~/project".
The location of the M-files does not matter, because this is not necessarily the current folder. The best idea to avoid such errors is not to use relative folders, but absolute ones.

Iniciar sesión para comentar.

Categorías

Más información sobre Software Development Tools en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by