Description of problem: libstdc++so7.spec packages its libs under /usr/lib/gcc/%{_target_platform}/ unlike gcc.spec which puts them under /usr/lib/gcc/%{gcc_target_platform}. This breaks linking of libs with libtool since it tries to link with "-L/usr/lib/gcc/%{gcc_target_platform}". eg: $ rpm -qp --requires scim-libs-1.4.4-9.1.fc5.ppc.rpm | grep CXXABI libstdc++.so.6(CXXABI_1.3) whereas $ rpm -qp --requires scim-1.4.4-9.1.fc5.ppc.rpm | grep CXXABI libstdc++-20060203.so.7(CXXABI_1.4) I think libstdc++so7.spec needs to use the gcc_target_platform macro like gcc.spec does, with: %ifarch ppc %define gcc_target_platform ppc64-%{_vendor}-%{_target_os} %endif
jens, your analysis looks correct. Please feel free to do a patch that implements this...
Okay, sure. Perhaps %multilib_32_arch should be ported too?
Created attachment 127588 [details] libstdc++so7.spec-gcc_target_platform.patch This patch should implement the fix.
I built libstdc++so7-4.2.0-0.3.20060203.3 with the above patch for fc5-updates to address this issue.
libstdc++so7-4.2.0-0.3.20060203.3 has been pushed for fc5, which should resolve this issue. If these problems are still present in this version, then please make note of it in this bug report.
Unfortunately the wrapper script is still broken on ppc. The following change (tested on ppc and ppc64) seems to fix it. --- libstdc++7.spec 4 May 2006 10:25:26 -0000 1.5 +++ libstdc++7.spec 9 May 2006 11:07:57 -0000 @@ -124,7 +124,7 @@ cat >> $RPM_BUILD_ROOT%{_bindir}/g++-libstdc++-so_7 <<\EOF libversion=4.2.0-%{datestamp} includepath=include/c++/$libversion -%ifarch %{ix86} x86_64 ppc ppc64 s390 s390x sparc sparc64 +%ifarch %{ix86} x86_64 s390 s390x sparc sparc64 M=`echo "$*" | LC_ALL=C sed -n 's/^.*[[:blank:]]\(-m[63][421]\)\([[:blank:]].*$\|$\)/\1/p'` D=`/usr/bin/gcc -print-multi-os-directory $M` %endif @@ -135,10 +135,7 @@ esac %endif %ifarch ppc ppc64 -case "$D" in - ../lib64) T=ppc64-%{_vendor}-%{_os};; - *) T=ppc-%{_vendor}-%{_os};; -esac +T=ppc64-%{_vendor}-%{_os} %endif %ifarch s390 s390x case "$D" in
made this change for FC devel in 4.2.0-0.6.20060428
4.2.0-0.3.20060428.fc5.1 built for fc5 update
libstdc++so7-4.2.0-0.3.20060428.fc5.1 scim-1.4.4-9.2.fc5 scim-anthy-1.0.0-1.fc5.1 scim-chewing-0.2.1-5.2 scim-hangul-0.2.2-1.fc5.1 scim-m17n-0.2.0-2.1 scim-pinyin-0.5.91-4.4 scim-tables-0.5.6-3.1 has been pushed for fc5, which should resolve this issue. If these problems are still present in this version, then please make note of it in this bug report.
No Hardware available this time, next round we can try to test. thanks