- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We just got out IMSL 6 and IVF 10.
I installed IVF 10 and VS2005 on Windows XP 64bit computer. It works fine.
Then I installed the IMSL6 for IVF 10 and follow the instruction of UsingIMSL.pdf to configure the IMSL 6 for IVF.
After that, I tried to test whether it works or not.
I wrote a simple program as follows:
***********************************
program Console3
USE UMACH_INT
implicit none
integer NOUT
end program Console3
***********************************
I compiled and no error both in 32bit and x64bit building process.
However, when I call the UMACH function as follow:
***********************************
program Console3
USE UMACH_INT
implicit none
integer NOUT
CALL UMACH(2,NOUT)
end program Console3
***********************************
Error messages are as follows:
1>------ Build started: Project: Console3, Configuration: Debug x64 ------
1>Linking...
1>Console3.obj : error LNK2019: unresolved external symbol UMACH referenced in function MAIN__
1>x64DebugConsole3.exe : fatal error LNK1120: 1 unresolved externals
1>
1>Build log written to "file://C:UsersSourcecodesConsole3Console3x64DebugBuildLog.htm"
1>Console3 - 2 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
I really need help on this points. I tried every kinds of metheds and no help.
I used IMSL 5 with IVF 9, and other previous versions, all were fine. But this time, it is a little trouble.
Thanks for your kind help!
Kuilin
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
INCLUDE 'link_fnl_static.h'
in order to pull in the proper libraries. The first test case didn't actually call anything so it linked ok.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear Steve,
Thanks for reply.
I add the include part as you provide.
Now the program is as follows:
************************************
program Console3
INCLUDE 'link_fnl_static.h'
USE UMACH_INT
implicit none
integer NOUT
CALL UMACH(2,NOUT)
end program Console3
************************************
And the error messages are as follows:
1>------ Build started: Project: Console3, Configuration: Debug x64 ------
1>Linking...
1>imsls_err.lib(umach.obj) : error LNK2019: unresolved external symbol __kmpc_global_thread_num referenced in function UMACH
1>imsls_err.lib(e1lock.obj) : error LNK2001: unresolved external symbol __kmpc_global_thread_num
1>imsls_err.lib(umach.obj) : error LNK2019: unresolved external symbol __kmpc_threadprivate_cached referenced in function UMACH
1>imsls_err.lib(e1lock.obj) : error LNK2019: unresolved external symbol __kmpc_critical referenced in function E1LOCK
1>imsls_err.lib(e1lock.obj) : error LNK2019: unresolved external symbol __kmpc_flush referenced in function E1LOCK
1>imsls_err.lib(e1lock.obj) : error LNK2019: unresolved external symbol __kmpc_end_critical referenced in function E1LOCK
1>imsls_err.lib(e1lock.obj) : error LNK2019: unresolved external symbol __kmpc_set_nest_lock referenced in function E1LOCK
1>imsls_err.lib(e1lock.obj) : error LNK2019: unresolved external symbol omp_set_nest_lock referenced in function E1LOCK
1>imsls_err.lib(e1lock.obj) : error LNK2019: unresolved external symbol __kmpc_unset_nest_lock referenced in function E1LOCK
1>imsls_err.lib(e1lock.obj) : error LNK2019: unresolved external symbol omp_unset_nest_lock referenced in function E1LOCK
1>imsls_err.lib(e1lock.obj) : error LNK2019: unresolved external symbol __kmpc_init_nest_lock referenced in function E1LOCK
1>imsls_err.lib(e1lock.obj) : error LNK2019: unresolved external symbol omp_init_nest_lock referenced in function E1LOCK
1>x64DebugConsole3.exe : fatal error LNK1120: 11 unresolved externals
1>
1>Build log written to "file://C:UsersSourcecodesConsole3Console3x64DebugBuildLog.htm"
1>Console3 - 13 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
I did add the the path to the directory list at Tools->Options->Intel Fortran->General.
for Libraries:
C:Program Files (x86)VNIimslfnl600Intel64lib
for Includes:
C:Program Files (x86)VNIimslfnl600Intel64includedll
C:Program Files (x86)VNIimslfnl600Intel64includestatic
Thanks for your kind time and help!
Kuilin
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Add this line after the INCLUDE:
!DEC$ OBJCOMMENT LIB:"libguide.lib"
and that should do it. I'm trying to convince VNI that they should add libguide (or libguide40.lib as appropriate) to the link_fnl_xxx files.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Steve,
Thank you very much! You are really help at this point, which costed me two weeks and no solution.
Yes, I enabled the /Qopenmp at the project properties->Language->Process OpenMP Directives. But it needs that line you provide only once.
Anyway, please give us an new release about this in the near future, so that we can use IMSL and OpenMP with Intel Visual Fortran in VS 2005 very well.
Thanks,
Kuilin
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Next time you get stuck, ask here or at Intel Premier Support. We'll be glad to help.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This information is really useful. When I use IMSL, I havethe same problem.Will a revised vision of the IMSL lib come out?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
INCLUDE 'link_fnl_static.h'
!DEC$ OBJCOMMENT LIB:"libguide.lib"
(thanks much!)
However, now I have a new problem: when I try to run my application, I get the following error message:
OMP abort: Initializing libguide.lib, but found libguide.lib already initialized.
This may cause performance degradation and correctness issues.
Set environment variable KMP_DUPLICATE_LIB_OK=TRUE to ignore this problem and force the problem to continue anyway.
Please note that the use of KMP_DUPLICATE_LIB_OK is unsupported and using it may cause undefined behavior.
For more information, please contact Intel Premier Support.
Here's the background:
My application is written in C++, and it loads (dynamically) 3 different DLLs that are written in FORTRAN. Each of these three FORTRAN DLLs has static links to IMSL. I'm using Visual Fortran 10.1.011 and IMSL 6.0.
I'd prefer NOT to set the environment variable if possible. Is there another way to fix the compilation problems?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
INCLUDE 'link_fnl_shared.h'
You don't need the OBJCOMMENT line.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This worked in a previous incarnation of VF and IMSL. I'm just the guy who got tagged with migrating to the latest version :^). Disabling OpenMP might be an option, but long term we want to use that, too.
Best regards,
Steve Culy
GoldSim Technology Group
www.goldsim.com
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks again,
Steve

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