Compilation aborted with no error message

Hello.
I’m using pvf 13.10, win7.
Building of my application finishes with an error. It fails on the following source:

module gui_support
        implicit none
	    save
		Integer :: id_lab_step_indicator
		Integer :: ID_BOX_SPECTOR_WHERE,ID_TXT_BLOCKNR,img,ID_TXT1
		Integer :: ID_BUT_FIELDE21, ID_BUT_FIELDE22, ID_BUT_FIELDE23
		Integer :: ID_TXT_PSORT, ID_PROGRESS, id_txt_graf_scale
		Integer :: id_but_do_round, ID_EXT_FLD_1,ID_EXT_FLD_2, id_close_on_job_finish
		Integer :: id_txt_transparency
		Integer :: ID_EXT_FLD_2D_1, ID_EXT_FLD_2D_2
		Integer :: ID_BUT_EQUIPOTEN2, ID_BUT_POTEN2
		Integer :: id_but_equi_color,ID_BOUNDARY_COLOR
		Integer :: id_but_equi_draw_ext, id_but_equi_draw_beam
		Integer :: ID_TXT9, ID_TXT10
		Integer :: ID_BUT_TIM_SPCHARGE,ID_BUT_COMP_CHARGE
		Integer :: ID_COMMON_LEFT, ID_COMMON_RIGHT
		Integer :: ID_BUT_EMITTANCE
		Integer :: common_step_number = 1
		Integer :: common_navigation_id = 0
		logical :: l_initialized
		character (LEN=30) :: namex,namey
		logical :: batch_mode = .false.
        logical :: working = .false.
		external sub_common_graf_step, set_progress_bar

contains

    logical function GetIfDoRound
	  integer :: i
	  call GWGBUT(id_but_do_round,i)
	  GetIfDoRound = i.eq.1
	end function
	!--------------------------------------
	Integer function GetKolMoment1
	  use nakop
	  integer :: kol_moment1
        CALL GWGINT (ID_TXT1,kol_moment1)
        if(kol_moment1.EQ.0.or.kol_moment1.gt.kol_moment.or.kol_moment1.gt.kol_moment_max) then
          call SWGTXT (ID_TXT1, '???')
          print*,'kol_moment1 > kol_moment'
          GetKolMoment1=0
        else
		  GetKolMoment1=kol_moment1
        end if 
	  end function
   !--------------------------------------- 
   Integer function MoveStepLeft(nt)
	  integer :: nt, n_step, kol_moment1, i
	    kol_moment1 = GetKolMoment1()
	    if(kol_moment1.eq.0) then
		  MoveStepLeft=0
		  return
		endif
        CALL GWGINT (ID_TXT10,n_step)
		i = nt - n_step
		if(i.le.0) i = kol_moment1 + i
        MoveStepLeft=i
      end function

	Integer function MoveStepRight(nt)
	  integer :: nt, n_ini, n_step, kol_moment1
	    kol_moment1 = GetKolMoment1()
	    if(kol_moment1.eq.0) then
		  MoveStepRight=0
		  return
		endif
        CALL GWGINT (ID_TXT9,n_ini)
        CALL GWGINT (ID_TXT10,n_step)
        if(nt+n_step.LE.kol_moment1) then
          MoveStepRight=nt+n_step
        else
          MoveStepRight=n_ini
        end if 
	  end function

	  integer function GetMovedNt(id, id_left, id_cent, id_right,nt)
		integer :: id,id_left,id_cent,id_right,nt,n_ini
		if(id.eq.id_left) then
	      GetMovedNt = MoveStepLeft(nt)
		elseif(id.eq.id_cent) then  
	      CALL GWGINT (ID_TXT9,n_ini)
          GetMovedNt=n_ini
		elseif(id.eq.id_right) then  
	      GetMovedNt = MoveStepRight(nt)
		else
		  GetMovedNt = 0
		endif
	  end function
!------------------------------
	  subroutine sub_common_graf_step(id)
	    use nakop
		integer :: id,is
		if((id.ne.ID_COMMON_LEFT).and.(id.ne.ID_COMMON_RIGHT).and.(id.ne.0)) common_navigation_id = id
		if(common_navigation_id.eq.0) return
		common_step_number = GetMovedNt(id, ID_COMMON_LEFT, common_navigation_id, ID_COMMON_RIGHT, common_step_number)
		if(common_step_number.eq.0) return
		if(common_navigation_id.eq.ID_BUT_COMP_CHARGE) then
		  call sub_composite_charge(common_step_number)
		elseif(common_navigation_id.eq.ID_BUT_TIM_SPCHARGE) then
		  CALL GWGINT (ID_TXT_PSORT, is)
		  if(saved_particles_count(is,common_step_number).eq.0) then
		    call dwgmsg('Нет частиц')
		  else
		    img = 13
		    call sub_tim_spacecharge(common_step_number,is)
			img = 0
          endif
		elseif(common_navigation_id.eq.ID_BUT_EQUIPOTEN2) then
		  call sub_equipoten(common_step_number)
		elseif(common_navigation_id.eq.ID_BUT_POTEN2) then
          img=11 
	      call sub_poten2(common_step_number)
		endif
	  end
!-------------------------------------------------------------------------------

!  положения частиц
 
      subroutine sub_tim_spacecharge(nt,is)
      use nakop
	  use spacecharge
      use vlsprm        
      real :: XRAY(saved_particles_count(is,nt)),Y1RAY(saved_particles_count(is,nt))
	  integer,intent(in) :: nt, is
	    if((nt.eq.0).or.(is.eq.0)) return

        XRAY= saved_particles_all_steps(is,nt)%P(:,1)
        Y1RAY=saved_particles_all_steps(is,nt)%P(:,2)

        call risovanie(XRAY,Y1RAY,saved_particles_count(is,nt), nt)
      end 
!-------------------------------------------------------------------------------
	  subroutine sub_equipoten(nt)
	    use SYS
	    use graphic
		use nakop
		use fldat  
	    implicit none
		Integer :: iii, draw_ext_fld, draw_beam_fld
		Type(GraphicDescriptor) :: gd
		integer,intent(in) :: nt
		call setup_potential_plot(gd, nt)
		gd%Title(1) = 'Contour Plot'
		gd%Title(2) = ''
		gd%Title(3) = 'Potential distribution'
		gd%filename = 'potential.tiff'
		call GWGBUT(id_but_equi_color,iii)
		if(iii.eq.1) then
		  CALL GRAFIC_COLOR(gd, .true.)
		else
		  CALL GRAFIC_POTENTIAL_LINE(gd)
		endif
	  end subroutine
!--------------------------
	  subroutine setup_potential_plot(gd, nt)
	    use SYS
	    use nakop
		use fldat
		use graphic
		Integer :: draw_ext_fld, draw_beam_fld, nt
	    Type(GraphicDescriptor), intent(out) :: gd
		character (len=10) :: c
        call gwgbut(id_but_equi_draw_ext, draw_ext_fld)
		call gwgbut(id_but_equi_draw_beam, draw_beam_fld)
		gd%Title(4) = ''
  	    if(draw_beam_fld.eq.1) then
		  call int_to_string(nt,c)		  
		  fmatrix=E0_NAKOP(:,:,nt)
		  gd%Title(4) = 'step '//trim(c)
        else
		  fmatrix = 0
		endif
		if(draw_ext_fld.eq.1) fmatrix=fmatrix+EXTERNAL_POTENTIAL

		gd%A => fmatrix
		gd%N = KK1-1
		gd%M = KK2-1
		gd%VMAX = MAXVAL(fmatrix)
		gd%VMIN = MINVAL(fmatrix)
	  end subroutine
      subroutine set_progress_bar(step)
	    use SYS
	    integer :: step
		character(len=7) :: c1,c2
		call intcha(step, sizeof(c1), c1)
		call intcha(mouter,sizeof(c2),c2)
		call SWGTXT(id_lab_step_indicator, trim(c1)//'/'//trim(c2))
		call SWGVAL(ID_PROGRESS, 10+float(step)/float(MOUTER)*89.0)
	  end subroutine
!--------------------------------
      subroutine get_block_sort_input(block_id, is)
	    use vldat
	    integer :: isel
		integer, intent(out) :: block_id,is
		CALL GWGBOX(ID_BOX_SPECTOR_WHERE, ISEL)
		select case(ISEL)
		case(3)
		  call gwgint(ID_TXT_BLOCKNR,block_id)
		case(2)
		  block_id = RP_LEFT_BORDER
		case(1)
		  block_id = RP_RIGHT_BORDER
		case default
		  block_id = 0
		end select
		call gwgint(ID_TXT_PSORT,is)
	  end subroutine
end module

Compiler invocation done by Visual studio is something like

pgf95 -Hx,123,8 -Hx,123,0x40000 -Hx,0,0x40000000 -Mx,0,0x40000000 -Hx,0,0x20000000 -g -Bstatic -Mbackslash -Mfree -I"G:\varnin\suma_dev\vcproj\suma…\libsuma" -I"g:\program files\pgi\win64\13.10\include" -I"G:\Program Files\PGI\Microsoft Open Tools 11\include" -I"G:\Program Files (x86)\Windows Kits\8.0\Include\shared" -I"G:\Program Files (x86)\Windows Kits\8.0\Include\um" -Minform=warn -Mprof=noccff -o “x64\Debug\gui_support.obj” -Mlarge_arrays -Minfo -c test.f95

And the command output is:

PGF90/x86-64 Windows 13.10-0: compilation aborted

So I can’t even understand, if it is my mistake, or compiler error.

Seem to related with some module dependence and lack of modules. But why does compiler say nothing about why does compile failed?

Hi Senya,

I put your source into a new project and built. In the Output window, I see this information:

PGF90/x86 Windows 13.10-0: compilation aborted
Module not found while generating build dependencies; will retry ConsoleApp.f90
ConsoleApp.f90
C:\tmp\PVFProject1\PVFProject1\ConsoleApp.f90(56) : error F0004 : Unable to open MODULE file nakop.mod

The source includes ‘use nakop’ but it is not defined in what you included in this post.

The Error List shows a similar error. Both Error List and the Output tabs can be opened from the View menu.

Are you seeing something different?

Yes, I don’t see errors on lack of modules.
The only output string of compiler is

PGF90/x86-64 Windows 13.10-0: compilation aborted

Which makes hard to understand what happened.

Try to put my source to file test.f95 and build it from command line with command I wrote in my first post:

pgf95 -Hx,123,8 -Hx,123,0x40000 -Hx,0,0x40000000 -Mx,0,0x40000000 -Hx,0,0x20000000 -g -Bstatic -Mbackslash -Mfree -I"G:\varnin\suma_dev\vcproj\suma…\libsuma" -I"g:\program files\pgi\win64\13.10\include" -I"G:\Program Files\PGI\Microsoft Open Tools 11\include" -I"G:\Program Files (x86)\Windows Kits\8.0\Include\shared" -I"G:\Program Files (x86)\Windows Kits\8.0\Include\um" -Minform=warn -Mprof=noccff -o “x64\Debug\gui_support.obj” -Mlarge_arrays -Minfo -c test.f95

What will you see?