gmbeard / shadow-cast

GPU accelerated screen and audio recording for Linux
GNU General Public License v2.0
39 stars 0 forks source link

Couldn't find required package: Pipewire #31

Closed artik closed 7 months ago

artik commented 7 months ago

I'm trying to compile shadow-cast on Linux Mint 21.3 Cinnamon.

First I'm adding the repository:

sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream

Then installing Pipewire:

sudo apt install gstreamer1.0-pipewire pipewire-audio-client-libraries pipewire pipewire-pulse

But I have this error when i'm trying to compile:

artik ~/shadow-cast/build cmake ..
-- Defaulting CMAKE_BUILD_TYPE to Release
-- IPO supported. Enabling
-- Pipewire_INCLUDE_DIR: Pipewire_INCLUDE_DIR-NOTFOUND
-- Pipewire_LIBRARY: Pipewire_LIBRARY-NOTFOUND
-- SPA_INCLUDE_DIR: SPA_INCLUDE_DIR-NOTFOUND
CMake Error at cmake/FindPipewire.cmake:52 (message):
  Couldn't find required package: Pipewire
Call Stack (most recent call first):
  CMakeLists.txt:43 (find_package)

-- Configuring incomplete, errors occurred!

What I'm doing wrong?

gmbeard commented 7 months ago

Hey @artik

You will need to install the development packages of the dependencies in order to compile from source. These are the packages that contain the header files, static libs, etc..

I'm not too familiar with apt-based distros, but my distro has the pipewire-devel package, for example.

artik commented 7 months ago

Exactly, it's what I tought, so I looked for pipewire-devel https://pkgs.org/download/pipewire-devel but no ubuntu version.

gmbeard commented 7 months ago

Hmm, that's quite surprising, considering that pipewire is quite established for linux audio at this point.

You could try building and installing the pipewire headers/libs separately, just to get Shadow Cast compiling. The pipewire sources can be found here. I would pick a version that closely matches your system installation of pipewire.

Some points to consider....

artik commented 7 months ago

I followed this guide, and it seems to work: https://linuxconfig.org/how-to-install-pipewire-on-ubuntu-linux

Pretty sure this one fixed it: sudo apt install gstreamer1.0-pipewire libpipewire-0.3-{0,dev,modules} libspa-0.2-{bluetooth,dev,jack,modules} pipewire{,-{audio-client-libraries,pulse,media-session,bin,locales,tests}}

Espacially: libpipewire-0.3-dev