Please, recently I posted a question about an error returned when I run ph.x... I use ph.x with many other structures but with one in particular ph.x stop and return:<br><br>%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%<br>     task #         0<br>



     from diropn : error #         3<br>     wrong record length<br>

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%<br><br>By PW/diropn.f90 code inspection, the error occours because the unf_recl variable value is negative... I wrote the value of the variables responsible for this negative value like this:<br>

<br>...<br>
  write(stdout,*)'the extension value is ',extension<br>...<br>  !<br>
  !      the unit for record length is unfortunately machine-dependent<br>
  !<br>
  unf_recl = DIRECT_IO_FACTOR * recl<br>
  write(stdout,*)'the DIRECT_IO_FACTOR value is ',DIRECT_IO_FACTOR<br>
  write(stdout,*)'the recl value is ',recl<br>
  write(stdout,*)'the unf_recl value is ',unf_recl<br>
  if (unf_recl <= 0) call errore ('diropn', 'wrong record length', 3)<br>...<br><br>After this change the last lines of my ph.out file is:<br><br>...<br>     Representation   292      1 modes - To be done<br>

<br>     Representation   293      1 modes - To be done<br>
<br>     Representation   294      1 modes - To be done<br>the extension value is wfc<br>the DIRECT_IO_FACTOR value is            8<br>the recl value is     41634666<br>the unf_recl value is    333077328<br>the extension value is bar<br>

the DIRECT_IO_FACTOR value is            8<br>the recl value is     41634666<br>the unf_recl value is    333077328<br>the extension value is dwf<br>the DIRECT_IO_FACTOR value is            8<br>the recl value is     41634666<br>

the unf_recl value is    333077328<br>the extension value is prd<br>the DIRECT_IO_FACTOR value is            8<br>the recl value is      5184000<br>the unf_recl value is     41472000<br>the extension value is com<br>the DIRECT_IO_FACTOR value is            8<br>

the recl value is     41634666<br>the unf_recl value is    333077328<br>the extension value is dvkb3<br>the DIRECT_IO_FACTOR value is            8<br>the recl value is    355119210<br>the unf_recl value is  -1454013616<br>


<br>%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%<br>     from diropn : error #         3<br>     wrong record length<br>%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%<br>
<br>     stopping ...<br><br>Well, as already discussed in this list, the problem can be related to the default 32 bits integer size when I compile PWscf with ifort... then I'm compiling PWscf with MPI support and if I set FFLAGS in my make.sys like this:<br>

<br>FFLAGS         = -i8 -integer-size 64 -O2 -assume byterecl -xHost<br><br clear="all">I get the error when I run any calculation with ph.x or pw.x:<br><br>*** error in Message Passing (mp) module ***<br>*** error msg:                                                              <br>
*** error code:  8066<br>[xeonquad02:24463] MPI_ABORT invoked on rank 0 in communicator MPI_COMM_WORLD with errorcode 8066<br><br>Please, anybody can help me? If I compile with FFLAGS without "-i8 -integer-size 64" pw.x and ph.x run ok.<br>
<br>Thank you very much!!!<br>
<br>-- <br><a href="http://lattes.cnpq.br/8221674673413336" target="_blank">http://lattes.cnpq.br/8221674673413336</a><br>