- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, we installed the product and I attempted to run a .for file. I am getting the following errors. I've submitted it to Intel tech support yesterday and have not yet gotten a response that addresses the problem -- they did indicate it will be 2 days so I guess that may be tomorrow. In the meantime, I've decided to try this forum. Does anyone happen to have a solution? Thanks.
Z:\Users\sd\for>ifort sim_r6a.for /exe:sim_r6a.exe
Intel(R) Visual Fortran Intel(R) 64 Compiler XE for applications running on Inte
l(R) 64, Version 15.0.1.148 Build 20141023
Copyright (C) 1985-2014 Intel Corporation. All rights reserved.
Microsoft (R) Incremental Linker Version 10.00.30319.01
Copyright (C) Microsoft Corporation. All rights reserved.
-out:sim_r6a.exe
-subsystem:console
sim_r6a.obj
sim_r6a.obj : error LNK2019: unresolved external symbol ISUM referenced in funct
ion MAIN__
sim_r6a.obj : error LNK2019: unresolved external symbol DLFTDS referenced in fun
ction MAIN__
sim_r6a.obj : error LNK2019: unresolved external symbol DSET referenced in funct
ion MAIN__
sim_r6a.obj : error LNK2019: unresolved external symbol RNSET referenced in func
tion MAIN__
sim_r6a.obj : error LNK2019: unresolved external symbol DRNNOF referenced in fun
ction MAIN__
sim_r6a.obj : error LNK2019: unresolved external symbol DRNMVN referenced in fun
ction MAIN__
sim_r6a.obj : error LNK2019: unresolved external symbol DCOPY referenced in func
tion MAIN__
sim_r6a.obj : error LNK2019: unresolved external symbol DSUM referenced in funct
ion UNPACK
sim_r6a.obj : error LNK2019: unresolved external symbol DSCAL referenced in func
tion LCK
sim_r6a.obj : error LNK2019: unresolved external symbol DDOT referenced in funct
ion LCK
sim_r6a.obj : error LNK2019: unresolved external symbol DEVASF referenced in fun
ction LCK1
sim_r6a.obj : error LNK2019: unresolved external symbol DMURRV referenced in fun
ction EQNB
sim_r6a.obj : error LNK2019: unresolved external symbol DLSLRG referenced in fun
ction EQNB
sim_r6a.obj : error LNK2019: unresolved external symbol DWRRRN referenced in fun
ction RWMOD
sim_r6a.exe : fatal error LNK1120: 14 unresolved externals
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I hope that you installed both IMSL and MKL in addition to the IFort compiler, because the undefined references are to be resolved from libraries contained in those packages.
Use the build command
ifort /Qimsl /Qmkl sim_r6a.for
If that does not work, there are other options that we can try. It would also help if you told us how you used to build this application with your older installation.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks mecej4. The command you suggested reduces the number of errors but does not eliminate all; see below. This is a "legacy" code, I did not build it.
Z:\Users\sd\for>ifort /Qimsl /Qmkl sim_r6a.for
Intel(R) Visual Fortran Intel(R) 64 Compiler XE for applications running on Inte
l(R) 64, Version 15.0.1.148 Build 20141023
Copyright (C) 1985-2014 Intel Corporation. All rights reserved.
Microsoft (R) Incremental Linker Version 10.00.30319.01
Copyright (C) Microsoft Corporation. All rights reserved.
-out:sim_r6a.exe
-subsystem:console
"-libpath:C:\Program Files (x86)\Intel\Composer XE 2015\mkl\lib\intel64"
-libpath:C:\PROGRA~2\Intel\COMPOS~1\imsl\intel64\lib
sim_r6a.obj
sim_r6a.obj : error LNK2019: unresolved external symbol ISUM referenced in funct
ion MAIN__
sim_r6a.obj : error LNK2019: unresolved external symbol DSET referenced in funct
ion MAIN__
imsl.lib(de6csf.obj) : error LNK2001: unresolved external symbol DSET
imslhpc_l.lib(dl2crg.obj) : error LNK2001: unresolved external symbol DSET
sim_r6a.obj : error LNK2019: unresolved external symbol DSUM referenced in funct
ion UNPACK
imslhpc_l.lib(dnr1rr.obj) : error LNK2019: unresolved external symbol IDMAX refe
renced in function DNR1RR
sim_r6a.exe : fatal error LNK1120: 4 unresolved externals
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Add "imslblas_vendor.lib" (or imslblas_imsl.lib) at the end of the command that I gave in #2. Once the linker errors are taken care of, you may need to tweak the choice of libraries used to improve performance, since I notice that one of the HPC libraries is being used.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Argh - /Qimsl should not be adding that nonexistent IMSL path to the link. I will let the developers know about this. The additions mecej4 suggested won't help. Instead, add at the end: %LINK_F90%
Do you have IMSL installed? Does C:\Program Files (x86)\VNI\imsl\fnl701\Intel64\lib exist?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I saw the email you sent to Intel Developer Zone support - this made its way into our tech support system, Intel Premier Support. In the future, if you want product support go through https://premier.intel.com/
We can handle your problem here in the forum so I've closed the issue in our tracking system.
I see that you have a license for the product with IMSL but did you install IMSL, which is a separate install? Please follow the instructions in Configuring Visual Studio for using the IMSL* Fortran Numerical Library to make sure you have access to the libraries.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Steve, he probably has some version of IMSL installed and configured to work with IFort, since adding /Qimsl removed some of the previously unresolved references (e.g., DLSLRG). He is working at the command line, as well, and I thought of suggesting that he use %LINK_FNL_STATIC% or one of the other linker options in that group.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Either adding %LINK_FNL% or adding one of the 'link_fnl_xxx.h' include files, would probably help. But I'm not sure if he even has IMSL installed.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks, Steve Lionel. Thanks, mecej4. I installed w_fcompxe_2015.1.148.exe and w_fcompxe_imsl_2013_sp1.0.024.exe. Does this answer the question re IMSL?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
"ifort /Qimsl /Qmkl one.for imslblas_vendor.lib" does not produce any LNK errors and produces an .exe file. I suppose it means that this command is sufficient for successful compilation.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
And "C:\Program Files (x86)\VNI\imsl\fnl701\Intel64\lib" does exist.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Instead of "imslblas_vendor.lib" use "%LINK_FNL%" (without the quotes). This is how you link in IMSL from the command line.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
When I replace imslblas_vendor.lib with %LINK_FNL%, the program compiles and and an .exe file is created. Except it's much smaller than the exe file that the imslblas_vendor.lib had created (about one-eights of the previous size). Moreover, when I click on the new exe file I get the dialog box "The program can't start because mkl_intel_thread.dll is missing from your computer. Try reinstalling the program to fix this problem." This error did not come up for the exe file created by imslblas_vendor.lib. Not sure why this is happening and what to do next.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I've rechecked the relative file sizes; the new exe file is about 1% of the previous one.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It's because in IMSL 7, the default is to link to the IMSL DLL library. This in turn requires that the compiler and MKL redistributables be installed and in PATH. By default, MKL isn't in PATH so you would have to add it. If you want to go back to static libraries, use %LINK_FNL_STATIC% instead.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
And when I go back to imslblas_vendor.lib the program still compiles and the exe file is "running" (in the sense that it's listed on windows Task Manager). It's taking a long time to run, but that may be expected because of the nature of the task.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm out of my depth here, but isn't the Intel Command Window/Line supposed to add the correct path? I'm pretty sure I read that somewhere.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It adds the path to where the libraries are. It can't add the names of the libraries, which is what the %LINK_FNL% does. Or you can use one of the provided include files.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Based on appearances (i.e. what I see on the monitor) %LINK_FNL_STATIC% gets me to the same place as imslblas_vendor.lib -- it gives me an exe file identically sized as before, and it is displayed as a process on the task manager. Thanks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It is typical that, when a DLL library is linked against, the resulting EXE is smaller because the code for the library routines (IMSL, MKL, etc.) now resides in the DLLs rather than in the EXE.
That DLL (mkl_intel_thread.dll) should be in C:\Program Files (x86)\Intel\Composer XE 2015\redist\intel64\mkl, and that directory should be included in PATH when you are using a command window configured for IFort+IMSL.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks mecej4; when you write "should be included," do you mean as in "go ahead and manually include" or rather "it is designed to be there so you don't need to manually include"?

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page