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

libiomp5md

Terry_Wiles
Beginner
1,999 Views

C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2019.4.228\windows\redist\ia32_win\compilerlibiomp5md.dll update results in the error "The application was unable to start correctly (0x00000007b)"

Reverting to an older update of this dll from 2018 works without issue.

Note that I am using a fortran DLL call from Microsoft C main program detailed below:

Microsoft Visual Studio Community 2015
Version 14.0.25431.01 Update 3
Microsoft .NET Framework
Version 4.7.03190

Installed Version: Community

Visual C++ 2015   00322-20000-00000-AA272
Microsoft Visual C++ 2015

Intel® Parallel Studio XE 2019 Update 4 Composer Edition for Fortran Windows*   Package ID: w_comp_lib_2019.4.228
Intel® Parallel Studio XE 2019 Update 4 Composer Edition for Fortran Windows* Integration for Microsoft Visual Studio* 2015, Version 19.0.0052.14, Copyright © 2002-2019 Intel Corporation. All rights reserved.

0 Kudos
9 Replies
jimdempseyatthecove
Honored Contributor III
1,999 Views

>>C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2019.4.228\windows\redist\ia32_win\compilerlibiomp5md.dll

There appears to be a \ missing after compiler

There may be an issue with the path

*** also, on your system the correct folder for lipiomp5md.dll should be:

C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2019.4.228\windows\compiler\lib\ia32_win\libiomp5md.dll

IOW not from  the redist folder

My guess is you installed the development system and installed the redistributables and the path to the redistributables (ia32_win\compiler) is missing the trailing \

Jim Dempsey

0 Kudos
Terry_Wiles
Beginner
1,999 Views

Hi Jim,

Thanks for you response.

The missing \ was just a typing error on my part so not a concern.

Since libiomp5md.dll is not distributed as part of a standard windows installation I need to include it with my software when shipped to clients.

The reason I use libiomp5md.dll from the redist folder is because there is no dll in the lib folder. The lib folder only has libiomp5md.lib

As I said above, if I include libiomp5md.dll (18/04/2019 - 1.47MB) from the redist folder (part of 2019.4.228) my application gives the (0x00000007b) error on startup.

However, if I include libiomp5md.dll (11/02/2018 - 1.57MB) from a previous compiler installation, my application runs perfectly.

Something seems to be wrong with the libiomp5md.dll distributed with 2019.4.228

0 Kudos
andrew_4619
Honored Contributor II
1,999 Views

What do you mean by "if I include" are you copying and moving DLLs for your install? 

0 Kudos
jimdempseyatthecove
Honored Contributor III
1,999 Views

>>Since libiomp5md.dll is not distributed as part of a standard windows installation I need to include it with my software when shipped to clients.

You might consider using the Intel Redistributables itself as opposed to individual file(s). Installation of the Redistributables also modifies config.sys environment variables. If you still wish to include only individual files from the Redistributables, I suggest using a "clean" system, collect the environment variables into a file (SET > ENVPRIOR.TXT), then install the Redistributables, collect environment again (SET > ENVINTEL.TXT) and perform a WinDiff. Your installation script can then be modified to take account of any requirements.

Additional note, at one of the version increments of IVF, at, or just after, implementation of OpenMP 4.0 features (that with TASK), the Fortran/omp runtime system also referenced the Intel TBB Scalable Allocator. This is likely tbbmalloc.dll, but that may have an additional dependency in the tbb folder.

To identify program dependencies you might try one of these utilities: https://www.raymond.cc/blog/check-what-dll-or-ocx-dependency-files-is-needed-for-a-software/

Jim Dempsey

0 Kudos
Terry_Wiles
Beginner
1,999 Views

Hi Jim,

Thanks for you reply again, however I do not think that is the problem.

If I run my application with a copy of libiomp5md.dll in the same folder I get the message "The code execution cannot proceed because libiomp5md.dll was not found".

If I run my application with the copy of libiomp5md.dll (18/04/2019 - 1.47MB) distributed with 2019.4.228, I get the message  "The application was unable to start correctly (0x00000007b)".

If I run my application with the copy of libiomp5md.dll (11/02/2018 - 1.57MB), there are not messages and may application runs as expected.

I still believe that something is wrong with the libiomp5md.dll distributed with 2019.4.228

Best Regards, Terry Wiles

0 Kudos
Terry_Wiles
Beginner
1,999 Views

Hi Jim,

Above I meant to say:

If I run my application without a copy of libiomp5md.dll in the same folder I get the message "The code execution cannot proceed because libiomp5md.dll was not found".

Sorry for the miss-wording.

0 Kudos
gib
New Contributor II
1,999 Views

Hi Terry,

Have you tried one of the dependency-checking tools that Jim suggested?  I use Dependency Walker, and find it very helpful.

Cheers, Gib

0 Kudos
mecej4
Honored Contributor III
1,999 Views

I suspect that the problems are caused by inadvertently (or indiscriminately) mixing 32-bit and 64-bit DLLs. The 1.47 MB DLL is probably a 32-bit DLL. If your application is 64-bit, and the search path leads only to the 32-bit DLL (see https://docs.microsoft.com/en-us/windows/desktop/Dlls/dynamic-link-library-search-order#standard-search-order-for-desktop-applications ), there will be a problem.

A number of tools, including the 7zip utility, can tell whether a given DLL is 32-bit or 64-bit. See https://www.raymond.cc/blog/determine-application-compiled-32-64-bit/ for alternatives.

0 Kudos
jimdempseyatthecove
Honored Contributor III
1,999 Views

>>I suspect that the problems are caused by inadvertently (or indiscriminately) mixing 32-bit and 64-bit DLLs.

.OR. omitting an additional path to the 64-bit DLLs.
.OR. failing to register the DLL
(this link may be of interest https://stackoverflow.com/questions/4897685/how-do-i-register-a-dll-file-on-windows-7-64-bit)

Jim Dempsey

 

0 Kudos
Reply