[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