Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

Always recompiling

mftech
Beginner
2,368 Views
Hello,
i have a complex Fortran project, held within the Visual Studio.Net 2003 IDE. Any time i want to debug/start the
app, the whole source files are being recompiled again whether i changed anything or not.

If i create a simple test project, the problem does not come up on my machine.

Any help would be appreciated !

Regards
Chris
0 Kudos
16 Replies
tmcole
Beginner
2,368 Views
Chris,

I had a similar problem and tracked it down to the fact that I had all my modules defined in one file with the exception of one that was in another file. This caused the dependency analyzer to throw its hands up and recompile all the files. Try putting all module definitions into one file, particularly if a module is reported as out of date when it wants to recompile.
0 Kudos
mftech
Beginner
2,368 Views
The project has alot of modules, i cannot change this.

However, in Debug mode i've found the following out:

If i load Visual Studio.Net and start Building for Debug/Release, the IDE
states, that the project files have changed. I select "Yes, Rebuild" and all source files are getting compiled & linked.
But each next time i start Building, VS again states that the project files have changed, but only the link process is being initiated then.

If i restart Visual Studio, all files getting compiled & linked again.

I have not changed the source code, so the files do definitely not need to be recompiled and linked either.

Any help is appreciated
Chris
0 Kudos
durisinm
Novice
2,368 Views
I seem to remember having the same problem once, and I thought that Steve Lionel suggested that I delete the .PLG and .OPT files. That worked; however, I wanted to confirm this by finding the post with a search through the forum and was unable to do so.

You could try this by renaming or moving your .PLG and .OPT files instead of deleting them to see if it solves your problem. If it doesn't, then just restore your files and you'll be no worse off.

Mike
0 Kudos
Intel_C_Intel
Employee
2,368 Views
what about deleting debug document in the project?
0 Kudos
mftech
Beginner
2,368 Views
Sorry to ask,
but i've never seen any .PLG, .OPT or 'debug documents'. How exactly is that meant ?

Thanks
Chris
0 Kudos
Steven_L_Intel1
Employee
2,368 Views
The .PLG is the project log, and deleting this should have no effect. The .OPT contains project options such as debug breakpoints and window configuration, and while deleting it can solve certain problems (usually an access violation in DFDEV.EXE), it won't affect recompilation order.

I usually recommend Build..Update All Dependencies.

Steve
0 Kudos
mftech
Beginner
2,368 Views
In Visual Studio.Net i cannot find any of these files/options.

Chris
0 Kudos
invariant-invariant
2,368 Views
Hello.
It seems to me that this is a very common problem. We have Microsoft Visual Studio.NET 2003 with 20 Microsoft C++ projects and 3 Intel Visual Fortran (IVF) 8.0 projects. For some reason, the fortran projects are being rebuild every time, even if no changes are made.
I would very much appreciate a step-by-step easy-to-understand recipe thatcan explian how I should avoid this problem. It is a little annoying as we havenow bought 15 licenses of IVF 80 and it Iget some comments why this happens all the time.
Best regrds,
Lars Petter Endresen
0 Kudos
Steven_L_Intel1
Employee
2,368 Views
The advice about .PLG and .OPT files applies to CVF only, not Intel Visual Fortran.
If you're having problems with whole projects rebuilding instead of the minimal changes, first look to see if the sources are on a network share - sometimes time skew across systems can cause this problem.
If the problem persists, and you have a current version installed, please submit a sample "solution" in a ZIP file to Intel Support and we'll take a look.
0 Kudos
invariant-invariant
2,368 Views

Hello.

I have found the origin of the problem.

Intel Visual Fortran 8.0 (w_fc_p_8.0.035) always recompilesany Fortran source code filelarger than around 20 kB (actuallythe exact limit may varydepending of the content or other thingsI think).This I know because the Fortran projects that contain small source code files are never recompiled if nothing is changed. I have also tried to make the source code file systematically smaller, and found that recompilation is not being done when the file is small enough (20 kB +/- 10 kB).

Maybe this is fixed in the new release w_fc_p_8.0.042 ?

Best wishes

Lars Petter Endresen

0 Kudos
Steven_L_Intel1
Employee
2,368 Views
I have not seen such a symptom reported. Please file a report with Intel Support and include an example so that it can be investigated. Offhand, I can't imagine why a test on source size would be there.
0 Kudos
invariant-invariant
2,368 Views
Hello.
Our source code is not public domain, and it is a little difficult to generate at 20 kB source code file on the fly.
To me it seems that this may be related to the intermediate Fortran files that is stored in .../Local Settings/Temp/ folder.
I hope this is resolved in the next release.
Best wishes
Lars Petter Endresen
0 Kudos
Steven_L_Intel1
Employee
2,368 Views
The build dependency analyzer doesn't look at the temp files. If nobody reports the problem and supplies a way to reproduce it, it's unlikely to get fixed. My own guess is that your assumption as to the cause of the problem is incorrect, but without a reproducer being submitted, it's not going to be investigated.
0 Kudos
invariant-invariant
2,368 Views

This happens over and over again. The forst time, when no object files exist, pressing F7 recompiles all files. The second time F7 is pressed, only the largest files are recompiled. This happens for 3 different users and 3 different projects.

Lars Petter

------ Build started: Project: PR1, Configuration: Debug|Win32 ------

Deleting intermediate files and output files for project 'PR1', configuration 'Debug|Win32'.
Compiling...
ifort /nologo /Zi /Od /QaxW /QxW /fpp /define:IFORTWIN32 /free /fpconstant /iface:cvf /module:"Debug/" /object:"Debug/" /asmattr:source /asmfile:"Debug/" /traceback /check:bounds /libs:static /threads /dbglibs /libdir:noauto /c /extfor:f C:lpeFLOWMODELOLGAf.f
ifort /nologo /Zi /Od /QaxW /QxW /fpp /define:IFORTWIN32 /free /fpconstant /iface:cvf /module:"Debug/" /object:"Debug/" /asmattr:source /asmfile:"Debug/" /traceback /check:bounds /libs:static /threads /dbglibs /libdir:noauto /c /extfor:f C:lpeFLOWMODELOLGAg.f
ifort /nologo /Zi /Od /QaxW /QxW /fpp /define:IFORTWIN32 /free /fpconstant /iface:cvf /module:"Debug/" /object:"Debug/" /asmattr:source /asmfile:"Debug/" /traceback /check:bounds /libs:static /threads /dbglibs /libdir:noauto /c /extfor:f C:lpeFLOWMODELOLGAh.f
ifort /nologo /Zi /Od /QaxW /QxW /fpp /define:IFORTWIN32 /free /fpconstant /iface:cvf /module:"Debug/" /object:"Debug/" /asmattr:source /asmfile:"Debug/" /traceback /check:bounds /libs:static /threads /dbglibs /libdir:noauto /c /extfor:f C:lpeFLOWMODELOLGAi.f
ifort /nologo /Zi /Od /QaxW /QxW /fpp /define:IFORTWIN32 /free /fpconstant /iface:cvf /module:"Debug/" /object:"Debug/" /asmattr:source /asmfile:"Debug/" /traceback /check:bounds /libs:static /threads /dbglibs /libdir:noauto /c /extfor:f C:lpeFLOWMODELOLGAj.f
ifort /nologo /Zi /Od /QaxW /QxW /fpp /define:IFORTWIN32 /free /fpconstant /iface:cvf /module:"Debug/" /object:"Debug/" /asmattr:source /asmfile:"Debug/" /traceback /check:bounds /libs:static /threads /dbglibs /libdir:noauto /c /extfor:f C:lpeFLOWMODELOLGAa.f
ifort /nologo /Zi /Od /QaxW /QxW /fpp /define:IFORTWIN32 /free /fpconstant /iface:cvf /module:"Debug/" /object:"Debug/" /asmattr:source /asmfile:"Debug/" /traceback /check:bounds /libs:static /threads /dbglibs /libdir:noauto /c /extfor:f C:lpeFLOWMODELOLGA.f
ifort /nologo /Zi /Od /QaxW /QxW /fpp /define:IFORTWIN32 /free /fpconstant /iface:cvf /module:"Debug/" /object:"Debug/" /asmattr:source /asmfile:"Debug/" /traceback /check:bounds /libs:static /threads /dbglibs /libdir:noauto /c /extfor:f C:lpeFLOWMODELOLGAc.f
ifort /nologo /Zi /Od /QaxW /QxW /fpp /define:IFORTWIN32 /free /fpconstant /iface:cvf /module:"Debug/" /object:"Debug/" /asmattr:source /asmfile:"Debug/" /traceback /check:bounds /libs:static /threads /dbglibs /libdir:noauto /c /extfor:f C:lpeFLOWMODELOLGAd.f
ifort /nologo /Zi /Od /QaxW /QxW /fpp /define:IFORTWIN32 /free /fpconstant /iface:cvf /module:"Debug/" /object:"Debug/" /asmattr:source /asmfile:"Debug/" /traceback /check:bounds /libs:static /threads /dbglibs /libdir:noauto /c /extfor:f C:lpeFLOWMODELOLGAe.f
Creating library...
Lib /OUT:"Debug/pr1.lib" /NOLOGO Debug/f.obj Debug/g.obj Debug/h.obj Debug/i.obj Debug/j.obj Debug/a.obj Debug/b.obj Debug/c.obj Debug/d.obj Debug/e.obj
xilib: executing 'lib'


PR1 build succeeded.

------ Build started: Project: PR1, Configuration: Debug|Win32 ------

Compiling...
ifort /nologo /Zi /Od /QaxW /QxW /fpp /define:IFORTWIN32 /free /fpconstant /iface:cvf /module:"Debug/" /object:"Debug/" /asmattr:source /asmfile:"Debug/" /traceback /check:bounds /libs:static /threads /dbglibs /libdir:noauto /c /extfor:f C:lpeFLOWMODELOLGAa.f
ifort /nologo /Zi /Od /QaxW /QxW /fpp /define:IFORTWIN32 /free /fpconstant /iface:cvf /module:"Debug/" /object:"Debug/" /asmattr:source /asmfile:"Debug/" /traceback /check:bounds /libs:static /threads /dbglibs /libdir:noauto /c /extfor:f C:lpeFLOWMODELOLGA.f
ifort /nologo /Zi /Od /QaxW /QxW /fpp /define:IFORTWIN32 /free /fpconstant /iface:cvf /module:"Debug/" /object:"Debug/" /asmattr:source /asmfile:"Debug/" /traceback /check:bounds /libs:static /threads /dbglibs /libdir:noauto /c /extfor:f C:lpeFLOWMODELOLGAc.f
ifort /nologo /Zi /Od /QaxW /QxW /fpp /define:IFORTWIN32 /free /fpconstant /iface:cvf /module:"Debug/" /object:"Debug/" /asmattr:source /asmfile:"Debug/" /traceback /check:bounds /libs:static /threads /dbglibs /libdir:noauto /c /extfor:f C:lpeFLOWMODELOLGAd.f
ifort /nologo /Zi /Od /QaxW /QxW /fpp /define:IFORTWIN32 /free /fpconstant /iface:cvf /module:"Debug/" /object:"Debug/" /asmattr:source /asmfile:"Debug/" /traceback /check:bounds /libs:static /threads /dbglibs /libdir:noauto /c /extfor:f C:lpeFLOWMODELOLGAe.f
Creating library...
Lib /OUT:"Debug/pr1.lib" /NOLOGO Debug/f.obj Debug/g.obj Debug/h.obj Debug/i.obj Debug/j.obj Debug/a.obj Debug/b.obj Debug/c.obj Debug/d.obj Debug/e.obj
xilib: executing 'lib'


PR1 build succeeded.

0 Kudos
Steven_L_Intel1
Employee
2,368 Views
Submit a sample to support please.
0 Kudos
invariant-invariant
2,368 Views

Hello.

I just wanted to say that I have submitted this problem to the Intelpremier support. Fortunately, the problem was not related to file size, but related to the combination of using the pre-processor and the use statement. The following code will enable the always recompiling problem in any project:

#ifdef FISH

use m_fish

#endif

Try to write this in a source code file and see what happens.Remember to compile with the /fpp switch. The "FISH" should not be defined, and the module m_fish should not exist.Every time you build or debug the solution Visual Studio complains that the file that contains the 3 lines above are out of date. We are using Microsoft Visual Studio .NET 2003 Enterprise Architect, Intel Visual Fortran 8.0 (version 0035) and Windows XP Professional on a Pentium 4 computer.

Lars Petter Endresen

0 Kudos
Reply