- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Please comment on this scenario:
We have our own code which we compile using Intel Fortran 12. One of our sub contractors provides us with a library and DLL, compiled in Intel Fortran 10. We do not have their code and can not compile it ourselves.
The two sets of DLLs would link against different versions of the Intel Fortran runtime DLLs (libmmd and such), with the same name (the old familiar DLL hell).
This contractor used to use Compaq Fortran until now, so this was not an issue, since the runtime dlls had different names. But they told me they are upgrading to Intel Fortran 10 and asked if we expect any problems. We used to use Intel Fortran 10 but we are busy upgrading to Intel Fortran 12.
I know Intel does not use manifest files (or did not in version 10), which could be used to remedy this situation.
Will this be an issue? If so, what can we do about it?
Or can Fortran 10 compiled code operate agains the version 12 runtime DLLs? Or would we have to put their DLL in a subdirectory along with its runtime DLLs and hopefully that would work?
By the way Lionel, thank you kindly for all the wonderful hints and help you provide in these forums. I hope Intel appreciates you! Their paying customers sure do.
We have our own code which we compile using Intel Fortran 12. One of our sub contractors provides us with a library and DLL, compiled in Intel Fortran 10. We do not have their code and can not compile it ourselves.
The two sets of DLLs would link against different versions of the Intel Fortran runtime DLLs (libmmd and such), with the same name (the old familiar DLL hell).
This contractor used to use Compaq Fortran until now, so this was not an issue, since the runtime dlls had different names. But they told me they are upgrading to Intel Fortran 10 and asked if we expect any problems. We used to use Intel Fortran 10 but we are busy upgrading to Intel Fortran 12.
I know Intel does not use manifest files (or did not in version 10), which could be used to remedy this situation.
Will this be an issue? If so, what can we do about it?
Or can Fortran 10 compiled code operate agains the version 12 runtime DLLs? Or would we have to put their DLL in a subdirectory along with its runtime DLLs and hopefully that would work?
By the way Lionel, thank you kindly for all the wonderful hints and help you provide in these forums. I hope Intel appreciates you! Their paying customers sure do.
1 Solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the kind words.
Your application built with ifort 10 will run with the newer DLLs. The converse is not true - an application built with version 12 will not run with version 10 DLLs.
We have a redistributables package that installs to a fixed location under Program Files\Common Files and it's careful not to replace newer files with older ones.
We do not use manifest files.
Your application built with ifort 10 will run with the newer DLLs. The converse is not true - an application built with version 12 will not run with version 10 DLLs.
We have a redistributables package that installs to a fixed location under Program Files\Common Files and it's careful not to replace newer files with older ones.
We do not use manifest files.
Link Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the kind words.
Your application built with ifort 10 will run with the newer DLLs. The converse is not true - an application built with version 12 will not run with version 10 DLLs.
We have a redistributables package that installs to a fixed location under Program Files\Common Files and it's careful not to replace newer files with older ones.
We do not use manifest files.
Your application built with ifort 10 will run with the newer DLLs. The converse is not true - an application built with version 12 will not run with version 10 DLLs.
We have a redistributables package that installs to a fixed location under Program Files\Common Files and it's careful not to replace newer files with older ones.
We do not use manifest files.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Fabulous. Thanks Lionel. We install the Intel Fortran runtime DLLs in the same directory as our application, as a foresight against possible DLL hell, so we should not have any issues then, even if some of the DLLs or OBJ were compiled on an older Intel Fortran version, and even if someone else's install overwrites any common versions.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sure, that works too.
By the way, my first name is Steve.
By the way, my first name is Steve.

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