[Wien] cannot touch '/optics.symmat': Read-only file system
Oleg Rubel
rubelo at mcmaster.ca
Thu Nov 14 04:04:36 CET 2019
P.S. I forgot to mention the version:
WIEN2k_19.1 (Release 25/6/2019)
Oleg
On 11/13/2019 10:01 PM, Oleg Rubel wrote:
> Dear Wien2k community,
>
> I run into a problem when performing optics calculations in parallel
> mode (not MPI), hybrid with SOC. It is run for Si, but it is just a step
> stone to heavier materials where SOC really matters.
>
> Optics is executed as
>
>> [rubel at gra690 optics]$ x optic -so -hf -p
>> running OPTIC in parallel mode
>> [1] 4932
>> OPTIC END
>> [1] + Done ( cd $PWD; $t $exe
>> ${def}_${loop}.def; rm -f .lock_$lockfile[$p] ) >> .timeop_$loop
>> [1] 4937
>> ...
>> Summary of opticpara:
>> localhost user=0 wallclock=203580
>> scratch=/
>> touch: cannot touch '/optics.symmat': Read-only file system
>> touch: cannot touch '/optics.mommat2': Read-only file system
>> touch: cannot touch '/optics.mat_diag': Read-only file system
>> touch: cannot touch '/optics.mme': Read-only file system
>> /optics.symmat: Read-only file system.
>> /optics.symma1: Read-only file system.
>> /optics.symma2: Read-only file system.
>> /optics.mat_diag: Read-only file system.
>> /optics.mme: Read-only file system.
>> rm: cannot remove '/optics.symmat_1': No such file or directory
>> rm: cannot remove '/optics.mat_diag_1': No such file or directory
>> rm: cannot remove '/optics.mme_1': No such file or directory
>> ...
>
> The output shows that optics actually ends OK, but the script gets stuck
> with results files pointing to the root directory "/" for some reason.
> Of course, I have no permission to write there. The same problem was
> reported earlier on the mailing list
> https://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/msg17103.html
>
> The problem is the value of "scratch" variable. I edited the file
>
>> [rubel at gra690 optics]$ vim $WIENROOT/opticcpara
>
> to display the variable. As you can see in the output above, the value
> is "scratch=/" in spite of the fact that
>
>> [rubel at gra690 optics]$ echo $SCRATCH
>> ./
>
> The workaround is to make changes in the file $WIENROOT/opticcpara
>
>> if ( $?SCRATCH ) then
>> set scratch=`echo $SCRATCH | sed -e 's/\/$//'`/ # we are afraid
>> # different settings in different
>> # computing centers
>> #use global variable for scratch if set
>> echo "scratch=$scratch" # OLEG
>> set scratch=$SCRATCH # OLEG
>> endif
>
> I am not sure what does the whole command with "sed ..." suppose to do?
> Why do we need to change $SCRATCH value? I tried in different shells
>
>> [rubel at gra-login1 optics]$ scratch=`echo $SCRATCH | sed -e 's/\/$//'`/
>> [rubel at gra-login1 optics]$ echo $scratch
>> ./
>> [rubel at gra-login1 optics]$ /bin/csh
>> [rubel at gra-login1 optics]$ set scratch=`echo $SCRATCH | sed -e
>> 's/\/$//'`/
>> [rubel at gra-login1 optics]$ echo $scratch
>> ./
>> [rubel at gra-login1 optics]$ echo $shell
>> /bin/tcsh
>
> I could not reproduce "/" in the command line, but in the script the
> value is different for some reason.
>
> Any thoughts are welcome :)
>
> Thank you in advance
> Oleg
>
More information about the Wien
mailing list