I have a C++ application built on Linux 32bit/64 bit and Solaris64
bit. I am using gcc compiler but different version on different
platforms.
On Linux32 bit it is gcc3.3.2 (compatible versioin of libgcc_s.so.1
and libstdc++so.5)
Linux64 bit it is gcc3.4.6 (compatible version of libgcc_s.so.1 and
libstdc++so.6)
and Solaris64 it is gcc3.3.2 (compatible version of libgcc_s.so.1 and
libstdc++.so.5)
I need compatible version of libgcc_s.so.1 and libstdc++ to be
available on end user machine where application is to be installed.
I recommend end user to download these libraries from the net. My
installer has to check if the libraries that user is providing is the
version that should be used on that platforms.
So, for example on Linux64, I tried `strings -a libgcc_s.so.* | grep
"GCC"`, this shows me
"GCC_3.4.4" when run on libgcc_s.so.1 from gcc3.4.6. But same appears
in libgcc_s.so.1 from gcc3.4.4.
So, it is possible that user by mistake provide me libgcc_s.so.1 from
gcc3.4.4 whereas I need it from gcc3.4.6
What are the best checks that I can do to verify that the libgcc_s.so.
1 and libstdc++ provided by user would work with my application
compiled using particular gcc version.
Is libgcc_s.so.1 from gcc3.4.4 usable for application compiled with
gcc3.4.6?
I am currently doing checks like, check the file name, check if file
is compatible for that OS and architecture using 'file' command.
Thanks in advance.