Bug 1205368

Summary: Yast2 will not launch
Product: [openSUSE] openSUSE Distribution Reporter: Alex Grasic <alexgrasic>
Component: libzyppAssignee: E-mail List <zypp-maintainers>
Status: RESOLVED DUPLICATE QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: alexgrasic
Version: Leap 15.4   
Target Milestone: ---   
Hardware: x86-64   
OS: openSUSE Leap 15.4   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: save_y2logs result

Description Alex Grasic 2022-11-12 20:10:03 UTC
When launching Yast2 I get the following error:

---

Internal error. Please report a bug report with logs.
Run save_y2logs to get complete logs.

Caller: /usr/lib64/ruby/vendor_ruby/2.5.0/yast/yast.rb:186:in `import_pure'

Details: component cannot import namespace 'Pkg'

---
Comment 1 Andreas Stieger 2022-11-12 21:23:49 UTC
(In reply to Alex Grasic from comment #0)
> Run save_y2logs to get complete logs.

Do that please.
Comment 2 Alex Grasic 2022-11-22 12:24:55 UTC
Created attachment 863037 [details]
save_y2logs result
Comment 3 Stefan Hundhammer 2022-12-07 15:33:02 UTC
From here on, there are errors in the y2logs:

2022-11-11 12:51:38 <1> linux-aq8p(5163) [Ruby] 
  bin/y2start(<main>):22 y2base called with 
  ["repositories", "qt", "-name", "YaST2", "-icon", "yast"]


They all contain this same error:


[liby2] Y2PluginComponent.cc(loadPlugin):234 error loading plugin
  /usr/lib64/YaST2/plugin/libpy2Pkg.so.2:
  /usr/lib64/libzypp.so.1722: undefined symbol:
  _ZN4YAML6detail9node_data12empty_scalarB5cxx11E

demangled with c++filt:
  YAML::detail::node_data::empty_scalar[abi:cxx11]

One of those shared libs belongs to package yast2-pkg-bindings, the other to package libzypp.
Comment 4 Stefan Hundhammer 2022-12-07 16:03:17 UTC
In the rpm-qa file and in zypp/history, we have those versions:

libzypp-17.31.2-150200.45.1 SUSE Linux Enterprise 15

yast2-pkg-bindings-4.4.4-150400.1.8 SUSE Linux Enterprise 15

libyaml-cpp0_6-0.6.3-150400.2.5	SUSE Linux Enterprise 15


The libzypp version is a bit misleading since the SO number for libzypp is still 1722, which is the one that yast2-pkg-bindings require:

% ldd libpy2Pkg.so.2.0.0 | grep libzypp 
  libzypp.so.1722 => /usr/lib64/libzypp.so.1722

% rpm -qf /usr/lib64/libzypp.so.1722.*  
libzypp-17.31.2-150400.3.9.1.x86_64


% ldd /usr/lib64/libzypp.so.1722.* | grep yaml
libyaml-cpp.so.0.6 => /usr/lib64/libyaml-cpp.so.0.6

% rpm -qf /usr/lib64/libyaml-cpp.so.0.6.3 
libyaml-cpp0_6-0.6.3-150400.4.3.1.x86_64

(on my machine)
Comment 5 Stefan Hundhammer 2022-12-07 16:04:22 UTC
So far, I can't see anything wrong. Since this is deep in libzypp, let's ask the libzypp maintainers.
Comment 6 Michael Andres 2022-12-08 10:47:33 UTC
(In reply to Stefan Hundhammer from comment #3)
> demangled with c++filt:
>   YAML::detail::node_data::empty_scalar[abi:cxx11]

It's a duplicate of bug#1200624.

libyaml removed symbols and did not change it's soversion. This breaks the update stack because we use libyaml eg. for reading/writing the testcases.

The TID for SLE-15-SP4: https://www.suse.com/support/kb/doc/?id=000020725
I don't know if similar is provided for Leap. The issue there is the same. You have to replace libyaml-cpp manually (as root):

> rpm -Uhv https://download.opensuse.org/update/leap/15.4/sle/x86_64/libyaml-cpp0_6-0.6.3-150400.4.3.1.x86_64.rpm

After that, zypper/yast should work again.

*** This bug has been marked as a duplicate of bug 1200624 ***
Comment 7 Michael Andres 2022-12-08 10:49:17 UTC
@Alex, if the above does not work for you, please repoen