Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
20 Views

Installation of fortran libraries

Good morning,

this is a semi-duplicate of a question i asked on StackOverflow, Initially, the question was different but Steve Lionel explained the origin of the problem, which i did not find how to resolve yet.

I have to link Intel's fortran redistributables for IA32 parallel studioXE 2017 with a SDK in order to be able to use it.

i went to:  this page and i selected Intel® Fortran Compiler 2017 for Windows* update 9. and proceded to this installation of the .msi file i got.

My problem is that i can not find were the libraries were installed. I searched where the install instructions were saying i could  find them (Common Files/Intel/Shared Libraries/redist/ia32_win/mpirt) but i just found a bunch of executables and .dlls that are seem not related to what i need. I also found some .so files inside :Shared Libraries/compiler/lib/intel64win_mic.

I dont understand where are the .lib files i am supposed to link against...

 

I am sorry if some of my questions might sound like i am a newbie, but it's because i am. I dont have much experience in compiling C/C++, i am more of a java/python developper.

0 Kudos
9 Replies
Highlighted
20 Views

By the way, by reading a

By the way, by reading a little more on Intel's website, it appears that whatever the installer installed, it did it inside: Program Files(x86)/common files/intel instead of Program Files(x86)/IntelSWTools/... Also, the visual studio project that i was handed is preconfigured and it tries to look inside IntelSWTools/compiles_and_libraries_2017.1.143/windows/compiler/lib/ia32_win Which makes me belive someting went wrong with the installation, but i dont get what or why.

0 Kudos
Highlighted
Retired Employee
20 Views

The redistributables

The redistributables installer is primarily meant for the DLLs. The path it uses matches that of the Intel development tool installs. That it also includes static libraries is a bit of an aberration, but there’s no other good place to install them. The VS project you have assumes a specific version of the development product is installed, which is obviously not going to be typical.

--
Steve (aka "Doctor Fortran") - https://stevelionel.com/drfortran
0 Kudos
Highlighted
20 Views

But there are absolutely no

But there are absolutely no .lib files in this install, did i forget to install something else?

the folder organization inside common files/Intel/Shared_libraries/redist/ia32_win is as such:

|-compiler-|

(contains the dlls like "libifcoremd.dll") and some subfolders containing from 2 to 4 .dll like "ifcore_msg.dll"

|-mpirt-|

(contains some executables like "wmpiconfig.exe" or hydra_service.exe")

 

and that is all, i did not see any .lib file (windows search did not find any either on the whole computer)

however with the wrong version of the fortran redistributables (11.1), the installer created a folder with a lot of .lib files inside (including libifcore.lib)

0 Kudos
Highlighted
Retired Employee
20 Views

As I noted above, the

As I noted above, the inclusion of .lib files was strange, as redistributable packages don't tend to do that. I confirmed that the 2019 redist installer doesn't provide .lib files. Redist packages are meant to supply DLLs for executables.

It seems that the .lib files were dropped from the redist packages longer ago than I thought - I went back to the 2013 release and they're not there.

What you can do instead is generate a .lib from the 2019 .dll. See https://stackoverflow.com/questions/9946322/how-to-generate-an-import-library-lib-file-from-a-dll#9946390 for instructions. You'll want to make sure your C code also links to DLL libraries.

--
Steve (aka "Doctor Fortran") - https://stevelionel.com/drfortran
0 Kudos
Highlighted
20 Views

Thak you so much.

Thak you so much.

I will try that ASAP. you really saved me a lot of time :)

0 Kudos
Highlighted
Retired Employee
20 Views

You will still need to have

You will still need to have the newer redist package installed.

--
Steve (aka "Doctor Fortran") - https://stevelionel.com/drfortran
0 Kudos
Highlighted
20 Views

So if i understand correctly

So if i understand correctly what you mean, i should download & install the Parallel Studio XE 2019 fortran redistributables and then try to convert the .dlls into .libs?

0 Kudos
Highlighted
Retired Employee
20 Views

Yes, though technically what

Yes, though technically what you're doing is creating an "import library". Even though it is a .lib, it isn't the same as a static library. You link your program against the import library and this establishes a connection to the corresponding DLL. You may need to do this only for libifcoremd.dll, so don't spend time doing this with every DLL in the package.

--
Steve (aka "Doctor Fortran") - https://stevelionel.com/drfortran
0 Kudos
Highlighted
20 Views

Thank you very much for your

Thank you very much for your help. Unfortunately, we have decided to abandon the use of that SDK (at least on windows) as it is likely to cause us a lot of problems in the future, it has been 2 weeks i tried to compile that thing and it looks like the people why created it make a mistake when they upgraded their developing tools. It really seems like a part of the SDK needs the more recent 2017 fortran redistributables while the other is still looking for 11.1. (the linker is always looking for ifcore.lib which does not even exist anymore). i have no clue why it is looking for it and i could not find it in the project options.

Thank you again for your help, i might as for a little more in the future (but i hope i wont have to :)

 

0 Kudos