On Tue, 05 Aug 2008 13:46:03 GMT
Neophyte42 <Neophyte42@no-mx.forums.opensuse.org> wrote:
> Specifically, I’d like to determine how to find out which version of
> what Fortran was used to build the fftw libraries on the build service
> In general, how do I determine this on my own? Is there a command to
> run on the library to give this or is this info given in one of the
> yast repo fields?
I know that the current fftw libraries are compiled using the current
Please excuse my asking, but what need prompts you to try to determine the
compiler version involved with creating a library?
I could imagine needing to know if an older compiler was used that had a
serious bug which caused erroneous code to be produced… but that would be
easily fixed by using a compiler which didn’t have that bug… presumably,
the most recent.
You could infer a general timeframe for a library’s creation by indexing
the library dependencies it has. Older libraries which have not been
recompiled would have correspondingly older references to glibc, libmath, etc.
That’s a lot of effort though… why not just recompile the library if it’s
problematic to have/use the older library.
In the “old days”, you could determine which compiler was used by examining
chunks of code for known compilation blocks. Optimization ability has
increased dramatically in the last few years, producing smaller, more compact
code utilizing more intelligent usage of registers, stack and memory. It is
no longer trivially possible to truly identify a compiler by its output.
Oh, found it! I knew I’d seen it somewhere…
for any ELF executable or library, the following command will display the
contents of the .comment section in the file if it exists. This section
contains information concerning the compiler used to create the file.
readelf -p .comment filename
Replace ‘filename’ as appropriate.
Hope this helps.
L R Nix