Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.

IVF 11 and IMSL 4 (from CVF)

Nikita_Tropin
Novice
516 Views

Hello,

I have Compaq Visual Fortran 6.6 with IMSL 4.01 and Intel Visual Fortran 11 without IMSL. Is it possible to use IMSL 4.01 library that was bundled with CVF in Intel Fortran?

I've added paths to LIB and INCLUDE directories: C:\Program Files\Microsoft Visual Studio\DF98\IMSL\LIB and C:\Program Files\Microsoft Visual Studio\DF98\IMSL\INCLUDE

I have a source code as:

real*8 function bla-bla()
use numerical_libraries

...

call DQDAG(intKFunc, xi1, xi2, eps_kIntAbs, eps_kIntRel, 1, summ, err)

...

end function

And when I try to build solution, I have 24 errors:

Error 1 error LNK2001: unresolved external symbol __OtsMove imsls_err.lib(e1psh.obj)
Error 2 error LNK2001: unresolved external symbol __OtsMove imsls_err.lib(e1init.obj)
Error 3 error LNK2019: unresolved external symbol __OtsMove referenced in function _DQDAG imsl.lib(DQDAG.obj)
Error 4 error LNK2001: unresolved external symbol __OtsMove imsl.lib(DQ2AG.obj)
Error 5 error LNK2001: unresolved external symbol __OtsMove imsl.lib(DMACH.obj)
Error 6 error LNK2001: unresolved external symbol __OtsMove imsl.lib(E1USR.obj)
Error 7 error LNK2019: unresolved external symbol __FIIfexp_ referenced in function _DQ7AG imsl.lib(DQ7AG.obj)
Error 8 error LNK2001: unresolved external symbol __FIIfexp_ imsl.lib(DQ8AG.obj)
Error 9 error LNK2001: unresolved external symbol __FIIfexp_ imsl.lib(DQ4AG.obj)
Error 10 error LNK2001: unresolved external symbol __FIIfexp_ imsl.lib(DQ9AG.obj)
Error 11 error LNK2001: unresolved external symbol __FIIfexp_ imsl.lib(DQ5AG.obj)
Error 12 error LNK2001: unresolved external symbol __FIIfexp_ imsl.lib(DQ6AG.obj)
Error 13 error LNK2019: unresolved external symbol __OtsStringCompareEqlPadded referenced in function _E1USR imsl.lib(E1USR.obj)
Error 14 error LNK2001: unresolved external symbol __OtsStringCompareEqlPadded imsls_err.lib(e1pop.obj)
Error 15 error LNK2019: unresolved external symbol __OtsMoveMinimum referenced in function _E1PSH imsls_err.lib(e1psh.obj)
Error 16 error LNK2001: unresolved external symbol __OtsMoveMinimum imsls_err.lib(m1vech.obj)
Error 17 error LNK2019: unresolved external symbol __OtsFill referenced in function _E1PSH imsls_err.lib(e1psh.obj)
Error 18 error LNK2001: unresolved external symbol __OtsFill imsls_err.lib(e1init.obj)
Error 19 error LNK2001: unresolved external symbol __OtsFill imsls_err.lib(m1vech.obj)
Error 20 error LNK2019: unresolved external symbol __OtsStringIndex referenced in function _C1TCI imsls_err.lib(c1tci.obj)
Error 21 error LNK2019: unresolved external symbol __FXDMOD referenced in function _E1UCS imsls_err.lib(e1ucs.obj)
Error 22 error LNK2001: unresolved external symbol __FXDMOD imsls_err.lib(e1ucs.obj)
Error 23 error LNK2001: unresolved external symbol __FXDMOD imsls_err.lib(e1ucs.obj)
Error 24 fatal error LNK1120: 7 unresolved externals Debug\filtration_batch_intel.exe

Is it possible at all to use CVF IMSL 4.1 in Intel Visual Fortran?

0 Kudos
3 Replies
Steven_L_Intel1
Employee
516 Views

Not possible. The CVF IMSL is Fortran code compiled with CVF - you cannot mix objects from any other Fortran compiler with those from Intel Fortran.

0 Kudos
anthonyrichards
New Contributor III
516 Views

Not possible. The CVF IMSL is Fortran code compiled with CVF - you cannot mix objects from any other Fortran compiler with those from Intel Fortran.

But can you not use CVF to build a Windows 32 bit staticlibrary containing wrappers to IMSL routines that can then be linked to by any other compiler?

0 Kudos
Steven_L_Intel1
Employee
516 Views

You could build a DLL that does this - not a static library - but the IMSL license has wording prohibiting distribution of IMSL in a way that provides IMSL access to another application. You'd want to be careful what you did with this DLL.

0 Kudos
Reply