Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

It's one thing that always puzzles me: when the software is distributed in binary form vendors sometimes provide several binaries compiled with a different versions of GCC. I use Opera browser as an example but I remember other software vendors do the same.

Opera provides several builds for their browser (http://snapshot.opera.com/unix/10.0-Alpha-1/intel-linux/):

  • opera-10.00-4102.gcc4-qt4.i386.rpm
  • opera_10.00.4102.gcc4.qt3_i386.deb
  • opera-10.00-4102.gcc4-qt4.i386.tar.gz
  • (etc.)

Why is the GCC version stated? I suppose it has nothing to do with dependency management unlike the packaging (RPM or DEB) or Qt version.

share|improve this question
add comment

1 Answer 1

up vote 1 down vote accepted

In this case it's because QT is built in C++ and several recent GCC releases have broken the C++ ABI, which is why you need the version wiht the same ABI as your system.

Generally commercial apps are shipped statically linked where possible as relying on system libraries (with the possible exception of libc) is fraught with peril.

Some details of Debian's last change of C++ ABI can be seen at:

http://lwn.net/Articles/139810/

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.