nowrep / obs-vkcapture

OBS Linux Vulkan/OpenGL game capture
GNU General Public License v2.0
516 stars 25 forks source link

Build Fails on Ubuntu for OBS 30.2.0 #218

Closed FireStarW closed 1 month ago

FireStarW commented 1 month ago

Trying to build with the new version of OBS on Ubuntu using the PPA package version (https://launchpad.net/~obsproject/+archive/ubuntu/obs-studio), make fails complaining obs-module.h does not exist, despite cmake finding libobs.

cmake_output make_output

System (please complete the following information):

ItsRogueRen commented 1 month ago

Confirming this as not working for the flatpak of OBS 30.2.0 as well

Gamertech commented 1 month ago

OBS 30.2 removed a few helpers from libobs and broke every flatpak plugin for it. They all need to be rebuilt for latest libobs :(

Can downgrade OBS to previous version and everything works again with: sudo flatpak update --commit=71d974e21fd96594d6ce66314962435a46674e1c441abcc9a6d64cbe5a5f7eda com.obsproject.Studio

(flatpak needs sudo to downgrade like this).

nowrep commented 1 month ago

Can you please provide full build log with the error? It still builds fine for me with OBS git.

Gamertech commented 1 month ago

Can't comment on native builds, but here's the freshly wontfix'd OBS issue about 30.2 breaking every flatpak extension.

According to one maintainer, Flathub planned to auto-rebuild the extensions they host a few hours after the OBS release, but there's been zero activity on any of their repos, and a number of plugin authors have commented they need to update to match the new libobs and build against current Flathub.

Without this, flatpak OBS Studio 30.2 wont even try and load any plugins. OBS itself loads and runs fine, but zero functioning extensions whether flatpak or manually installed into the directory.

https://github.com/obsproject/obs-studio/issues/10981

Edit: Potentially, both the OBS plugin and capture tools are on sdk 21.08, while OBS itself is built against 23.08.

FireStarW commented 1 month ago

Can you please provide full build log with the error? It still builds fine for me with OBS git.

With all this Flatpak crosstalk I'm not sure if you mean for my original Native build error or not, but the only things I can think of logging, cmake and make output, are linked in the original message. Is there something else I can include?

nowrep commented 1 month ago

The make output needs to be at least with make VERBOSE=1 please because the on you posted doesn't show any error.

FireStarW commented 1 month ago

make_output_verbose.txt

nowrep commented 1 month ago

Thanks.

It's missing include path, not sure why. Can you try again with latest master, maybe you are hitting the same issue.

FireStarW commented 1 month ago

Ok, so I compiled and installed the latest master of obs , specifically into a *.deb file via - https://github.com/obsproject/obs-studio/wiki/Build-Instructions-For-Linux#5-create-a-debian-package

However, I think something was just wrong with my original git clone of the repo, despite a git pull origin master giving me the message Already up to date. , in that original git clone.

I re-cloned the repo into a new folder and that one compiled obs-vkcapture just fine, for both the manually compiled obs and the PPA package.

There might be some messiness on my system from previously using a manually compiled obs, it was the only way to get a browser source before the OBS PPA package for 24.04 was created last week for the new OBS version, and upon uninstalling that manually compiled *.deb version via apt it would give warnings. dpkg-warning.txt

I'm guessing it was just the git repo on my machine though.

either way this issue was unrelated to the flatpak woes...

Edit July 18: Nvm just saw there was a new commit yesterday, that's what would've fixed it... woopsy

nowrep commented 1 month ago

Ok, so it builds now. Thanks

ItsRogueRen commented 1 month ago

Slightly off topic but can you explain everything you did to make a build environment on Ubuntu for this? I've spent hours trying to and I'm having conflicts and dependency hell and I have no idea what I'm doing

FireStarW commented 1 month ago

Afraid there's not much to explain, assuming you're talking about compiling OBS, I just followed the instructions from their github wiki I linked before, and did the enable pipewire option. Only curveball I had was missing their download link to the CEF binary.