Alexays / Waybar

Highly customizable Wayland bar for Sway and Wlroots based compositors. :v: :tada:
MIT License
5.86k stars 661 forks source link

Out of date libraries, non functional on arch #1675

Closed SebOuellette closed 1 year ago

SebOuellette commented 1 year ago

On September 1st, (so yesterday), the fmt package updated to version 9.1 from 9.0, which removed the libfmt.so.8* files.

I'm unsure if the update removed the old version, or if I accidentally did it, but the point is that those files aren't installed with fmt so any computer that hasn't already had those files on it can't use waybar.

sharkfin@archfin ~ $ fmt --version
fmt (GNU coreutils) 9.1

sharkfin@archfin ~ $ ls /usr/lib/libfmt* -l
lrwxrwxrwx 1 root root     11 Sep  1 09:23 /usr/lib/libfmt.so -> libfmt.so.9
lrwxrwxrwx 1 root root     15 Sep  1 09:23 /usr/lib/libfmt.so.9 -> libfmt.so.9.1.0
-rwxr-xr-x 1 root root 132968 Sep  1 09:23 /usr/lib/libfmt.so.9.1.0

sharkfin@archfin ~ $ waybar
waybar: error while loading shared libraries: libfmt.so.8: cannot open shared object file: No such file or directory

Edit: Forgot to add, the usual bodge of creating a symlink sadly does not work lol

sharkfin@archfin ~ $ ls -l /usr/lib/libfmt.so*
lrwxrwxrwx 1 root root     11 Sep  1 09:23 /usr/lib/libfmt.so -> libfmt.so.9
lrwxrwxrwx 1 root root     24 Sep  2 13:37 /usr/lib/libfmt.so.8 -> /usr/lib/libfmt.so.9.1.0
lrwxrwxrwx 1 root root     15 Sep  1 09:23 /usr/lib/libfmt.so.9 -> libfmt.so.9.1.0
-rwxr-xr-x 1 root root 132968 Sep  1 09:23 /usr/lib/libfmt.so.9.1.0

sharkfin@archfin ~ $ waybar
waybar: symbol lookup error: waybar: undefined symbol: _ZN3fmt2v812format_errorD1Ev
asas1asas200 commented 1 year ago

Have you tried to reinstall the waybar, it was rebuilt for fmt9.

Rebuild for fmt 9

SebOuellette commented 1 year ago

Yes I have tried, but no luck.

asas1asas200 commented 1 year ago

Can you paste the result of pacman -Qi waybar?

SebOuellette commented 1 year ago
sharkfin@archfin ~ $ pacman -Qi waybar
Name            : waybar
Version         : 0.9.13-2
Description     : Highly customizable Wayland bar for Sway and Wlroots based compositors
Architecture    : x86_64
URL             : https://github.com/Alexays/Waybar/
Licenses        : MIT
Groups          : None
Provides        : None
Depends On      : gtkmm3  libjsoncpp.so=25-64  libsigc++  fmt  wayland  libdate-tz.so=3-64  libspdlog.so=1-64  gtk-layer-shell  libupower-glib.so=3-64
                  upower  libevdev  libpulse  libnl  libappindicator-gtk3  libdbusmenu-gtk3  libmpdclient  libsndio.so=7-64  libxkbcommon
Optional Deps   : otf-font-awesome: Icons in the default configuration [installed]
Required By     : None
Optional For    : None
Conflicts With  : None
Replaces        : None
Installed Size  : 1238.80 KiB
Packager        : Brett Cornwall <brett@i--b.com>
Build Date      : Tue 09 Aug 2022 10:39:43 AM EDT
Install Date    : Fri 02 Sep 2022 04:03:06 PM EDT
Install Reason  : Explicitly installed
Install Script  : No
Validated By    : Signature
asas1asas200 commented 1 year ago

There is weird. It works on my machine. Then, can you build from source and run it?

SebOuellette commented 1 year ago

Wow okay yep that works I should have tried that... So the git is fine, but the arch package is borked it seems. I probably need to move this issue somewhere else eh? haha

asas1asas200 commented 1 year ago

Do you update by -Syyu?

SebOuellette commented 1 year ago

Yep I did Syyu, didn't work. The waybar packages in the aur (such as waybar-hyprland-git) also had the same issues, which makes no sense to me.

asas1asas200 commented 1 year ago

On September 1st, (so yesterday), the fmt package updated to version 9.1 from 9.0, which removed the libfmt.so.8* files.

I'm unsure if the update removed the old version, or if I accidentally did it, but the point is that those files aren't installed with fmt so any computer that hasn't already had those files on it can't use waybar.

sharkfin@archfin ~ $ fmt --version
fmt (GNU coreutils) 9.1

sharkfin@archfin ~ $ ls /usr/lib/libfmt* -l
lrwxrwxrwx 1 root root     11 Sep  1 09:23 /usr/lib/libfmt.so -> libfmt.so.9
lrwxrwxrwx 1 root root     15 Sep  1 09:23 /usr/lib/libfmt.so.9 -> libfmt.so.9.1.0
-rwxr-xr-x 1 root root 132968 Sep  1 09:23 /usr/lib/libfmt.so.9.1.0

sharkfin@archfin ~ $ waybar
waybar: error while loading shared libraries: libfmt.so.8: cannot open shared object file: No such file or directory

That was right! You are using an old waybar, so that called the libfmt.8.so.

Edit: Forgot to add, the usual bodge of creating a symlink sadly does not work lol

sharkfin@archfin ~ $ ls -l /usr/lib/libfmt.so*
lrwxrwxrwx 1 root root     11 Sep  1 09:23 /usr/lib/libfmt.so -> libfmt.so.9
lrwxrwxrwx 1 root root     24 Sep  2 13:37 /usr/lib/libfmt.so.8 -> /usr/lib/libfmt.so.9.1.0
lrwxrwxrwx 1 root root     15 Sep  1 09:23 /usr/lib/libfmt.so.9 -> libfmt.so.9.1.0
-rwxr-xr-x 1 root root 132968 Sep  1 09:23 /usr/lib/libfmt.so.9.1.0

Of course, the 8 and 9 are different, you cannot do it by creating a symlink. A solution is find a libfmt.8.so on network and put it in there.

sharkfin@archfin ~ $ waybar
waybar: symbol lookup error: waybar: undefined symbol: _ZN3fmt2v812format_errorD1Ev

I think that you should sure you run the correct waybar version. Did you kill all the waybar processes and run it again?

SebOuellette commented 1 year ago

Yes I did, but maybe I have some other broken packages on my system that are interfering, since it works when I build from source. I'm happy to just continue building from source until the arch package is fixed, since this isn't really relevant here anymore.