[Bug 637202] New: Yast and zypper symbol lookup error after updating libstdc++ with zypper (upgrade 11.2 --> 11.3)
https://bugzilla.novell.com/show_bug.cgi?id=637202 https://bugzilla.novell.com/show_bug.cgi?id=637202#c0 Summary: Yast and zypper symbol lookup error after updating libstdc++ with zypper (upgrade 11.2 --> 11.3) Classification: openSUSE Product: openSUSE 11.3 Version: Final Platform: x86-64 OS/Version: openSUSE 11.2 Status: NEW Severity: Critical Priority: P5 - None Component: Update Problems AssignedTo: bnc-team-screening@forge.provo.novell.com ReportedBy: antonio.zangaro@web.de QAContact: jsrain@novell.com Found By: --- Blocker: --- User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.1.4) Gecko/20091016 SUSE/3.5.4-1.1.2 Firefox/3.5.4 Hello, I got into trouble with the update howto from http://de.opensuse.org/Upgrade and executing the command # zypper in zypper After executing the command zypper deletes, installs and updates some packages. When I tried to start yast I got following error messages: /usr/lib/YaST2/bin/y2controlcenter: symbol lookup error: /usr/lib64/libstdc++.so.6: undefined symbol: _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE, version GLIBCXX_3.4 or in case of zypper: zypper: symbol lookup error: /usr/lib64/libstdc++.so.6: undefined symbol: _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE, version GLIBCXX_3.4 I made a downgrade of all changed packages to the versions of openSuse 11.2 and found the problem in the libstdc++4.5 package comming from http://download.opensuse.org/distribution/11.3/repo/oss/suse/x86_64 After downgrading libstdc++ to version 4.4 (for sure it was some work because the only tool I had was rpm) it's all ok. Zypper and yast working perfectly. In fact I want to upgrade to version 11.3. Is there another rpm-package of libstdc++ 4.5 without a bug? Reproducible: Always Steps to Reproduce: 1.Follow the instructions in the upgrade howto at opensuse 2.Enter and execute "zypper in zypper" Actual Results: I got following error messages: zypper: symbol lookup error: /usr/lib64/libstdc++.so.6: undefined symbol: _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE, version GLIBCXX_3.4 /usr/lib/YaST2/bin/y2controlcenter: symbol lookup error: /usr/lib64/libstdc++.so.6: undefined symbol: _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE, version GLIBCXX_3.4 Expected Results: All but printing these messages. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=637202 https://bugzilla.novell.com/show_bug.cgi?id=637202#c wei wang <wewang@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |wewang@novell.com AssignedTo|bnc-team-screening@forge.pr |jkupec@novell.com |ovo.novell.com | -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=637202 https://bugzilla.novell.com/show_bug.cgi?id=637202#c1 Ján Kupec <jkupec@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P5 - None |P2 - High Status|NEW |NEEDINFO InfoProvider| |rguenther@novell.com AssignedTo|jkupec@novell.com |zypp-maintainers@forge.prov | |o.novell.com --- Comment #1 from Ján Kupec <jkupec@novell.com> 2010-09-06 10:48:46 UTC --- Richard, can you shed some light on this? Curious why other users did not bump to this issue. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=637202 https://bugzilla.novell.com/show_bug.cgi?id=637202#c2 Richard Guenther <rguenther@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |NEW InfoProvider|rguenther@novell.com | --- Comment #2 from Richard Guenther <rguenther@novell.com> 2010-09-06 10:55:36 UTC --- Because the symbol is there in the libstdc++ version zypper was compiled against. I suppose it is going the other way, first libzypp/zypper is updated which then fails to run because dependencies are not valid? So it looks like an update problem to me. Or reporter had an older libstdc++45 installed from some custom repository. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=637202 https://bugzilla.novell.com/show_bug.cgi?id=637202#c3 --- Comment #3 from Antonio Zangaro <antonio.zangaro@web.de> 2010-09-06 15:42:13 UTC --- (In reply to comment #2)
Because the symbol is there in the libstdc++ version zypper was compiled against.
I suppose it is going the other way, first libzypp/zypper is updated which then fails to run because dependencies are not valid? So it looks like an update problem to me. Or reporter had an older libstdc++45 installed from some custom repository.
Hello, I just got libstdc++ from (it was installed automatically from this source) http://download.opensuse.org/distribution/11.3/repo/oss/suse/x86_64/libstdc+... because in order to make this update you have firstly to update your repository list to openSuse 11.3 repositories. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=637202 https://bugzilla.novell.com/show_bug.cgi?id=637202#c4 --- Comment #4 from Ján Kupec <jkupec@novell.com> 2010-10-14 16:07:57 UTC --- (In reply to comment #2)
Because the symbol is there in the libstdc++ version zypper was compiled against.
I suppose it is going the other way, first libzypp/zypper is updated which then fails to run because dependencies are not valid?
Update order should be guaranteed. Zypp requries libstdc++-devel. No specific version, though. Maybe we need to depend on the newer libstdc++ if we won't run on the old one? But i still don't get why all users did not bump into this (alright, those who did dup without updating zypper first would not bump into it). -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=637202 https://bugzilla.novell.com/show_bug.cgi?id=637202#c5 --- Comment #5 from Richard Guenther <rguenther@novell.com> 2010-10-15 10:55:08 UTC --- (In reply to comment #4)
(In reply to comment #2)
Because the symbol is there in the libstdc++ version zypper was compiled against.
I suppose it is going the other way, first libzypp/zypper is updated which then fails to run because dependencies are not valid?
Update order should be guaranteed. Zypp requries libstdc++-devel. No specific version, though. Maybe we need to depend on the newer libstdc++ if we won't run on the old one?
zypper on 11.3 requires libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.1)(64bit) libstdc++.so.6(GLIBCXX_3.4)(64bit) libstdc++.so.6(GLIBCXX_3.4.10)(64bit) libstdc++.so.6(GLIBCXX_3.4.11)(64bit) libstdc++.so.6(GLIBCXX_3.4.14)(64bit) libstdc++.so.6(GLIBCXX_3.4.9)(64bit) which means that a libstdc++ satisfying these should be enough to make zypper work. On 11.2 libstdc++44 provides libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.1)(64bit) libstdc++.so.6(CXXABI_1.3.2)(64bit) libstdc++.so.6(CXXABI_1.3.3)(64bit) libstdc++.so.6(GLIBCXX_3.4)(64bit) libstdc++.so.6(GLIBCXX_3.4.1)(64bit) libstdc++.so.6(GLIBCXX_3.4.10)(64bit) libstdc++.so.6(GLIBCXX_3.4.11)(64bit) libstdc++.so.6(GLIBCXX_3.4.12)(64bit) libstdc++.so.6(GLIBCXX_3.4.2)(64bit) libstdc++.so.6(GLIBCXX_3.4.3)(64bit) libstdc++.so.6(GLIBCXX_3.4.4)(64bit) libstdc++.so.6(GLIBCXX_3.4.5)(64bit) libstdc++.so.6(GLIBCXX_3.4.6)(64bit) libstdc++.so.6(GLIBCXX_3.4.7)(64bit) libstdc++.so.6(GLIBCXX_3.4.8)(64bit) libstdc++.so.6(GLIBCXX_3.4.9)(64bit) libstdc++.so.6(libstdc++.so.6)(64bit) so it's missing libstdc++.so.6(GLIBCXX_3.4.14)(64bit) which should cause libstdc++45 from 11.3 to be installed. If during a 'zypper install zypper' (after updating the repos to point to the 11.3 ones) the zypper command tries to invoke itself the of course that cannot work (it may not launch sub-processes that depend on anything that is currently being installed).
But i still don't get why all users did not bump into this (alright, those who did dup without updating zypper first would not bump into it).
I suspect zypper or libzypp ist simply doing sth stupid (like not properly using rpm). -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=637202 https://bugzilla.novell.com/show_bug.cgi?id=637202#c6 Michael Andres <ma@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|zypp-maintainers@forge.prov |matz@novell.com |o.novell.com | --- Comment #6 from Michael Andres <ma@novell.com> 2010-10-28 11:42:21 CEST --- Internet (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43968) says: - The ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE symbol changed from 'WEAK' to 'UNIQUE' with 4.5.0. - There's a generic ar/ranlib bug not adding STB_GNU_UNIQUE symbols to some index. (file '/usr/bin/ranlib' from package 'binutils' maintained by 'matz@novell.com') Probably this is already fixed? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=637202 https://bugzilla.novell.com/show_bug.cgi?id=637202#c7 --- Comment #7 from Richard Guenther <rguenther@novell.com> 2010-10-29 13:08:45 UTC --- (In reply to comment #6)
Internet (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43968) says:
- The ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE symbol changed from 'WEAK' to 'UNIQUE' with 4.5.0.
- There's a generic ar/ranlib bug not adding STB_GNU_UNIQUE symbols to some index.
(file '/usr/bin/ranlib' from package 'binutils' maintained by 'matz@novell.com')
Probably this is already fixed?
This looks unrelated (it's about static libraries). -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=637202 https://bugzilla.novell.com/show_bug.cgi?id=637202#c8 Michael Matz <matz@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |pbaudis@novell.com AssignedTo|matz@novell.com |mls@novell.com --- Comment #8 from Michael Matz <matz@novell.com> 2010-11-02 11:40:20 UTC --- The problem really is that for GNU_UNIQUE symbols to work also the dynamic loaders has to understand them. The one from 11.2 doesn't. You really need to update glibc too. Our automatic dependency generation doesn't detect this situation, that's why updating to libstdc++45 doesn't automatically also pull in a new glibc. It really should. I'd propose to make glibc provide a capability (like 'libc-gnu-unique' or something) and make the autodep generation require this capability if shared libraries or applications in a package have any GNU_UNIQUE symbols in they dynamic symbol tables. Assigning to RPM maintainer for that, and CCing glibc maintainer to discuss the name of this. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=637202 https://bugzilla.novell.com/show_bug.cgi?id=637202#c9 Michael Schröder <mls@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |CLOSED CC| |matz@novell.com Resolution| |WONTFIX --- Comment #9 from Michael Schröder <mls@novell.com> 2010-11-02 11:55:39 UTC --- As all glibc versions after 11.2 support GNU_UNIQUE I don't see why we should clutter the dependencies for this. Mixing 11.2/11.3 rpms is unsupported anyway. zypper really needs an option for safe dup updates. This 'zypper in zypper' business is really the wrong way to do it. (For 11.2 -> 11.3 it's even not necessary, just switch over to the 11.3 repos and do 'zypper dup') -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com