linuxmint / cinnamon

A Linux desktop featuring a traditional layout, built from modern technology and introducing brand new innovative features.
GNU General Public License v2.0
4.57k stars 745 forks source link

`libcvc.so.0` links against not existing `libFLAC.so.8` after upgrade to Mint 22 Wilma #12413

Open sphh opened 2 months ago

sphh commented 2 months ago

Distribution

Mint 22 Cinnamon

Package version

6.2.9

Graphics hardware in use

n/a

Frequency

Always

Bug description

I open cinnamon-settings from the terminal and click on the Sound icon. The sound configuration does not open.

Steps to reproduce

  1. Start cinnamon-settings.
  2. Click on the Sound icon.
  3. The sound setting does not open.

Expected behavior

The sound setting should open.

Additional information

This happens after an upgrade from Mint 21.3 Cinnamon to Mint 22 Cinnamon.

I reinstalled pipewire and pipewire-bin.

The terminal shows the following backtrace:

Loading Sound module

** (cinnamon-settings.py:13272): WARNING **: 21:37:58.520: Failed to load shared library 'libcvc.so.0' referenced by the typelib: libFLAC.so.8: cannot open shared object file: No such file or directory
/usr/share/cinnamon/cinnamon-settings/modules/cs_sound.py:649: Warning: cannot retrieve class for invalid (unclassed) type 'void'
  self.controller = Cvc.MixerControl(name = "cinnamon")
Traceback (most recent call last):
  File "/usr/share/cinnamon/cinnamon-settings/cinnamon-settings.py", line 751, in button_press
    self.side_view_nav(widget, None, category)
  File "/usr/share/cinnamon/cinnamon-settings/cinnamon-settings.py", line 176, in side_view_nav
    self.go_to_sidepage(sidePage, user_action=True)
  File "/usr/share/cinnamon/cinnamon-settings/cinnamon-settings.py", line 185, in go_to_sidepage
    sidePage.build()
  File "/usr/share/cinnamon/cinnamon-settings/bin/SettingsWidgets.py", line 212, in build
    self.module.on_module_selected()
  File "/usr/share/cinnamon/cinnamon-settings/modules/cs_sound.py", line 514, in on_module_selected
    self.inializeController()
  File "/usr/share/cinnamon/cinnamon-settings/modules/cs_sound.py", line 649, in inializeController
    self.controller = Cvc.MixerControl(name = "cinnamon")
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: could not get a reference to type class
$ find /usr/lib -name "libcvc*"
/usr/lib/x86_64-linux-gnu/libcvc.so.0
/usr/lib/x86_64-linux-gnu/libcvc.so.0.0.0
$ find /usr/lib -name "libFLAC*"
/usr/lib/x86_64-linux-gnu/libFLAC.so.12.1.0
/usr/lib/x86_64-linux-gnu/libFLAC.so.12

https://packages.ubuntu.com/ did not return any result for libFLAC.so.8.

I also cannot load the sound applet sound@cinnamon and the third-party applet sound150@claudiux (@claudiux)

After uninstalling pipewire, enabling pulseaudio and rebooting (as described in https://www.linuxmint.com/rel_wilma.php), the sound setting cannot be opened either.

claudiux commented 2 months ago

@sphh Maybe apt install libcvc0? EDIT: I've used apt-file search libcvc.so.0 to know this packet name.

Also, take a look to https://github.com/orgs/linuxmint/discussions/462

claudiux commented 2 months ago

@sphh For libFLAC: apt install libflac++10

sphh commented 2 months ago

@claudiux: I believe, libcvc.so.0 is already installed and this confirms it:

$ sudo apt install libcvc0
[…]
libcvc0 is already the newest version (6.2.0+wilma).

If I read the error message correctly, the problem is the missing libFLAC.so.8.

Re your link. It proposes

$ pactl info
pactl: error while loading shared libraries: libFLAC.so.8: cannot open shared object file: No such file or directory

and

$ systemctl --user status pipewire-pulse.socket pipewire-pulse.service
● pipewire-pulse.socket - PipeWire PulseAudio
     Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.socket; enabled; preset: enabled)
     Active: active (running) since Tue 2024-09-24 23:21:09 CEST; 7min ago
   Triggers: ● pipewire-pulse.service
     Listen: /run/user/1000/pulse/native (Stream)
     CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/pipewire-pulse.socket

Sep 24 23:21:09 Surface-Pro-5 systemd[1612]: Listening on pipewire-pulse.socket - PipeWire PulseAudio.

● pipewire-pulse.service - PipeWire PulseAudio
     Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.service; enabled; preset: enabled)
     Active: active (running) since Tue 2024-09-24 23:21:09 CEST; 7min ago
TriggeredBy: ● pipewire-pulse.socket
   Main PID: 1634 (pipewire-pulse)
      Tasks: 3 (limit: 9367)
     Memory: 1.8M (peak: 2.0M)
        CPU: 28ms
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire-pulse.service
             └─1634 /usr/bin/pipewire-pulse

Sep 24 23:21:09 Surface-Pro-5 systemd[1612]: Started pipewire-pulse.service - PipeWire PulseAudio.
claudiux commented 2 months ago

https://github.com/linuxmint/cinnamon/issues/12413#issuecomment-2372422246

sphh commented 2 months ago

And after sudo apt install libflac++10 (which was not installed):

pactl info
pactl: error while loading shared libraries: libFLAC.so.8: cannot open shared object file: No such file or directory
claudiux commented 2 months ago

apt -f install

sphh commented 2 months ago
$ dpkg -L libflac++10
/.
/usr
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/libFLAC++.so.10.0.1
/usr/share
/usr/share/doc
/usr/share/doc/libflac++10
/usr/share/doc/libflac++10/copyright
/usr/lib/x86_64-linux-gnu/libFLAC++.so.10
/usr/share/doc/libflac++10/changelog.Debian.gz

No libFLAC.so.8 :-(

sphh commented 2 months ago

sudo apt -f install installs nothing …

claudiux commented 2 months ago

Mmmh. apt install --reinstall pulseaudio-utils to force installation of latest version of pactl?

sphh commented 2 months ago

No luck either.

I also checked the version of libcvc0. It's 6.2.0+wilma.

claudiux commented 2 months ago

Have you used mintupgrade to upgrade to LM22?

sphh commented 2 months ago

Yes, I did.

sphh commented 2 months ago
$  ldd /usr/lib/x86_64-linux-gnu/libcvc.so.0 | grep libFLAC
    libFLAC.so.8 => not found

So I believe that my libcvc.so.0 has been linked with libFLAC.so.8 and not libFLAC++.so.10. The question is: Why?

claudiux commented 2 months ago

pactl --version? Mine is 16.1.

sphh commented 2 months ago
$ pactl --version
pactl: error while loading shared libraries: libFLAC.so.8: cannot open shared object file: No such file or directory

:cry:

ls -l /usr/lib/x86_64-linux-gnu/libcvc.so.0.0.0 
-rw-r--r-- 1 root root 137296 Jun 11 17:13 /usr/lib/x86_64-linux-gnu/libcvc.so.0.0.0

what is your output here?

sphh commented 2 months ago

And from the package manager, the version of pulseaudio-utils is 1:16.1+dfsg1-2ubuntu10.

claudiux commented 2 months ago
ls -l /usr/lib/x86_64-linux-gnu/libcvc.so*
lrwxrwxrwx 1 root root     11 juin  11 17:13 /usr/lib/x86_64-linux-gnu/libcvc.so -> libcvc.so.0
lrwxrwxrwx 1 root root     15 juin  11 17:13 /usr/lib/x86_64-linux-gnu/libcvc.so.0 -> libcvc.so.0.0.0
-rw-r--r-- 1 root root 137296 juin  11 17:13 /usr/lib/x86_64-linux-gnu/libcvc.so.0.0.0
ls -l /usr/lib/x86_64-linux-gnu/libFLAC*
lrwxrwxrwx 1 root root     19 mars  31 01:58 /usr/lib/x86_64-linux-gnu/libFLAC++.so.10 -> libFLAC++.so.10.0.1
-rw-r--r-- 1 root root 112808 mars  31 01:58 /usr/lib/x86_64-linux-gnu/libFLAC++.so.10.0.1
lrwxrwxrwx 1 root root     17 mars  31 01:58 /usr/lib/x86_64-linux-gnu/libFLAC.so.12 -> libFLAC.so.12.1.0
-rw-r--r-- 1 root root 407648 mars  31 01:58 /usr/lib/x86_64-linux-gnu/libFLAC.so.12.1.0
sphh commented 2 months ago

Und ldd /usr/lib/x86_64-linux-gnu/libcvc.so.0 | grep libFLAC?

claudiux commented 2 months ago

And from the package manager, the version of pulseaudio-utils is 1:16.1+dfsg1-2.

Same here: 1:16.1+dfsg1-2ubuntu10

claudiux commented 2 months ago

ldd /usr/lib/x86_64-linux-gnu/libcvc.so.0 | grep libFLAC

ldd /usr/lib/x86_64-linux-gnu/libcvc.so.0 | grep libFLAC
    libFLAC.so.12 => /lib/x86_64-linux-gnu/libFLAC.so.12 (0x00007d3dc887e000)
sphh commented 2 months ago

Voilà! Why is your libcvc.so.0 linked against libFLAC.so.12 and mine against libFLAC.so.8? :thinking:

sphh commented 2 months ago

My package is from this repository:

$ apt policy libcvc0
libcvc0:
  Installed: 6.2.0+wilma
  Candidate: 6.2.0+wilma
  Version table:
 *** 6.2.0+wilma 500
        500 http://packages.linuxmint.com wilma/backport amd64 Packages
        100 /var/lib/dpkg/status
claudiux commented 2 months ago

Voilà! Why is your libcvc.so.0 linked against libFLAC.so.12 and mine against libFLAC.so.8? 🤔

I don't know.

claudiux commented 2 months ago

My package is from this repository:

$ apt policy libcvc0
libcvc0:
  Installed: 6.2.0+wilma
  Candidate: 6.2.0+wilma
  Version table:
 *** 6.2.0+wilma 500
        500 http://packages.linuxmint.com wilma/backport amd64 Packages
        100 /var/lib/dpkg/status

Same here.

claudiux commented 2 months ago

Maybe there is a workaround, but I don't like it.

cd /usr/lib/x86_64-linux-gnu
sudo ln -s libFLAC.so.12.1.0 libFLAC.so.8
sphh commented 2 months ago

I now reinstalled the libcvc0 package, but no luck.

No, you are right, that's nasty …

Why does my installation fetch an old version of libcvc0???

sphh commented 2 months ago

BTW: Linking libFLAC.so.12.1.0 and libFLAC.so.8 removes all the errors described above. But I consider this not as a solution.

claudiux commented 2 months ago

Maybe restoring your old system with Timeshift then running again:

apt install --reinstall mintupgrade
sudo mintupgrade

???

claudiux commented 2 months ago

BTW: Linking libFLAC.so.12.1.0 and libFLAC.so.8 removes all the errors described above. But I consider this not as a solution.

You're right; this is not a solution.

What returns cinnamon-settings sound?

sphh commented 2 months ago
$ cinnamon-settings sound
/usr/share/cinnamon/cinnamon-settings/cinnamon-settings.py:458: DeprecationWarning: Gtk.Window.set_wmclass is deprecated
  self.window.set_wmclass(wm_class, wm_class)
Loading Sound module
$ pactl --version
pactl 16.1
Compiled with libpulse 16.1.0
Linked with libpulse 16.1.0
$ pactl info
Server String: /run/user/1000/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 144
Tile Size: 65472
User Name: ***
Host Name: ***
Server Name: PulseAudio (on PipeWire 1.0.5)
Server Version: 15.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.usb-Microsoft_Corp._Microsoft_Docking_Station_Audio_Device_00000000-00.analog-stereo.2
Default Source: alsa_input.usb-Microsoft_Corp._Microsoft_Docking_Station_Audio_Device_00000000-00.analog-stereo.2
Cookie: ****:****

I also tried two hand-picked main package servers to reinstall libcvc0. The library libcvc.so.0 is still linked to libFLAC.so.8 in both cases!

claudiux commented 2 months ago

All outputs seem OK.

I also tried two hand-picked main package servers to reinstall libcvc0. The library libcvc.so.0 is still linked to libFLAC.so.8 in both cases!

I don't know the origin of this problem. Ping @mtwebster

sphh commented 1 month ago

I did some more investigations, after I updated my other computer to Wilma (where libcvc.so.0.0 correctly points to libFLAC.so.12).

  1. I downloaded the libcvc0_6.2.0+wilma_amd64.deb on both computers.
  2. Both deb files have the same md5sum: ecd64708e0abca32119288fc4f103f00
  3. On both computers I pulled the file libcvc.so.0.0.0 out of the deb file.
  4. Both libraries have the same md5sum: 8044f8842f556de69d7cfe15f0369e57
  5. I run ldd libcvc.so.0.0.0 | grep libFLAC on both computers.
  6. They show a different output:
    • libFLAC.so.8 => /lib/x86_64-linux-gnu/libFLAC.so.8 (0x00007e45730c8000)
    • libFLAC.so.12 => /lib/x86_64-linux-gnu/libFLAC.so.12 (0x000079acf86a0000)

:thinking: I am afraid that is way above my pay grade!