You are hereForums / DIANA / User Supplied Subroutine

User Supplied Subroutine


By bsarrafi - Posted on 24 October 2009

I read the manual "Working with user-supplied subroutines" and followed the Question and Answer part (for Windows). There is a small program for checking the system. I found an error during running this small example:

..."Fatal error cannot open "MSVCRT"
ifort: error: problem during multi-file optimization compilation (code 1)
rcsmake: *** [nl41.exe] Error 1
rcscat UM_ap_nl41 ...
Diana abort routine called
SEGPATH extended to ...
Make segment failed
Trying to close things.

Would you please help me in this regard?

Tags

Hi there,
 
I last used uss in 2007 and I forgot rhe installation steps to use uss.
So I have formatted my PC and installed Diana 9.3 (full installation). Now can you help me with the further steps in order to get uss working?
 
Thanks in advance
 
Carlos Moreno

In order to get USS working, please refer to the following link: http://tnodiana.com/upload/files/multi/USS_DIANA_9.pdf
I hope it helps.
Jean-Claude Bauruelle

Jean Claude mentioned you are using a unsupported platform. I do not think this is a good thing to do but I don't think this is the cause of the problem.

I think the LIB variable in the command box does not contain the correct paths. My first guess is that the Visual Studio environment variables are not available. When I start a command box I see this:

Intel(R) Visual Fortran Compiler 9.1.037 Build Environment for 32-bit applications
Copyright (C) 1985-2007 Intel Corporation. All rights reserved.

Setting environment for using Microsoft Visual Studio .NET 2003 tools.
(If you have another version of Visual Studio or Visual C++ installed and wish
to use its tools from the command line, run vcvars32.bat for that version.)

MKS toolkit found on D:/mks
              +------------------+
              | Welcome to DIANA |
              | Release 9.2      |
              +------------------+

And when I run the command set LIB I see this:

>set LIB
LIB=D:\diana92\lib;D:\Femgv7\lib;c:\Qt\3326ED~1.8\lib;C:\PROGRA~1\Intel\Compiler
\Fortran\9.1\Ia32\Lib;C:\PROGRA~1\MICROS~1.NET\VC7\ATLMFC\LIB;C:\PROGRA~1\MICROS
~1.NET\VC7\LIB;C:\PROGRA~1\MICROS~1.NET\VC7\PLATFO~1\lib;C:\PROGRA~1\MICROS~1.NE
T\SDK\v1.1\lib;C:\PROGRA~1\Intel\MKL\1003~1.021\ia32\lib;C:\Dev\Intel\CMKL\91A81
A~1.026\ia32\lib;C:\PROGRA~1\Intel\Compiler\Fortran\9.1\IA32\Lib

I have the feeling this part in LIB might be missing when you run the set LIB command in the command box:

C:\PROGRA~1\MICROS~1.NET\VC7\ATLMFC\LIB;C:\PROGRA~1\MICROS
~1.NET\VC7\LIB;C:\PROGRA~1\MICROS~1.NET\VC7\PLATFO~1\lib;C:\PROGRA~1\MICROS~1.NE
T\SDK\v1.1\lib

If so, run the vcvars32.bat file in the DIANA Command Box and try again. vcvars32.bat can be found in you Visual Studio install dir. Something like: C:\PROGRA~1\MICROS~1.NET\Common7\Tools\vsvars32.bat. In the majority of cases vcvars32.bat is run automatically when the fortran compiler is activated by running C:\Program Files\Intel\Compiler\Fortran\9.1\IA32\Bin\IFortVars.bat.

Thank you so much. It works!
Just one error remains during the run:
after line: BINSEG set to "."
four error lines: rcsmake: *** File '...\Temp\UMa02620' has modification time in future
                             rcsmake:  Failed to remake mekefile '...\Temp\UMa02620'
                             rcsmake: *** File '...\Temp\UMa02620' has modification time in future
                             rcsmake:  Failed to remake mekefile '...\Temp\UMa02620'
dcfcd -c -MD ...
                              

rcsmake always checks the file dates of sources, objects, etc to see what work still needs to be done. For example, if you did not change the fortran code after a previous analysis with this same user supplied subroutine, the object will not be updated and possibly the executable is not updated either. In your case rcsmake has detected a file with a creation or modification date in the future which is strange of course and presents a warning because it is not sure your executable will be as you intended.
 
I have had this problem too. In my case the files where stored on a file server and the time of my workstation and the file server where not synchrinized. My workstation was a bit behind compared to the time on the file server. What happened was that the rcsmake program on the workstation created a makefile (like your UMa02620) on the file server and inmmediately after started to use it for building the modified executable needed for the analysis. The creation time of the makefile was then checked against the local time on the system resulting in the error message you also had. Synchronizing the time on both systems solved the problem. On company networks you might need to consult a sysadmin to sync the time between the systems.

Diana 9.2 has been build using the Intel Visual Fortran compiler 9.1.037.
On your machine you have an older version (9.0.024). This version is not supported.
You might consider upgrading to 9.1.037 version.

Unfortunately you did not include information like the DIANA version/diadate, compiler version and operating system. This makes it very hard to provide a proper answer. I guess TNO DIANA Support will ask you the same thing if you would ask them. I checked the intel forum and found this: http://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/56537. It suggests to upgrade the compiler to at least version 10.1.007. Hope this helps.

 

Thank you for your answer, I use DIANA v9.2, my OS is Windows XP and Fortran 77 compiler.
I found similar errors with newer versions of compiler.

Which version of Microsoft Visual Studio and Intel Fortran are you using?

Tommy,
It seems like you where going to attempt to reproduce the problem using the same compiler version as this user. Did you do so and if so, what was the result?

I have installed Microsoft Visual Studio .NET 2003 with Intel Fortran compiler version 9.