PROGRAM EXAMPLE DOES NOT BUILD

PROGRAM EXAMPLE DOES NOT BUILD

I copied the code from your library reference, vsl routines. in the documentation.

The example they give should run as a standalone program, correct ?

I put the include file along with it, but I get several entry points it cannot find.

so the build fails.

see attached file. This should be the same as your documentation example.

AttachmentSize
Downloadapplication/octet-stream vsl.f901.21 KB
16 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

  

At the first glance everthing is ok with this test. Please try the simpliest way to build: ifort -mkl vsl.f90 

If you are building inside Visual Studio, you have to set the Visual Studio project properties properly to make the linker use the MKL libraries. See https://software.intel.com/en-us/mkl-windows-developer-guide-configuring... . For short and simple programs, building at the command line with the /Qmkl option, as Gennady recommended, is simpler.

The default configuration of the compiler does not link with optional libraries, whether they be MKL or IMSL, NAG, TBB, IPP, etc. The user has to specify that additional libraries are to be used, if any are desired, and provide information regarding the locations of the library files.

Well, when I first installed it, it goes thru this real lengthy stuff

"integrating with VS 2015"

Notice that the code example I gave  has an include and two USE statements.

why wouldnt that be sufficient ?

Is there someone from INTEL that can guide me on this matter ?

I could try that "add libraries" but I am not sure what the name of this library would be,

that has the VST_MKL stuff in it. The buildlog is a type of file that cant be sent directly.

But heres what it says:

Deleting intermediate files and output files for project 'Console8', configuration 'Debug|Win32'. Compiling with Intel(R) Visual Fortran Compiler 19.0.0.117 [IA-32]... ifort /nologo /debug:full /Od /warn:interfaces /module:"Debug\\" /object:"Debug\\" /Fd"Debug\vc140.pdb" /traceback /check:bounds /check:stack /libs:dll /threads /dbglibs /c /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\\bin" /Qm32 "C:\Users\Administrator\documents\visual studio 2015\Projects\Console8\ranseq.f90" ifort /nologo /debug:full /Od /warn:interfaces /module:"Debug\\" /object:"Debug\\" /Fd"Debug\vc140.pdb" /traceback /check:bounds /check:stack /libs:dll /threads /dbglibs /c /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\\bin" /Qm32 "C:\Users\Administrator\documents\visual studio 2015\Projects\Console8\test_rn2.f90" ifort /nologo /debug:full /Od /warn:interfaces /module:"Debug\\" /object:"Debug\\" /Fd"Debug\vc140.pdb" /traceback /check:bounds /check:stack /libs:dll /threads /dbglibs /c /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\\bin" /Qm32 "C:\Users\Administrator\documents\visual studio 2015\Projects\Console8\trand.f90" ifort /nologo /debug:full /Od /warn:interfaces /module:"Debug\\" /object:"Debug\\" /Fd"Debug\vc140.pdb" /traceback /check:bounds /check:stack /libs:dll /threads /dbglibs /c /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\\bin" /Qm32 "C:\Users\Administrator\documents\visual studio 2015\Projects\Console8\factors.f90" ifort /nologo /debug:full /Od /warn:interfaces /module:"Debug\\" /object:"Debug\\" /Fd"Debug\vc140.pdb" /traceback /check:bounds /check:stack /libs:dll /threads /dbglibs /c /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\\bin" /Qm32 "C:\Users\Administrator\documents\visual studio 2015\Projects\Console8\dima.f90" ifort /nologo /debug:full /Od /warn:interfaces /module:"Debug\\" /object:"Debug\\" /Fd"Debug\vc140.pdb" /traceback /check:bounds /check:stack /libs:dll /threads /dbglibs /c /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\\bin" /Qm32 "C:\Users\Administrator\documents\Visual Studio 2010\Projects\linsol\matprt.f90" ifort /nologo /debug:full /Od /warn:interfaces /module:"Debug\\" /object:"Debug\\" /Fd"Debug\vc140.pdb" /traceback /check:bounds /check:stack /libs:dll /threads /dbglibs /c /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\\bin" /Qm32 "C:\Users\Administrator\documents\Visual Studio 2010\Projects\linsol\utran.f90" ifort /nologo /debug:full /Od /warn:interfaces /module:"Debug\\" /object:"Debug\\" /Fd"Debug\vc140.pdb" /traceback /check:bounds /check:stack /libs:dll /threads /dbglibs /c /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\\bin" /Qm32 "C:\Users\Administrator\documents\visual studio 2015\Projects\Console8\makelin.f90" ifort /nologo /debug:full /Od /warn:interfaces /module:"Debug\\" /object:"Debug\\" /Fd"Debug\vc140.pdb" /traceback /check:bounds /check:stack /libs:dll /threads /dbglibs /c /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\\bin" /Qm32 "C:\Users\Administrator\documents\visual studio 2015\Projects\Console8\rswaps.f90" ifort /nologo /debug:full /Od /warn:interfaces /module:"Debug\\" /object:"Debug\\" /Fd"Debug\vc140.pdb" /traceback /check:bounds /check:stack /libs:dll /threads /dbglibs /c /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\\bin" /Qm32 "C:\Users\Administrator\documents\visual studio 2015\Projects\Console8\matmpy.f90" ifort /nologo /debug:full /Od /warn:interfaces /module:"Debug\\" /object:"Debug\\" /Fd"Debug\vc140.pdb" /traceback /check:bounds /check:stack /libs:dll /threads /dbglibs /c /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\\bin" /Qm32 "C:\Users\Administrator\documents\visual studio 2015\Projects\Console8\vsl.f90" ifort /nologo /debug:full /Od /warn:interfaces /module:"Debug\\" /object:"Debug\\" /Fd"Debug\vc140.pdb" /traceback /check:bounds /check:stack /libs:dll /threads /dbglibs /c /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\\bin" /Qm32 "C:\Users\Administrator\documents\Visual Studio 2010\Projects\linsol\usolve.f90" ifort /nologo /debug:full /Od /warn:interfaces /module:"Debug\\" /object:"Debug\\" /Fd"Debug\vc140.pdb" /traceback /check:bounds /check:stack /libs:dll /threads /dbglibs /c /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\\bin" /Qm32 "C:\Users\Administrator\3D Objects\lsolve.f90" Linking... Link /OUT:"Debug\Console8.exe" /INCREMENTAL:NO /NOLOGO /LIBPATH:"mkl_intel_ilp64.lib" /LIBPATH:"mkl_intel_thread.lib" /LIBPATH:"mkl_core.lib" /LIBPATH:"libiomp5md.lib" /MANIFEST /MANIFESTFILE:"Debug\Console8.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"C:\Users\Administrator\documents\visual studio 2015\Projects\Console8\Console8\Debug\Console8.pdb" /SUBSYSTEM:CONSOLE /IMPLIB:"C:\Users\Administrator\documents\visual studio 2015\Projects\Console8\Console8\Debug\Console8.lib" -qm32 "Debug\ranseq.obj" "Debug\test_rn2.obj" "Debug\trand.obj" "Debug\factors.obj" "Debug\dima.obj" "Debug\matprt.obj" "Debug\utran.obj" "Debug\makelin.obj" "Debug\rswaps.obj" "Debug\matmpy.obj" "Debug\vsl.obj" "Debug\usolve.obj" "Debug\lsolve.obj" vsl.obj : error LNK2019: unresolved external symbol _VSLNEWSTREAM referenced in function _MAIN__ vsl.obj : error LNK2019: unresolved external symbol _VDRNGGAUSSIAN referenced in function _MAIN__ vsl.obj : error LNK2019: unresolved external symbol _VSLDELETESTREAM referenced in function _MAIN__ Debug\Console8.exe : fatal error LNK1120: 3 unresolved externals Console8 - 4 error(s), 0 warning(s)

------------------------------------------------------------------------------------------------------------------------------------------

Notice above the three links it cannot find, despite all the added libraries i put in.

Of course I could use THE IFORT line, but the problem really is about using attaching the proper MKL library from a more complicated program.

That requires the use of VS2015, hopefully.

The linker errors are the result of (i) your choosing inconsistent compiler options -- you specified /Qm32, which is appropriate if you wish to build a 32-bit object, but you seem to be inclined towards linking with 64 bit MKL libraries (e.g., mkl_intel_ilp64.lib), (ii) a misunderstanding about what /LIBPATH is intended for, and, perhaps as a consequence, (iii) failure to specify any MKL libraries to link with.

and also this article may help to properly build your case under VS IDE: https://software.intel.com/en-us/articles/intel-math-kernel-library-inte...

That article is NOT ABOUT Fortran, its about C++.

There are not any similar options under FORTRAN.

Here are the LIBPATHS I have:

mkl_intel_ilp64.lib;

mkl_intel_thread.lib;

mkl_core.lib;

libiomp5md.lib

You can see that MKL is mentioned, the 64 bit version I installed.

actually it installs 32 bit versions also.

So, should we conclude that there is NO WAY to link to the MKL from Visual studio 2015 ?

(Using Fortran code)

Maybe an INTEL person would know how to do this ?

In the case if you use Fortran, then the only difference to use Fortran compiler option /4I8 

we can create the simplest VS2015 based Fortran solution with this vsl.f90 file and share with you if you need.

Sure, just one simple example that ACTUALLY WORKS would be appreciated.

But I would like to see what you put under "project properties."

 

I put what I thought was the proper LIBRARY adds, but that was not enough.

apparently that example they give with the include and USE statements is not enough.

Where would I put the "4I8" option you mentioned ?

I dont see anything about that anywhere.

I added it as an extra option, it  did not complain about it, but I still get the three

unknown entry points.

I developed for you the vs 2015 solution and attached to this thread. you may just change the include and an additional option patches accordingly your installation

Attachments: 

AttachmentSize
Downloadapplication/zip vs2015_fortran_sln.zip4.25 MB

I unzipped it, but then VS2015 cannot find the solution file/folder. do I have to move it somewhere before I unzip it ?

Otherwise, there is no way to run the program.

 

I CANNOT do anything with what you sent.

Send it to yourself, see what happens.

 

The file explorer sees it, does VS 2015 does not.

I finally had to say that TMP was the solution, then it ran.

But I had to insert a READ statement at the end so I could see the output before it exits.

thus we hope the problem with linking under VS IDE is resolved.

Leave a Comment

Please sign in to add a comment. Not a member? Join today