Red Hat Bugzilla – Bug 184380
New gcc packages break third party software
Last modified: 2007-11-30 17:07:23 EST
Description of problem:
The Update 3 release of RHEL4 moves the systems from GCC 3.4.4 to GCC 3.4.5,
causing programs linked against the old version to fail. In particular, PGI
Workstation 6.0-8 produces the error below.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Apply RHBA-2006:0125
Programs linked against libs in /usr/lib/gcc/x86_64-redhat-linux/3.4.4 fail with
/usr/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/3.4.4/crtbegin.o: No such file: No
such file or directory
because there now is no /usr/lib/gcc/x86_64-redhat-linux/3.4.4 - just a
/usr/lib/gcc/x86_64-redhat-linux/3.4.3 and a /usr/lib/gcc/x86_64-redhat-linux/3.4.5
Bugfixes do not create bugs!
While I can see that there might be good reasons to move to GCC 3.4.5, breaking
existing systems is not funny, especially in an "enterprise" distribution.
After all, what's the point in having the compat-gcc packages filling up (e.g.)
/usr/lib/gcc/x86_64-redhat-linux/3.4.3/ with copies of the libs so that binaries
compiled on RHEL3 still work, if it's the intention that binaries linked on
RHEL4 or RHEL4U2 now do not work?
If PGI hardcodes the paths, then it is certainly very much broken, you should
open a ticket with PGI provider instead. The exact paths are GCC implementation
detail, nothing third party software can rely on.
GCC supports gcc -print-file-name=crtbegin.o etc. for a reason.