Red Hat Bugzilla – Bug 154027
compat-gcc-32-c++ includes files for 3.3.4 C++ compiler
Last modified: 2007-11-30 17:11:03 EST
From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.6) Gecko/20050403 Firefox/1.0.2 Description of problem: rpm -q -p ./compat-gcc-32-c++-3.2.3-47.fc4.i386.rpm -l shows, among other useful files: - /usr/include/c++/3.3.4/ and all expected stl includes in that directory - /usr/lib/gcc-lib/i386-redhat-linux/3.3.4/libstdc++.a - /usr/lib/gcc-lib/i386-redhat-linux/3.3.4/libstdc++.so - /usr/lib/gcc-lib/i386-redhat-linux/3.3.4/libsupc++.a I found this trying to install compat-gcc-32-c++ alongside of compat-gcc (the 3.3.4 compiler) on FC3 release. I know that this is non-standard, but I don't think the 3.3.4 files listed above should be part of the 3.2.3 RPM. Version-Release number of selected component (if applicable): compat-gcc-32-c++-3.2.3-47 How reproducible: Always Steps to Reproduce: Running on FC3 system with compat-gcc installed: 1.rpm -i --test --nodeps compat-gcc-32-c++-3.2.3-47.fc4.i386.rpm Actual Results: file /usr/include/c++/3.3.4/i386-redhat-linux/bits/c++config.h from install of compat-gcc-32-c++-3.2.3-47.fc4 conflicts with file from package compat-libstdc++-devel-8-3.3.4.2 file /usr/include/c++/3.3.4/i386-redhat-linux/bits/gthr-default.h from install of compat-gcc-32-c++-3.2.3-47.fc4 conflicts with file from package compat-libstdc++-devel-8-3.3.4.2 file /usr/include/c++/3.3.4/i386-redhat-linux/bits/gthr-posix.h from install of compat-gcc-32-c++-3.2.3-47.fc4 conflicts with file from package compat-libstdc++-devel-8-3.3.4.2 file /usr/include/c++/3.3.4/i386-redhat-linux/bits/gthr-single.h from install of compat-gcc-32-c++-3.2.3-47.fc4 conflicts with file from package compat-libstdc++-devel-8-3.3.4.2 file /usr/include/c++/3.3.4/i386-redhat-linux/bits/gthr.h from install of compat-gcc-32-c++-3.2.3-47.fc4 conflicts with file from package compat-libstdc++-devel-8-3.3.4.2 file /usr/include/c++/3.3.4/i386-redhat-linux/bits/os_defines.h from install of compat-gcc-32-c++-3.2.3-47.fc4 conflicts with file from package compat-libstdc++-devel-8-3.3.4.2 file /usr/include/c++/3.3.4/limits from install of compat-gcc-32-c++-3.2.3-47.fc4 conflicts with file from package compat-libstdc++-devel-8-3.3.4.2 file /usr/lib/gcc-lib/i386-redhat-linux/3.3.4/libstdc++.a from install of compat-gcc-32-c++-3.2.3-47.fc4 conflicts with file from package compat-libstdc++-devel-8-3.3.4.2 file /usr/lib/gcc-lib/i386-redhat-linux/3.3.4/libstdc++.so from install of compat-gcc-32-c++-3.2.3-47.fc4 conflicts with file from package compat-libstdc++-devel-8-3.3.4.2 file /usr/lib/gcc-lib/i386-redhat-linux/3.3.4/libsupc++.a from install of compat-gcc-32-c++-3.2.3-47.fc4 conflicts with file from package compat-libstdc++-devel-8-3.3.4.2 Expected Results: I would expect gcc32 to co-exist with gcc33 with no conflicts Additional info: Current "rpm -qa" includes: compat-libstdc++-8-3.3.4.2 compat-libstdc++-devel-8-3.3.4.2 compat-gcc-c++-8-3.3.4.2 compat-gcc-8-3.3.4.2
That is intentional. GCC 3.2.x and 3.3.x is (moreless) binary compatible, but there is just backward compatibility in libstdc++, so 3.2.x built code can work against 3.3.x libstdc++ but not the other way around. GCC 3.2.3-RH has been chosen for compatibility compiler because unlike 3.3.x Red Hat needs to support 3.2.3-RH for a few more years and with the included 3.3.x libstdc++ you can run both 3.2 and 3.3 compiled programs against it.