Linking problem on Windows 64 bit platform

Post here if you have a question about linking your program with LAPACK or ScaLAPACK library

Linking problem on Windows 64 bit platform

Postby Andrey » Mon May 23, 2011 1:27 pm

Hello, all!
Here is some initial facts
  • My C++ program uses only one LAPACK procedure: gels.
  • My C++ code is aware of which processor architecture (32 or 64) it is going to be compiled, so it's using the following naming notation for calling Fortran procedures : gels__ for 32 and GELS for 64 bit.
  • I use prebuild libraries from here: http://icl.cs.utk.edu/lapack-for-window ... librairies
  • I don't use CLAPACK.
  • I use Visual Studio 2008 (without any Fortran compiler).
The problem
  • When I'm building 32-bit version of the program, everything is ok in compile-, link- and run-times.
  • When I'm building 64-bit version of the program with the same solution/project properties as 32-bit, compilation goes successfully, but the following linking error occurs:
    Code: Select all
    LINK : fatal error LNK1104: cannot open file 'ifconsol.lib'
  • When I'm building 64-bit version of the program using the following additional linker options: /NODEFAULTLIB:ifconsol,libifcoremdd,libifportmd,libmmdd.lib,libirc.lib,svml_disp.lib, the following linking errors occure:
    Code: Select all
    lapack.lib(ilaenv.f.obj) : error LNK2019: unresolved external symbol for_cpystr referenced in function ILAENV
    lapack.lib(ilaenv.f.obj) : error LNK2019: unresolved external symbol for_cpstr referenced in function ILAENV
    lapack.lib(xerbla.f.obj) : error LNK2019: unresolved external symbol for_len_trim referenced in function XERBLA
    lapack.lib(xerbla.f.obj) : error LNK2019: unresolved external symbol for_write_seq_fmt referenced in function XERBLA
    lapack.lib(xerbla.f.obj) : error LNK2019: unresolved external symbol for_write_seq_fmt_xmit referenced in function XERBLA
    lapack.lib(xerbla.f.obj) : error LNK2019: unresolved external symbol for_stop_core referenced in function XERBLA
    lapack.lib(dormqr.f.obj) : error LNK2019: unresolved external symbol for_concat referenced in function DORMQR
    lapack.lib(dormlq.f.obj) : error LNK2001: unresolved external symbol for_concat
    lapack.lib(iparmq.f.obj) : error LNK2019: unresolved external symbol f_lanint_val referenced in function IPARMQ
  • I've successfully built 64-bit version of the library (version 3.3.1) with the Intel Fortran compiler, using CMake (nmake + Visual Studio 2008), but I've got the same errors.
My questions are
  • Is it possible to compile and run C++ program statically linked with the LAPACK library (http://icl.cs.utk.edu/lapack-for-window ... librairies ) without using Intel Fortran libraries for 64-bit Windows platform?
  • Why it's possible to compile and run C++ program linked with the LAPACK library on 32-bit version without this problem?

Thank you!
Andrey
 
Posts: 1
Joined: Mon May 23, 2011 12:43 pm

Re: Linking problem on Windows 64 bit platform

Postby admin » Tue Aug 16, 2011 9:59 am

Is it possible to compile and run C++ program statically linked with the LAPACK library (http://icl.cs.utk.edu/lapack-for-window ... librairies ) without using Intel Fortran libraries for 64-bit Windows platform?

Not at the moment

Why it's possible to compile and run C++ program linked with the LAPACK library on 32-bit version without this problem?

It shouldn't be possible either!!! You need the INTEL Fortran libraries.

The naming convention is usually the same for 32 and 64 bits.
admin
Site Admin
 
Posts: 501
Joined: Wed Dec 08, 2004 7:07 pm


Return to Linking Problem

Who is online

Users browsing this forum: Google [Bot] and 1 guest