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

Link error

Rodrigues__Pedro
Beginner
1,191 Views

 

   Hello

    I am trying to build PETSc inside a fortran project. And after hard work I got this:

Deleting intermediate files and output files for project 'PETScFORTRAN', configuration 'Debug|x64'.
Compiling with Intel(R) Visual Fortran Compiler XE 14.0.2.176 [Intel(R) 64]...
ifort /nologo /debug:full /Od /fpp /I"C:\Program Files\PETSc for Windows\PETSc\include" /I"C:\Program Files\PETSc for Windows\PETSc\include\finclude" /I"C:\Program Files\PETSc for Windows\PETSc\include\finclude\ftn-auto" /I"C:\Program Files\PETSc for Windows\PETSc\include\finclude\ftn-custom" /I"C:\Program Files\PETSc for Windows\PETSc\c-debug_icl_mkl\include" /I"C:\Program Files\PETSc for Windows\PETSc\include\mpiuni" /DWINDOWS /warn:interfaces /module:"x64\Debug\\" /object:"x64\Debug\\" /Fd"x64\Debug\vc110.pdb" /traceback /check:bounds /check:stack /libs:static /threads /dbglibs /winapp /c /extfor:F /Qvc11 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\\bin\amd64" "C:\Users\Pedro\Desktop\fortran_test\PETScFORTRAN\ex14f.F"
Linking...
Link /OUT:"x64\Debug\PETScFORTRAN.exe" /INCREMENTAL:NO /NOLOGO /LIBPATH:"C:\Program Files\PETSc for Windows\PETSc\c-opt_icl_mkl\lib" /LIBPATH:"C:\Program Files\Microsoft HPC Pack 2008 R2\Lib\amd64\\" /LIBPATH:"C:\Program Files\Microsoft MPI\Lib\amd64" /LIBPATH:"C:\Program Files\PETSc for Windows\lib\intel64" /LIBPATH:"c:\Program Files\PETSc for Windows\PETSc\externalpackages\libs\\" /NODEFAULTLIB:"LIBCMT.lib" /MANIFEST /MANIFESTFILE:"C:\Users\Pedro\Desktop\fortran_test\PETScFORTRAN\x64\Debug\PETScFORTRAN.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"C:\Users\Pedro\Desktop\fortran_test\PETScFORTRAN\x64\Debug\PETScFORTRAN.pdb" /SUBSYSTEM:CONSOLE /IMPLIB:"C:\Users\Pedro\Desktop\fortran_test\PETScFORTRAN\x64\Debug\PETScFORTRAN.lib" advapi32.lib libpetsc.lib mkl_intel_lp64_dll.lib mkl_intel_thread_dll.lib mkl_core_dll.lib libiomp5md.lib msmpi.lib msmpifmc.lib  "x64\Debug\ex14f.obj"
Link: executing 'link'
libifcoremt.lib(for_main.obj) : error LNK2019: unresolved external symbol __intel_new_feature_proc_init referenced in function main
x64\Debug\PETScFORTRAN.exe : fatal error LNK1120: 1 unresolved externals


PETScFORTRAN - 2 error(s), 0 warning(s)

How can this be fixed?

 

    Help

0 Kudos
23 Replies
Steven_L_Intel1
Employee
1,031 Views

That should be found in libirc.lib, which should be linked in automatically. Please set the project property Linker > General > Show Progress to "Show some progress messages", relink, and then post the output.
 

0 Kudos
Rodrigues__Pedro
Beginner
1,031 Views
Linking...
Link /OUT:"x64\Debug\PETScFORTRAN.exe" /VERBOSE:LIB /INCREMENTAL:NO /NOLOGO /LIBPATH:"C:\Program Files\PETSc for Windows\PETSc\c-opt_icl_mkl\lib" /LIBPATH:"C:\Program Files\Microsoft HPC Pack 2008 R2\Lib\amd64\\" /LIBPATH:"C:\Program Files\Microsoft MPI\Lib\amd64" /LIBPATH:"C:\Program Files\PETSc for Windows\lib\intel64" /LIBPATH:"c:\Program Files\PETSc for Windows\PETSc\externalpackages\libs\\" /NODEFAULTLIB:"LIBCMT.lib" /MANIFEST /MANIFESTFILE:"C:\Users\Pedro\Desktop\fortran_test\PETScFORTRAN\x64\Debug\PETScFORTRAN.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"C:\Users\Pedro\Desktop\fortran_test\PETScFORTRAN\x64\Debug\PETScFORTRAN.pdb" /SUBSYSTEM:CONSOLE /IMPLIB:"C:\Users\Pedro\Desktop\fortran_test\PETScFORTRAN\x64\Debug\PETScFORTRAN.lib" advapi32.lib libpetsc.lib mkl_intel_lp64_dll.lib mkl_intel_thread_dll.lib mkl_core_dll.lib libiomp5md.lib msmpi.lib msmpifmc.lib  "x64\Debug\ex14f.obj"
Link: executing 'link'

Searching libraries
    Searching C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x64\advapi32.lib:
    Searching C:\Program Files\PETSc for Windows\PETSc\c-opt_icl_mkl\lib\libpetsc.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\mkl_intel_lp64_dll.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\mkl_intel_thread_dll.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\mkl_core_dll.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\libiomp5md.lib:
    Searching C:\Program Files\Microsoft MPI\Lib\amd64\msmpi.lib:
    Searching C:\Program Files\Microsoft MPI\Lib\amd64\msmpifmc.lib:
    Searching C:\Program Files (x86)\Intel\Composer XE 2013 SP1\compiler\lib\Intel64\ifconsol.lib:
    Searching C:\Program Files (x86)\Intel\Composer XE 2013 SP1\compiler\lib\Intel64\libifcoremt.lib:
    Searching C:\Program Files (x86)\Intel\Composer XE 2013 SP1\compiler\lib\Intel64\libifport.lib:
    Searching C:\Program Files (x86)\Intel\Composer XE 2013 SP1\compiler\lib\Intel64\ifwin.lib:
    Searching C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x64\user32.lib:
    Searching C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x64\gdi32.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\libmmt.lib:
    Searching C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib\amd64\LIBCMTD.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\libirc.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\svml_dispmt.lib:
    Searching C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib\amd64\OLDNAMES.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\libdecimal.lib:
    Searching C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x64\uuid.lib:
    Searching C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib\amd64\msvcprt.lib:
    Searching C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x64\kernel32.lib:
    Searching C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x64\ImageHlp.lib:
    Searching C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x64\advapi32.lib:
    Searching C:\Program Files\PETSc for Windows\PETSc\c-opt_icl_mkl\lib\libpetsc.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\mkl_intel_lp64_dll.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\mkl_intel_thread_dll.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\mkl_core_dll.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\libiomp5md.lib:
    Searching C:\Program Files\Microsoft MPI\Lib\amd64\msmpi.lib:
    Searching C:\Program Files\Microsoft MPI\Lib\amd64\msmpifmc.lib:
    Searching C:\Program Files (x86)\Intel\Composer XE 2013 SP1\compiler\lib\Intel64\ifconsol.lib:
    Searching C:\Program Files (x86)\Intel\Composer XE 2013 SP1\compiler\lib\Intel64\libifcoremt.lib:
    Searching C:\Program Files (x86)\Intel\Composer XE 2013 SP1\compiler\lib\Intel64\libifport.lib:
    Searching C:\Program Files (x86)\Intel\Composer XE 2013 SP1\compiler\lib\Intel64\ifwin.lib:
    Searching C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x64\user32.lib:
    Searching C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x64\gdi32.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\libmmt.lib:
    Searching C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib\amd64\LIBCMTD.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\libirc.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\svml_dispmt.lib:
    Searching C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib\amd64\OLDNAMES.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\libdecimal.lib:
    Searching C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x64\uuid.lib:
    Searching C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib\amd64\msvcprt.lib:
    Searching C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x64\kernel32.lib:
    Searching C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x64\ImageHlp.lib:
    Searching C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x64\advapi32.lib:
    Searching C:\Program Files\PETSc for Windows\PETSc\c-opt_icl_mkl\lib\libpetsc.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\mkl_intel_lp64_dll.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\mkl_intel_thread_dll.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\mkl_core_dll.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\libiomp5md.lib:
    Searching C:\Program Files\Microsoft MPI\Lib\amd64\msmpi.lib:
    Searching C:\Program Files\Microsoft MPI\Lib\amd64\msmpifmc.lib:
    Searching C:\Program Files (x86)\Intel\Composer XE 2013 SP1\compiler\lib\Intel64\ifconsol.lib:
    Searching C:\Program Files (x86)\Intel\Composer XE 2013 SP1\compiler\lib\Intel64\libifcoremt.lib:
    Searching C:\Program Files (x86)\Intel\Composer XE 2013 SP1\compiler\lib\Intel64\libifport.lib:
    Searching C:\Program Files (x86)\Intel\Composer XE 2013 SP1\compiler\lib\Intel64\ifwin.lib:
    Searching C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x64\user32.lib:
    Searching C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x64\gdi32.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\libmmt.lib:
    Searching C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib\amd64\LIBCMTD.lib:

Finished searching libraries

Searching libraries
    Searching C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x64\advapi32.lib:
    Searching C:\Program Files\PETSc for Windows\PETSc\c-opt_icl_mkl\lib\libpetsc.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\mkl_intel_lp64_dll.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\mkl_intel_thread_dll.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\mkl_core_dll.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\libiomp5md.lib:
    Searching C:\Program Files\Microsoft MPI\Lib\amd64\msmpi.lib:
    Searching C:\Program Files\Microsoft MPI\Lib\amd64\msmpifmc.lib:
    Searching C:\Program Files (x86)\Intel\Composer XE 2013 SP1\compiler\lib\Intel64\ifconsol.lib:
    Searching C:\Program Files (x86)\Intel\Composer XE 2013 SP1\compiler\lib\Intel64\libifcoremt.lib:
    Searching C:\Program Files (x86)\Intel\Composer XE 2013 SP1\compiler\lib\Intel64\libifport.lib:
    Searching C:\Program Files (x86)\Intel\Composer XE 2013 SP1\compiler\lib\Intel64\ifwin.lib:
    Searching C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x64\user32.lib:
    Searching C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x64\gdi32.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\libmmt.lib:
    Searching C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib\amd64\LIBCMTD.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\libirc.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\svml_dispmt.lib:
    Searching C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib\amd64\OLDNAMES.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\libdecimal.lib:
    Searching C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x64\uuid.lib:
    Searching C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib\amd64\msvcprt.lib:
    Searching C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x64\kernel32.lib:
    Searching C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x64\ImageHlp.lib:

Finished searching libraries
libifcoremt.lib(for_main.obj) : error LNK2019: unresolved external symbol __intel_new_feature_proc_init referenced in function main
x64\Debug\PETScFORTRAN.exe : fatal error LNK1120: 1 unresolved externals


PETScFORTRAN - 2 error(s), 0 warning(s)
0 Kudos
Rodrigues__Pedro
Beginner
1,031 Views

   I am sending the lof file

0 Kudos
Steven_L_Intel1
Employee
1,031 Views

Your PETsc distribution is including its own, old, copies of Intel libraries. You should delete them. 

 Searching C:\Program Files\PETSc for Windows\lib\intel64\mkl_intel_lp64_dll.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\mkl_intel_thread_dll.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\mkl_core_dll.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\libiomp5md.lib:
Searching C:\Program Files\PETSc for Windows\lib\intel64\libmmt.lib:
Searching C:\Program Files\PETSc for Windows\lib\intel64\libirc.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\svml_dispmt.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\libdecimal.lib:
Searching C:\Program Files\PETSc for Windows\lib\intel64\mkl_intel_lp64_dll.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\mkl_intel_thread_dll.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\mkl_core_dll.lib:
    Searching C:\Program Files\PETSc for Windows\lib\intel64\libiomp5md.lib:
0 Kudos
mecej4
Honored Contributor III
1,031 Views

Is the libirc.lib that is used in linking compatible with the IFort version that you use? I suspect a mismatch because the build log shows a libirc.lib that is not in the compiler's lib directory but in one of the PETSc directories.

0 Kudos
Rodrigues__Pedro
Beginner
1,031 Views

 

  Ok. I will replace the PETSc link libraries by other libs. I will report if this fix the problem

 

    thanks

0 Kudos
Rodrigues__Pedro
Beginner
1,031 Views

 

  I get the same error.......

0 Kudos
Rodrigues__Pedro
Beginner
1,031 Views

 

  Everything solved. I had tw entries for libraries. thanks for all. Your are really excellent.

 

0 Kudos
Rodrigues__Pedro
Beginner
1,031 Views

  

     Hello

      I have another error during runtime . See the .png

    thanks

0 Kudos
Steven_L_Intel1
Employee
1,031 Views

Make sure you are linking only to MKL libraries under the Composer XE 2013 SP1 folder and that the paths to the MKL DLLs is in your PATH environment variable (and not MKL DLLs provided by PETSc.)
 

0 Kudos
mecej4
Honored Contributor III
1,031 Views

As you did with the libraries at link time, move/remove any DLLs that are in the execution path and have the same names as the Intel Fortran/MKL DLLs -- assuming that your PETSc distribution came with some DLLs as well as libraries that go with an older version of IFort/MKL.

0 Kudos
Rodrigues__Pedro
Beginner
1,031 Views

 

   I am sending you the log file. Maybe you can look what is wrong.

0 Kudos
Rodrigues__Pedro
Beginner
1,031 Views

 

   I also made a run with a visual c++ console project with all of their libraries and everything went alright. Why does this happens with fortran and not 'c' in the same machine?

 

 

     thanks

0 Kudos
Steven_L_Intel1
Employee
1,031 Views

Your C program called MKL?

You probably have old MKL DLLs in your PATH environment variable. Edit the PATH system variable, remove any paths for MKL, and add:

%IFORT_COMPILER14%\redist\intel64\mkl;%IFORT_COMPILER14%\redist\ia32\mkl;

0 Kudos
Rodrigues__Pedro
Beginner
1,031 Views

 

    yes. C used MKl blas and lapack also. This is the math library PETSc. They use it with 'c' and provide interfaces to fortran also. my environment variables are the following:

PATH

%INTEL_DEV_REDIST%redist\intel64\mpirt;%INTEL_DEV_REDIST%redist\ia32\mpirt;%INTEL_DEV_REDIST%redist\intel64\compiler;%INTEL_DEV_REDIST%redist\ia32\compiler;

and

MKL_INCLUDE

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\mkl\include\intel64

MKL_LIB

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\mkl\lib\intel64

MKL_PATH

C:\Program Files (x86)\Intel\Composer XE 2013 SP1\mkl\bin\intel64\mklvars_intel64.bat   

 

 

 

 

     -

0 Kudos
Steven_L_Intel1
Employee
1,031 Views

You need to add the MKL redist folders to PATH as above. You possibly linked to static MKL in C.

0 Kudos
Rodrigues__Pedro
Beginner
1,031 Views

 

    it didn't work. I am sending a full copy of environment variables.

0 Kudos
Steven_L_Intel1
Employee
1,031 Views

Do you have copies of the MKL DLLs in the PETSc folder? If so, delete them. Also, edit PATH and remove the backslash after the two occurrences of %IFORT_COMPILER14%.

Are you still seeing the run-time error about entry point not found?

0 Kudos
Rodrigues__Pedro
Beginner
1,031 Views

 

    Unfortunately the runtime error didn't disappear. I did all you said to me.

0 Kudos
Rodrigues__Pedro
Beginner
892 Views

 

 Hello Steve

      I had some dll's inside system 32 from PETSc and they were the problem. But now I have another problem See below:

 

  'PETScFORTRAN.exe' (Win32): Loaded 'C:\Windows\System32\winnsi.dll'. Cannot find or open the PDB file.
'PETScFORTRAN.exe' (Win32): Loaded 'C:\Windows\System32\FWPUCLNT.DLL'. Cannot find or open the PDB file.
'PETScFORTRAN.exe' (Win32): Loaded 'C:\Windows\System32\rasadhlp.dll'. Cannot find or open the PDB file.
First-chance exception at 0x000007F6AE2FE95E in PETScFORTRAN.exe: 0xC0000005: Access violation reading location 0xFFFFFFFF9587AA70.
The thread 0x1e10 has exited with code 59 (0x3b).
The program '[4512] PETScFORTRAN.exe' has exited with code 59 (0x3b).

   This is too hard....

 tanks

 

0 Kudos
Reply