Angus Leeming wrote: > Helge Hafting <[EMAIL PROTECTED]> writes: >> How can I know what compiler was used for a library? >> I tried strings /usr/lib/libstdc++.so.6.0.7 | grep GCC >> and got >> GCC_3.3 >> GCC_3.0 >> So, 3.0 or 3.3?
This test is not suitable to find out which compiler was used. It rather finds some versioned symbols that are there for compatibility with older compilers. In fact, if you get GCC_3.3 that means that something newer was used to compile this lib, either gcc 3.4 or later. A better test is dpkg -S /usr/lib/libstdc++.so.6.0.7 that should print the package name and version number of the libstdc++ package. >> And gcc 4.0 worked fine for such a long time - strange. > > I'd imagine that g++ 4.0 would come with its own libstdc++, no? > > However, in general you should use the same g++ compiler as was used to > compile those libraries that were compiled with a c++ compiler. In our > case the biggie is libqt. (Unless you want to build Qt yourself for use > with LyX.) The default qt was built with gcc 4.0: http://pdo.debian.net/unstable/libs/libqt3-mt > Putting all that to one side, however, didn't Debian unstable go through a > painful upgrade a few months ago. All their libraries should now be > compatible with the default g++ compiler, whichever version that is. (I > forget :() It is 4.0. See here: http://pdo.debian.net/unstable/devel/gcc I suggest to do the dpkg -S test with all libraries that are listed in 'ldd lyx'. Georg
