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

How to find out what Intel compiler version that created a binary file?

youn__kihang
Novice
3,361 Views

Hello All,

I have some execution files that are created by Intel fortran compilers and Intel MPI libraries.
Is there a way to check what compiler the file is made of?
I was trying to find any methods but I can't find.
Please let me know if it exists.

Thanks

0 Kudos
1 Solution
andrew_4619
Honored Contributor II
3,361 Views

I opened an exe file in Notepad++  and did some searches. I found this string that may or may not be helpful....

"Intel Fortran RTL Message Catalog    V19.0-001 May 11 2018" 

View solution in original post

0 Kudos
7 Replies
JohnNichols
Valued Contributor III
3,356 Views

https://docs.microsoft.com/en-us/windows/win32/debug/pe-format

I would start here -- the file format is explained in detail -- you may have to make educated guesses based on the information you will find. 

 

0 Kudos
youn__kihang
Novice
3,361 Views

 

Thanks for help, Nichols

The URL is valuable for advanced windows user. But I am trying to check the version in Linux system.
For example, I have two exec files and one is built by Intel fortran v19 and IMPI v19 and another is built by Intel fortran v18 and IMPI v18.
Then how can I find out what exec file built by version 19 without specific file name(because it is indistinguishable).

Thanks
 

0 Kudos
JohnNichols
Valued Contributor III
3,356 Views

https://en.wikipedia.org/wiki/Executable_and_Linkable_Format

Get a binary file reader and look at file headers -- look at the compile dates if they show up and then line then up with release dates for the compilers

 

0 Kudos
andrew_4619
Honored Contributor II
3,362 Views

I opened an exe file in Notepad++  and did some searches. I found this string that may or may not be helpful....

"Intel Fortran RTL Message Catalog    V19.0-001 May 11 2018" 

0 Kudos
Steve_Lionel
Honored Contributor III
3,361 Views

There is no obvious way to know. At best you can look at the date the executable was created and eliminate any later releases. But if you find a useful string, as Andrew did, that could be a hint. The compiler itself doesn't put in anything that would tell you, unless (on Linux only) you use the -sox option.

0 Kudos
youn__kihang
Novice
3,361 Views

Thank you all,

Various users have been inquiring about library issues(compile/executive library differences),
but I haven't been able to identify problems that come from different compilation and execution environments.
I think I can solve it using the notepad method you told. Thank you!

Steve,
What command should I use when I look at the contents of a file compiled with sox? The Intel options description is shown below.
"It is then possible to use a tool, a search as a stress utility, to meet what options we used to build the Executive File."

Thank you again.

0 Kudos
Steve_Lionel
Honored Contributor III
3,361 Views

When compiled with -sox, use a "strings" command to find strings in the executable. Again, this is Linux-only. (It used to work on Windows until Microsoft changed the linker to throw away such "comment" strings. It's not supported on Mac either, but I am unsure why.)

0 Kudos
Reply