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

IVF 12.0 Compiler Error when '-check all' used with character substring asignment

xin_xu
Beginner
382 Views
I started to use the IVF 12.0 on Linux today to compile my fortran programs. I met the following error:

=======================================

[xxu2@dlxlogin1 test]$ make
ifort -c -g -check all test.F90
0_12307

warning #13003: message verification failed for: 5623; reverting to internal message
warning #13003: message verification failed for: 5623; reverting to internal message
: catastrophic error: **Internal compiler error: internal abort** Please report this error along with the circumstances in which it occurred in a Software Problem Report. Note: File and line given may not be explicit cause of this error.
compilation aborted for test.F90 (code 1)
make: *** [all] Error 1
[xxu2@dlxlogin1 test]$


===================================

The problem will go away if I don't use '-check all' option.
The source code contains a line that asigning a character substring a new value: string(1:1) = 'c'. Without this asignment, the compiler error will go away. Here is the test code:

! test.F90
program main
character(2) :: string
character(1) :: c

c = 'a'
string(1:1) = c !this is the problem line
end

Here is the compile line:

ifort -c -g -check all test.F90

Thanks in advance for any help!

Xin

0 Kudos
9 Replies
Steven_L_Intel1
Employee
382 Views
Would you please show the output of "ifort -V" ? Thanks.
0 Kudos
Ron_Green
Moderator
382 Views
Xin,

I have tested this code will all versions of the 12.0 compiler. It compiles without error and without warnings for me.

What version of the compiler are you using? ifort -V

The message catalog errors may indicate that you are using a non-English LOCALE for your linux - if so, to what language have you set your system?

Can you attach the file to this issue? Perhaps the code you have has non-visible characters in the file. Can you create a new file, cut and paste the code from above, and try again?

And you do 'source /compilervars.sh intel64' command to set up the compiler?

ron
0 Kudos
xin_xu
Beginner
382 Views
Steve and Ron,

Thanks for your reply! here is the ifort -V message:

[xxu2@dlxlogin1 test]$ ifort -V
Intel Fortran Intel 64 Compiler XE for applications running on Intel 64, Version 12.0.3.174 Build 20110309
Copyright (C) 1985-2011 Intel Corporation. All rights reserved.

I opened up a new file with 'vim test1.F90' then type in the test code and save it. The same compilation error accurs for me. Here is what 'locale' returns:

[xxu2@dlxlogin1 test]$ locale
LANG=en_US.iso885915
LC_CTYPE="en_US.iso885915"
LC_NUMERIC="en_US.iso885915"
LC_TIME="en_US.iso885915"
LC_COLLATE="en_US.iso885915"
LC_MONETARY="en_US.iso885915"
LC_MESSAGES="en_US.iso885915"
LC_PAPER="en_US.iso885915"
LC_NAME="en_US.iso885915"
LC_ADDRESS="en_US.iso885915"
LC_TELEPHONE="en_US.iso885915"
LC_MEASUREMENT="en_US.iso885915"
LC_IDENTIFICATION="en_US.iso885915"
LC_ALL=

I don't know how the compiler is setup. It is done by our system administrator. I could refer this thread to him and ask for his help on that.

Regards,
Xin
0 Kudos
xin_xu
Beginner
382 Views
Here are the files.
Thanks!
Xin
0 Kudos
Steven_L_Intel1
Employee
382 Views
Hmm - not seeing it. Can you run the commands exactly as I have them below (you can use test.f90 as the name) and show the output?

[sblionel@f90srv34 ~/project]$ cat t.f90
program main
character(2) :: string
character(1) :: c

c = 'a'
string(1:1) = c !this is the problem line
end
[sblionel@f90srv34 ~/project]$ ifort -c -g -check all t.f90
[sblionel@f90srv34 ~/project]$ ifort -V t.f90
Intel Fortran Intel 64 Compiler XE for applications running on Intel 64, Version 12.0.3.174 Build 20110309
Copyright (C) 1985-2011 Intel Corporation. All rights reserved.

Intel Fortran 12.0-1291
GNU ld version 2.15.92.0.2 20040927
[sblionel@f90srv34 ~/project]$

0 Kudos
xin_xu
Beginner
382 Views
Problem solved!

Our system administrator identified a precedence confilict with the locale string between the new 12.x and the old 11.x versions.

Thanks again for all the valuable comments!

BTW, I want to abuse here a little bit by redirecting to another thread that I created but have no response yet. Sorry for my selfishness!

subject: Stream IO returns wrong file position
http://software.intel.com/en-us/forums/showthread.php?t=82113

Regards,
Xin
0 Kudos
Steven_L_Intel1
Employee
382 Views
Interesting. Can you elaborate on this conflict? It may be something we want to look at.

I'll take a look at your other thread.
0 Kudos
xin_xu
Beginner
382 Views
I forwarded your question to our system administrator who resolved this issue and here I quote what he said:
"In the NLSPATH env var, defined in our own env module, we were picking up the previous 11.x locale string before the new 12.x string."

I don't realy understand what this means. But it sounds like the problem is due to our system setup. Hope this helps.

Regards,
Xin
0 Kudos
Steven_L_Intel1
Employee
382 Views
It does, thanks.
0 Kudos
Reply