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

Trying to Update to 2016 version

GWats1
New Contributor I
1,254 Views

I have Intel Parallel Studio 2015 XE Composer Edition for Fortran Windows installed and downloaded the 2016 version and it takes forever to come to the welcome screen and then tells me it can't install and has the warning below:

 

 Intel® Visual Fortran Compiler will not work because none of the supported environments is found on your computer

Intel® Visual Fortran Compiler requires that Microsoft Visual Studio* / Microsoft Visual Studio Express Edition* 2010 (for IA-32 only), 2012, 2013, or 2015, or Microsoft Windows SDK* for Windows* 8.0, 8.1 should be already installed and none was found on your computer.

You can install a Fortran Integrated Development Environment (IDE) based on Microsoft Visual Studio 2013 Shell*. However, it requires that the Microsoft Windows SDK* for Windows* 8.1 should already be installed and it is not found on your system.

Visit Intel windows SDK for VS2013 Shell (https://software.intel.com/en-us/vs2013shell-windowssdk) for detailed instructions. After the SDK is installed, restart the Intel® Parallel Studio XE installation.

If you select 'Next', Intel® Visual Fortran Compiler will be installed but will not work.

Please refer to the Release Notes (https://software.intel.com/en-us/articles/intel-fortran-compiler-160-release-notes) for details.

 

What do I need to do to get the new 2016 version running or did I D/L the correct thing?

0 Kudos
1 Solution
Steven_L_Intel1
Employee
1,254 Views

You downloaded the correct file. The second and third warnings can be ignored.

I'm not sure what is happening here, but please follow the instructions in https://software.intel.com/en-us/vs2013shell-windowssdk and try the install again.

View solution in original post

0 Kudos
19 Replies
Steven_L_Intel1
Employee
1,254 Views

If you have the 2015 edition installed it should not have shown you this screen. Would I be correct in assuming that for the 2015 product you have the VS2010 Shell installed (and not a separately purchased VS)? What is the filename of the installer you downloaded?

0 Kudos
GWats1
New Contributor I
1,254 Views

I was leaving for the bus and had to hurry. I should have pasted the 3 warnings in the box:

 Intel® Visual Fortran Compiler will not work because none of the supported environments is found on your computer

Intel® Visual Fortran Compiler requires that Microsoft Visual Studio* / Microsoft Visual Studio Express Edition* 2010 (for IA-32 only), 2012, 2013, or 2015, or Microsoft Windows SDK* for Windows* 8.0, 8.1 should be already installed and none was found on your computer.

You can install a Fortran Integrated Development Environment (IDE) based on Microsoft Visual Studio 2013 Shell*. However, it requires that the Microsoft Windows SDK* for Windows* 8.1 should already be installed and it is not found on your system.

Visit Intel windows SDK for VS2013 Shell (https://software.intel.com/en-us/vs2013shell-windowssdk) for detailed instructions. After the SDK is installed, restart the Intel® Parallel Studio XE installation.

If you select 'Next', Intel® Visual Fortran Compiler will be installed but will not work.

Please refer to the Release Notes (https://software.intel.com/en-us/articles/intel-fortran-compiler-160-release-notes) for details.

 The Intel(R) Debugger Extension for Intel(R) MIC Architecture cannot be installed.

Installation can continue; however, Intel(R) Debugger Extension for Intel(R) MIC Architecture will not be installed because it requires that Microsoft Visual Studio* 2012, 2013 or 2015 be installed. Refer to the Release Notes for more details.

 Intel(R) Parallel Studio XE 2015 Composer Edition for Fortran Integration(s) in Microsoft Visual Studio* is already installed.

If you proceed to install, the Intel Parallel Studio XE 2015 Composer Edition for Fortran IDE integration(s) will be uninstalled and the Intel(R) Parallel Studio XE 2016 Update 1 Composer Edition for Fortran Windows* IDE integration will be installed. You will no longer be able to select 13.0 or older Intel Visual Fortran Compilers from the Visual Studio IDE. You will still be able to select 14.0 or newer Intel Visual Fortran Compilers if they are installed.

 

The name of the EXE I downloaded was:

parallel_studio_xe_2016_update1_composer_edition_for_fortran_setup.exe

This one seemed right for my prior installation and I got there when I saw I had an update available. I just renewed my support license today. I'm not sure what the MIC message is about but the 3rd message seems to say I have PS XE 2015 Composer Ed for Fort installed and it will be deleted.

I'm not sure what to do next. I'm home logged onto my work PC and will work on it tomorrow.

 

0 Kudos
Steven_L_Intel1
Employee
1,255 Views

You downloaded the correct file. The second and third warnings can be ignored.

I'm not sure what is happening here, but please follow the instructions in https://software.intel.com/en-us/vs2013shell-windowssdk and try the install again.

0 Kudos
GWats1
New Contributor I
1,254 Views

OK, I installed the SDK and restarted the install and it is gathering info now.

I thought I would ask a totally unrelated question while I wait.

I was working on an old program I wrote and wanted to skip a Call to a Subroutine if a condition was true. I put in an IF statement that looked like this:

IF(Name(1).NE. SKIP) Call Baseplate (x,y,z)

I kept getting compiler errors that it was expecting something. I switched to this:

IF(Name(1).EQ.SKIP) Go To 666

Call Baseplate (x,y,z)

666 Continue

This series of statements worked fine and compiled and the program runs fine.  I was just wondering why the IF(....) Call Sub did not work? Its been a long time since I wrote code and mainly just modify what I had done a long time ago.

0 Kudos
TimP
Honored Contributor III
1,254 Views

Maybe it didn't fit within columns 7 to 72

0 Kudos
GWats1
New Contributor I
1,254 Views

Hi Steve;

I was able to get the update installed and was able to open a previous SLN and rebuild the solution so I am good to go.

Now I just need to remember all the FORTRAN I forgot since I wrote programs many years ago.

One thing that puzzles me with the new versions.  Back when I compiled a EXE with CVF and it still runs under Win7 without my users having to install the redistributables first.  I could just copy the EXE to a common folder and anyone could run it.

With the new Intel Fortran, I can compile an EXE and it runs fine on my PC but when I give it to someone else it complains about missing DLL's. Now admittedly when I did the build, I used the Debug option if that matters. So is there a way to build the EXE so people do not have to run the MSI to get the DLL's?

0 Kudos
GWats1
New Contributor I
1,254 Views

Tim Prince wrote:

Maybe it didn't fit within columns 7 to 72

No, I thought it was short enough but I don't remember enough Fortran syntax to figure out why it did not work.

BTW, I didn't think anyone else was reading my boring troubles besides Steve.

0 Kudos
mecej4
Honored Contributor III
1,254 Views

I kept getting compiler errors that it was expecting something.

Please report the actual error message from the compiler, the relevant lines of code, and the declarations of the variables concerned. For instance, SKIP and NAME should not be implicitly typed (as REAL and INTEGER, respectively).

I didn't think anyone else was reading my boring troubles besides Steve

This forum gives public access for reading. Registered users can post. Google can snoop.

0 Kudos
GWats1
New Contributor I
1,254 Views

Tim and mecej4;

Tim was correct, when I put the IF statement in the front of the Call, it pushed the last few characters in the Call past column 72 and it missed the closing paren and that is what it was complaining about that it was expecting. I should have looked closer because when I put it back that way, the last few characters in the line were shaded and I missed it.

The Name(1) and the SKIP are Characters and were declared up at the start of the routine.  My logic was that if the first 4 characters in the NAME array were "NOBP", then I would skip the call to the subroutine that I wrote to design a baseplate for the pole I had just designed.  

I changed back to the IF but put a THEN and an ENDIF to make the line fit.  Back when I learned FORTRAN in 1968, the usual way to do the IF was to use the GO TO XXX when the IF was true.

Sorry for posting really dumb things, but its been too long since I had to trouble shoot some of my old programs. When I first wrote this one back in the late 1980's it took several minutes on a 80286 PC to crunch all the numbers to design a pole shaft.  When I run the same sample input today it takes about 1 second on my HP Z800 workstation.

0 Kudos
mecej4
Honored Contributor III
1,254 Views

Back in 1968, Fortran (Fortran 66? Fortran IV?) had no provision for CHARACTER type variables, so strange (in comparison to other languages such as Algol) tricks had to be employed.

Do not use arrays whose elements are single characters (CHARACTER*1 or character(len=1)) as being equivalent to strings of characters. Constant literal strings should be enclosed in quotes. Thus, what you should have used for the test in #5 may be:

     IF(Name(1).NE. 'SKIP') Call Baseplate (x,y,z)

provided NAME was declared as an array of character strings of length 4. If you leave out the quotes, the code will attempt to compare a character variable to an undefined real variable named SKIP, with unpredictable consequences.

 However, as I stated earlier, unless you show us the actual declaration of NAME it is not possible to suggest what to change.

0 Kudos
TimP
Honored Contributor III
1,254 Views

Current ifort defaults to /MD shared libraries.  Setting /MT may eliminate shared library dependencies.  You are entitled to pass along the dll on which your exe depends or use the distributable library installer.

0 Kudos
GWats1
New Contributor I
1,254 Views

Tim Prince wrote:

Current ifort defaults to /MD shared libraries.  Setting /MT may eliminate shared library dependencies.  You are entitled to pass along the dll on which your exe depends or use the distributable library installer.

I'm a rank amateur using VS, so where is the option to use the /MT ? I looked at configuration manager and at Properties but it did not jump out at me.

0 Kudos
GWats1
New Contributor I
1,254 Views

mecej4 wrote:

Back in 1968, Fortran (Fortran 66? Fortran IV?) had no provision for CHARACTER type variables, so strange (in comparison to other languages such as Algol) tricks had to be employed.

Do not use arrays whose elements are single characters (CHARACTER*1 or character(len=1)) as being equivalent to strings of characters. Constant literal strings should be enclosed in quotes. Thus, what you should have used for the test in #5 may be:

     IF(Name(1).NE. 'SKIP') Call Baseplate (x,y,z)

provided NAME was declared as an array of character strings of length 4. If you leave out the quotes, the code will attempt to compare a character variable to an undefined real variable named SKIP, with unpredictable consequences.

 However, as I stated earlier, unless you show us the actual declaration of NAME it is not possible to suggest what to change.

Here are a few lines of my code where NAME is defined as a Character and it is in a Common as NAME(20) so I can read and write out a 80 character title.

...................

DIMENSION CY(12), BFLAT(100),DSNMOM(20)

. ,XINERT(100), YINERT(100), B2(100), B3(100), AA(100),

. B1(100), AREA1(100), CX(12),ZMIN(20),

. BOLD(100),XBML(100,20),YBML(100,20),SFMIN(20),SECLAST(20),

. ODTSAV(20),ODBSAV(20),THKSAV(20)

CHARACTER STP*4, NAME*4

DATA STP /'END '/

.................................

OPEN(2,STATUS='UNKNOWN')

C

C CALL THE BASE PLATE AND ANCHOR BOLT ROUTINE IF THE FIRST 4 CHARACTERS ARE NOT 'NOBP'

C WHEN THE FIRST 4 CHARACTERS ARE 'NOBP' DON'T CALL THE BASEPLATE ROUTINE

C

IF(NAME(1).NE.'NOBP') THEN

CALL PLATE(PXM,PYM,PVL,PVX,PVY,HBOT,THK(NSEC),12)

ENDIF

 

0 Kudos
mecej4
Honored Contributor III
1,254 Views

NAME is declared to be a scalar character variable of string length 4. Therefore, the subscript '(1)' in the IF statement should be removed.

0 Kudos
Steven_L_Intel1
Employee
1,254 Views

To get the effect of /MT, select the project property Libraries > Runtime Library > Multithreaded. 

/MT is an old Microsoft syntax - we accept that but the main documented option is /libs:static

0 Kudos
GWats1
New Contributor I
1,254 Views

Steve;

I'll try that option. It was set to Multithreaded DLL.  I'll post a couple of screen shots.

0 Kudos
GWats1
New Contributor I
1,254 Views

mecej4 wrote:

NAME is declared to be a scalar character variable of string length 4. Therefore, the subscript '(1)' in the IF statement should be removed.

NAME should be a one dimension array of 20 so I think I need the NAME(1) to get the first 4 characters.  I'll try to post a piece of my Common statement where it is dimensioned:

C
      CHARACTER INNFILE*60 , OUTFILE*60
      INTEGER DFCODE,WPASS
      REAL KJ(100),KK(100), K1(2,100), K2(2,100), K3(2,100),IXX,  IYY
     1,MCSIG
      COMMON/OH/XF(100,20),XC(100,20),YF(100,20),YC(100,20),AX(100,20),
     .DELTA(100),DELSUM(100), XWLOAD(100), YWLOAD(100), XTLOAD(100),
     . YTLOAD(100),XV(100,20),YV(100,20),ATLOAD(100),XDBM(100,20),
     . YDBM(100,20), XBM(100),DBA(100),YBM(100),AREA(100),
     .          XINRCH(100), XCAP(100), YCAP(100),
     .          XSTRES(100), YSTRES(100), ASTRES(100), TSTRES(100),
     .          ALOACT(100), XAVGEN(100), YAVGEN(100), XAVEI(100), YAVEI
     .          (100), XDSL(100), YDSL(100), XSLOPE(100), YSLOPE(100),
     .          XAVSLP(100), YAVSLP(100), XDD(100), XDFLCT(100),DB(100),
     .          YDFLCT(100), VR(100), RBM(100), RDFLCT(100),
     .         YDD(100),HTOP,HBOT,SL,
     .          GLOAD(100), SX(100), SY(100), VCAP(100)
     .      /BLANK/ LAST, MIN,T, MM/AEAE/ TAN15
     .  /ANALYE/STRES1(100), STRES2(100), STRES3(100), STRES4(100),
     .           PHI(100), STRSAL(100), THICK(100), NAME(20) ,E
     .      /CONST/  TOD   /FIT/ B(100), B4(100), BDSN(100),Z(100)
     .     , SLOPE, XNUM, XDENOM,     MI, MIN3 , SP1, SP2, MIN2
     .      /DFLECT/ XDELTA, XSLOP, YDELTA, YSLOP, ZLEGTH, IXX(100),
     .       IYY(100)
      COMMON /ANAL/ XSPEED(20),XWOL(20),YSPEED(20),YWOL(20),XOL(20),
     1YOL(20),ZOL(20),NSEC,NLOD,DWOL(20),SECMIN(20,10),
     . DMIN,ODT(20),ODB(20),FAR(20),THK(20),SIG(20),SPL(20),
     . DIL(20,20),XFR(20,20),XMO(20,20),YFR(20,20),YMO(20,20),AXL(20,20)
     . ,PLVX(20),PLVY(20),PLYM(20),PLXM(20),PLVL(20),NAMLC(20,20)
      DIMENSION CY(12), BFLAT(100),DSNMOM(20)
     .           ,XINERT(100), YINERT(100), B2(100), B3(100), AA(100),
     .            B1(100), AREA1(100), CX(12),ZMIN(20),
     .     BOLD(100),XBML(100,20),YBML(100,20),SFMIN(20),SECLAST(20),
     .    ODTSAV(20),ODBSAV(20),THKSAV(20)
      CHARACTER STP*4, NAME*4
      DATA STP /'END '/
      
      OPEN(2,STATUS='UNKNOWN')

It compiled and worked fine so I didn't want to mess with success.

0 Kudos
mecej4
Honored Contributor III
1,254 Views

OK, I see that the variable NAME is declared as an array with 20 elements in the COMMON declaration on line-20, but the type of the variable is declared elsewhere (line-35). These pieces of information were not available in #14.

0 Kudos
GWats1
New Contributor I
1,254 Views

mecej4 wrote:

OK, I see that the variable NAME is declared as an array with 20 elements in the COMMON declaration on line-20, but the type of the variable is declared elsewhere (line-35). These pieces of information were not available in #14.

mecej4;

Sorry for the confusion.  I don't post here often and am unfamiliar with how to post snips of code (I'm getting better, I hope) so I should have made it more clear about my Title line being a Character array broken into 20 four character pieces. I used the first piece to signal to stop the program if it had "END ". I wanted to put in "NOBP" to test an IF to skip calling a baseplate subroutine and I was trying to remember enough of my FORTRAN to do the IF but I did not notice the length of the statement pushed past column 72.

Steve;

I was successful with the switch to the Multithread.  I recompiled the code and gave the EXE to a co-worker and he was able to run it without error or having to install the redistributable.

0 Kudos
Reply