- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What's the best way to determine the product version associated with an Intel .so file?
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Some runtime libraries, like libifcore.so.5, libifport.so.5, and libifcoremt.so.5 have information that can be revealed with strings. Others like libimf.so, libirc.so, and libsvml.so contain this information, but only for newer versions. libirng.so does not contain this information in strings.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
For the Intel .so (which do not include version information in strings), is there a tool which will tell me the version given the md5sum (or other) checksum value?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Within Fortran itself you now have the compiler_version intrinsic function. If that is not enough, you could try to:
- Find the exact names of the loaded .so files via ldd and parsing the output
- Turn the contents in an MD5 checksum. You will need to read the .so file and pass the contents to some routine that determines the MD5 sum, but it can certainly be done (we have done so for database files we use)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What I am looking for is not the compiler version, but the runtime library version of some given Intel (Fortran or C++) .so.
For example, I know how to identify the specific shared objects loaded for a given running processid:
prompt> awk '$NF!~/\.so/{next} {$0=$NF} !a[$0]++' /proc/processid/maps
Let's say that one of them is the Intel runtime library libsvml.so. Newer versions of libsvml.so contain version information:
prompt> strings path1/libsvml.so | grep Intel
Intel(R) oneAPI DPC++/C++ Compiler 2022.2.1 (2022.2.1.20221015)
prompt>
But older versions do not:
prompt> strings path2/libsvml.so | grep Intel
prompt>
I can obtain the md5 checksum:
prompt> md5sum path2/libsvml.so
3a91d364c151abec3957850c71b92c99 path2/libsvml.so
How do I determine the version of Intel shared objects (e.g.) libsvml.so given its checksum (e.g. 3a91d364c151abec3957850c71b92c99)?
The process may load multiple Intel shared objects, unfortunately from different releases.

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