Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
29293 Discussions

Error #6401 After Just a Change of Versions

Clay_N_
Beginner
2,360 Views
 
 

I am just starting to work with a program, XLTRC2, for my research at Texas A&M. I am using Visual Studio Professional 2013 with the Intel 2013 Fortran compiler including the IMSL package. Upon trying to run the exact same project that works for my co-workers I am getting the error message "error #6401: The attributes of this name conflict with those made accessible by a USE Statement.[Variable ex: LOGFIL] ; File: arnoldi-debug-h.f90" for a group of variables in my code. They are not receiving the same error messages when they run the project on Visual Studio Professional 2012.

If I comment out the USE statement for the IMSL_LIBRARIES the error message changes to "error #6404: This name does not have a type, and must have an explicit type. [N1RTY] ; File: Arnoldi.f90" Which I am guessing is because N1RTY is defined in IMSL_LIBRARIES.

Could something in the new IMSL libraries be interfering with the common variables in the project? Or do I have a setting wrong?

The code outline giving the issue is

----Arnoldi.f90------

USE ...

USE IMSL_LIBRARIES

...

include 'arnoldi-debug-h.f90'

 ndigit = -3
 logfil = 6
 mnaitr = 0
 mnapps = 0
 mnaupd = 0       ! 1 for output, 0 to suppress output  
 mnaup2 = 0
 mneigh = 0
 mneupd = 0
  nwarnings= 0

...

...

...

---------End of Arnoldi.f90-----------------

-------arnoldi-debug-h.f90'-----------

      integer    logfil, ndigit, mgetv0,                                    &
                msaupd, msaup2, msaitr, mseigt, msapps, msgets, mseupd,    &
                mnaupd, mnaup2, mnaitr, mneigh, mnapps, mngets, mneupd,    &
                mcaupd, mcaup2, mcaitr, mceigh, mcapps, mcgets, mceupd
      common /debug/                                                    &
                logfil, ndigit, mgetv0,                                    &
                msaupd, msaup2, msaitr, mseigt, msapps, msgets, mseupd,    &
                  mnaupd, mnaup2, mnaitr, mneigh, mnapps, mngets, mneupd,    &
                mcaupd, mcaup2, mcaitr, mceigh, mcapps, mcgets, mceupd

-------end arnoldi-debug-h.f90----------------

Thanks for any information possible!

Clay Norrbin

 

 
0 Kudos
1 Solution
mecej4
Honored Contributor III
2,360 Views

Your co-workers could be using different versions of IMSL and the compiler. Either change the name of your variable LOGFIL, or modify the USE statement to avoid the name clash:

     USE IMSL_LIBRARIES, XCEPT=>LOGFIL

where XCEPT is a name that has not been used in the the subprogram.

Alternatively, you can USE only the symbols needed; for example:

    USE IMSL_LIBRARIES, ONLY : N1RTY

 

View solution in original post

0 Kudos
9 Replies
mecej4
Honored Contributor III
2,361 Views

Your co-workers could be using different versions of IMSL and the compiler. Either change the name of your variable LOGFIL, or modify the USE statement to avoid the name clash:

     USE IMSL_LIBRARIES, XCEPT=>LOGFIL

where XCEPT is a name that has not been used in the the subprogram.

Alternatively, you can USE only the symbols needed; for example:

    USE IMSL_LIBRARIES, ONLY : N1RTY

 

0 Kudos
Clay_N_
Beginner
2,360 Views

Thanks mecej4,

I changed the code to USE IMSL_LIBRARIES, ONLY : N1RTY which it now compiles without any errors. It still is having some problems with running though. At this time, I don't know if the code not running has anything to do with the change or not.

0 Kudos
Steven_L_Intel1
Employee
2,360 Views

The new IMSL doesn't declare a name LOGFIL. mecej4's suggestion of using ONLY is a good idea, but if it doesn't help then there's another problem. Try doing a Build > Rebuild of your program and see if the problem remains.

0 Kudos
Clay_N_
Beginner
2,360 Views

Sorry Steve Lionel,

In my last post I stated it compiled without errors, I meant it was built without errors. I am only trying to debug the code, not compile it.

The ONLY idea worked and got rid of all the build errors. I am currently trying to figure out why it is crashing while debugging. It might be completely unrelated to my previous problem though.

Thanks for your help.

Clay Norrbin

0 Kudos
Steven_L_Intel1
Employee
2,360 Views

Error 6401 is a compile error, so you didn't see that just by rerunning the same executable. You had to recompile/rebuild the program to see that error - you didn't even get as far as creating an executable.

0 Kudos
Clay_N_
Beginner
2,360 Views

With changing the statement from USE IMSL_LIBRARIES to USE IMSL_LIBRARIES, ONLY : N1RTY it goes all the way to an executable that I can run debug mode on. Again this means the error #6401 is gone which is good. I still do not understand why it works, or if it is going to create problems with the code.

Thanks,

Clay Norrbin

0 Kudos
mecej4
Honored Contributor III
2,360 Views

Steve Lionel (Intel) wrote:
The new IMSL doesn't declare a name LOGFIL (in #4).

Steve, some distributions of IMSL-FNL-7 contain the variable LOGFIL in module files ARPACK_INCLUDES.mod and IMSL_LIBRARIES.mod, but not in NUMERICAL_LIBRARIES.mod. If this is also true of the recently released Intel distribution of FNL-7, changing "USE IMSL_LIBRARIES" to "USE NUMERICAL_LIBRARIES" in the example posted by Clay Norrbin may be a solution. It is not clear which version of IMSL it was that he used.

0 Kudos
Steven_L_Intel1
Employee
2,359 Views

The IMSL7 we distribute does not incude a LOGFIL declaration.

0 Kudos
Clay_N_
Beginner
2,359 Views

Hi Everyone,

The problem was resolved completely by switching back to IMSL 6.0.

Even with using "USE NUMERICAL_LIBRARIES" there were still some faults with running the code. However, changing from IMSL 7.0 to IMSL 6.0 fixed everything.

Thanks for your help,

Clay Norrbin

0 Kudos
Reply