安装 easyeffects 时 libadwaita-1 构建失败

安装 easyeffects 时 libadwaita-1 构建失败

背景

尝试按照此处提到的步骤在 ubuntu-20.04 上安装 easyeffectshttps://github.com/wwmm/easyeffects/wiki/Installation-from-Source. 弹出 libadwaita-1 dependency not found 错误, meson _build --prefix=/usr command 以下是日志。

The Meson build system
Version: 0.60.3
Source dir: /home/mylinux/Downloads/easyeffects
Build dir: /home/mylinux/Downloads/easyeffects/_build
Build type: native build
Project name: easyeffects
Project version: 6.2.1
C compiler for the host machine: cc (gcc 9.3.0 "cc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0")
C linker for the host machine: cc ld.bfd 2.34
C++ compiler for the host machine: c++ (gcc 9.3.0 "c++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0")
C++ linker for the host machine: c++ ld.bfd 2.34
Host machine cpu family: x86_64
Host machine cpu: x86_64
Configuring config.h using configuration
Program appstream-util found: NO
Program desktop-file-validate found: YES (/usr/bin/desktop-file-validate)
Found pkg-config: /usr/bin/pkg-config (0.29.1)
Program glib-compile-resources found: YES (/usr/bin/glib-compile-resources)
Configuring com.github.wwmm.easyeffects.service using configuration
Program itstool found: YES (/usr/bin/itstool)
Library zita-convolver found: YES
Library tbb found: YES
Found pkg-config: /usr/bin/pkg-config (0.29.1)
Run-time dependency libpipewire-0.3 found: YES 0.3.42
Run-time dependency glib-2.0 found: YES 2.71.0
Run-time dependency gtk4 found: YES 4.6.0
Found CMake: /usr/local/bin/cmake (3.22.1)
Run-time dependency libadwaita-1 found: NO (tried pkgconfig and cmake)

src/meson.build:121:0: ERROR: Dependency "libadwaita-1" not found, tried pkgconfig and cmake

libadwaita-1 安装失败

按照安装步骤进行克隆存储库后,libadwaita-1 的链接。出现错误ninja -C _build。以下是错误日志。

ninja: Entering directory `_build'
[4/44] Generating src/libadwaita-1.vapi with a custom command
FAILED: src/libadwaita-1.vapi 
/usr/bin/vapigen --quiet --library=libadwaita-1 --directory=/home/mylinux/Downloads/libadwaita/_build/src --metadatadir=/home/mylinux/Downloads/libadwaita/src --pkg=gio-2.0 --pkg=gtk4 --metadatadir=/home/mylinux/Downloads/libadwaita/src /home/mylinux/Downloads/libadwaita/_build/src/Adw-1.gir
Adw-1.gir:63.7-63.35: error: Adw.ActionRow: Classes cannot have multiple base classes (`Adw.PreferencesRow' and `Gtk.Accessible')
Adw-1.gir:1165.7-1165.35: error: Adw.ApplicationWindow: Classes cannot have multiple base classes (`Gtk.ApplicationWindow' and `Gtk.Accessible')
Adw-1.gir:1314.7-1314.35: error: Adw.Avatar: Classes cannot have multiple base classes (`Gtk.Widget' and `Gtk.Accessible')
Adw-1.gir:1731.7-1731.35: error: Adw.Bin: Classes cannot have multiple base classes (`Gtk.Widget' and `Gtk.Accessible')
Adw-1.gir:1874.7-1874.35: error: Adw.ButtonContent: Classes cannot have multiple base classes (`Gtk.Widget' and `Gtk.Accessible')
Adw-1.gir:2216.7-2216.35: error: Adw.Carousel: Classes cannot have multiple base classes (`Gtk.Widget' and `Gtk.Accessible')
Adw-1.gir:3001.7-3001.35: error: Adw.CarouselIndicatorDots: Classes cannot have multiple base classes (`Gtk.Widget' and `Gtk.Accessible')
Adw-1.gir:3128.7-3128.35: error: Adw.CarouselIndicatorLines: Classes cannot have multiple base classes (`Gtk.Widget' and `Gtk.Accessible')
Adw-1.gir:3288.7-3288.35: error: Adw.Clamp: Classes cannot have multiple base classes (`Gtk.Widget' and `Gtk.Accessible')
Adw-1.gir:3732.7-3732.35: error: Adw.ClampScrollable: Classes cannot have multiple base classes (`Gtk.Widget' and `Gtk.Accessible')
Adw-1.gir:4085.69-4085.69: error: The type name `Gtk.Expression' could not be found
Adw-1.gir:4108.89-4108.89: error: The type name `Gtk.ListItemFactory' could not be found
Adw-1.gir:4131.89-4131.89: error: The type name `Gtk.ListItemFactory' could not be found
Adw-1.gir:4262.71-4262.71: error: The type name `Gtk.Expression' could not be found
Adw-1.gir:4291.91-4291.91: error: The type name `Gtk.ListItemFactory' could not be found
Adw-1.gir:4320.91-4320.91: error: The type name `Gtk.ListItemFactory' could not be found
Adw-1.gir:4422.38-4422.38: error: The type name `Gtk.Expression' could not be found
Adw-1.gir:4422.38-4422.38: error: The type name `Gtk.Expression' could not be found
Adw-1.gir:4422.38-4422.38: error: The type name `Gtk.Expression' could not be found
Adw-1.gir:4438.48-4438.48: error: The type name `Gtk.ListItemFactory' could not be found
Adw-1.gir:4438.48-4438.48: error: The type name `Gtk.ListItemFactory' could not be found
Adw-1.gir:4438.48-4438.48: error: The type name `Gtk.ListItemFactory' could not be found
Adw-1.gir:4453.48-4453.48: error: The type name `Gtk.ListItemFactory' could not be found
Adw-1.gir:4453.48-4453.48: error: The type name `Gtk.ListItemFactory' could not be found
Adw-1.gir:4453.48-4453.48: error: The type name `Gtk.ListItemFactory' could not be found
Adw-1.gir:4057.7-4057.35: error: Adw.ComboRow: Classes cannot have multiple base classes (`Adw.ActionRow' and `Gtk.Accessible')
Adw-1.gir:5101.7-5101.35: error: Adw.ExpanderRow: Classes cannot have multiple base classes (`Adw.PreferencesRow' and `Gtk.Accessible')
Adw-1.gir:5616.7-5616.35: error: Adw.Flap: Classes cannot have multiple base classes (`Gtk.Widget' and `Gtk.Accessible')
Adw-1.gir:6806.7-6806.35: error: Adw.HeaderBar: Classes cannot have multiple base classes (`Gtk.Widget' and `Gtk.Accessible')
Adw-1.gir:7313.7-7313.35: error: Adw.Leaflet: Classes cannot have multiple base classes (`Gtk.Widget' and `Gtk.Accessible')
Adw-1.gir:8719.7-8719.35: error: Adw.PreferencesGroup: Classes cannot have multiple base classes (`Gtk.Widget' and `Gtk.Accessible')
Adw-1.gir:8961.7-8961.35: error: Adw.PreferencesPage: Classes cannot have multiple base classes (`Gtk.Widget' and `Gtk.Accessible')
Adw-1.gir:9320.7-9320.35: error: Adw.PreferencesRow: Classes cannot have multiple base classes (`Gtk.ListBoxRow' and `Gtk.Accessible')
Adw-1.gir:9507.7-9507.35: error: Adw.PreferencesWindow: Classes cannot have multiple base classes (`Adw.Window' and `Gtk.Accessible')
Adw-1.gir:9959.7-9959.35: error: Adw.SplitButton: Classes cannot have multiple base classes (`Gtk.Widget' and `Gtk.Accessible')
Adw-1.gir:11373.7-11373.35: error: Adw.Squeezer: Classes cannot have multiple base classes (`Gtk.Widget' and `Gtk.Accessible')
Adw-1.gir:12293.7-12293.35: error: Adw.StatusPage: Classes cannot have multiple base classes (`Gtk.Widget' and `Gtk.Accessible')
Adw-1.gir:13903.7-13903.35: error: Adw.TabBar: Classes cannot have multiple base classes (`Gtk.Widget' and `Gtk.Accessible')
Adw-1.gir:15149.7-15149.35: error: Adw.TabView: Classes cannot have multiple base classes (`Gtk.Widget' and `Gtk.Accessible')
Adw-1.gir:17725.7-17725.35: error: Adw.ToastOverlay: Classes cannot have multiple base classes (`Gtk.Widget' and `Gtk.Accessible')
Adw-1.gir:17950.7-17950.35: error: Adw.ViewStack: Classes cannot have multiple base classes (`Gtk.Widget' and `Gtk.Accessible')
Adw-1.gir:19011.7-19011.35: error: Adw.ViewSwitcher: Classes cannot have multiple base classes (`Gtk.Widget' and `Gtk.Accessible')
Adw-1.gir:19220.7-19220.35: error: Adw.ViewSwitcherBar: Classes cannot have multiple base classes (`Gtk.Widget' and `Gtk.Accessible')
Adw-1.gir:19475.7-19475.35: error: Adw.ViewSwitcherTitle: Classes cannot have multiple base classes (`Gtk.Widget' and `Gtk.Accessible')
Adw-1.gir:19849.7-19849.35: error: Adw.Window: Classes cannot have multiple base classes (`Gtk.Window' and `Gtk.Accessible')
Adw-1.gir:19975.7-19975.35: error: Adw.WindowTitle: Classes cannot have multiple base classes (`Gtk.Widget' and `Gtk.Accessible')
[9/44] Compiling C object tests/test-preferences-group.p/test-preferences-group.c.o
ninja: build stopped: subcommand failed.

需要修复

我可以在不需要 libadwaita 的情况下安装 easyeffects 吗?或者如何安装 libadwaita 并继续安装 easyeffects 或任何可用于为 ubuntu 提供更好的音频增强功能的更好的应用程序?

答案1

libadwaita 不适用于 Ubuntu 20.04。您可以安装 Ubuntu 21.10 并按照回答获取 libadwaita。它将在 Ubuntu 22.04(将于 2022 年 4 月发布)及以后的官方存储库中提供。

不过,你可以在 Ubuntu 20.04 中轻松安装 easyeffects使用 flatpak,使用以下命令。

sudo apt install flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub com.github.wwmm.easyeffects

相关内容