Re: [packman] Problems with OBS Studio on TW

2023-04-22 Diskussionsfäden Stefan Seyfried

On 22.04.23 12:39, Hans-Peter Jansen wrote:
Hi Stefan, 
Am Dienstag, 18. April 2023, 21:02:59 CEST schrieb Stefan Seyfried:



I did not check the package actually but this just came to my mind. I
have used these macros before to fix stuff like that.

Ahh, I used AutoReqProv as a generic term here.


OK, as I wrote, I did not check the package.


Specifically, I'm using this in the package:

# these are plugins, built as libs and as such should not be mixed up with 
their originals
%global __provides_exclude_from 
^(%{_libdir}/obs-plugins/.*\\.so.*|%{_libdir}/obs-scripting/.*\\.so.*)$
%global __requires_exclude_from 
^(%{_libdir}/obs-plugins/.*|%{_libdir}/obs-scripting/.*)$
%global __requires_exclude ^libcef\\.so$


So this really does not use the big hammer approach ;-)


Unfortunately, I don't remember right now, for what reason the first
__requires_exclude_from was required :-(. The second is obvious, we provide
the chrome embedded framework lib implicitly in the package.


Maybe it was just "let's mirror the provides_exclude in the 
requires_exclude"?



I can drop this expression temporarily in a build and wait for feedback.
What do you think, Stefan?


I would try it: remove the __requires_exclude_from, build and check what 
additional requires it brings in and if it can still be installed. Maybe 
that's already enough to pull most of the dependencies in.


My experience is, that this manual tweaking is always a bit trial- and 
error (or, as I like to call the process, "experimental information 
science" ;-))


Good luck,
seife
--
Stefan Seyfried

"For a successful technology, reality must take precedence over
 public relations, for nature cannot be fooled." -- Richard Feynman


___
Packman mailing list
Packman@links2linux.de
https://lists.links2linux.de/cgi-bin/mailman/listinfo/packman

Re: [packman] Problems with OBS Studio on TW

2023-04-22 Diskussionsfäden Hans-Peter Jansen

-- 
Best,
Pete
--
Life without chameleons is possible, but pointless.

Hi Stefan,

Am Dienstag, 18. April 2023, 21:02:59 CEST schrieb Stefan Seyfried:
> On 18.04.23 19:50, Hans-Peter Jansen wrote:
> > The reason, that led to these missing dependencies is, that there are some
> > naming overlaps of plugin libraries with system libraries, e.g.:
> > /usr/lib64/obs-plugins/libvulkan.so.1
> > 
> > rpm would record a provides for this library, that will not be useful
> > outside of obs-studio of course and confuse other installations, that
> > require the real libvulkan.
> > 
> > Another reason is, that some libraries are dynamically loaded (dl-opened).
> > 
> > Therefore the AutoReqProv functionality of rpm must be disabled for the
> > plugins, and their deps must be handled manually.

> maybe
> %define __provides_exclude_from %{_libdir}/obs-plugins
> would be smarter than "AutoReqProv: off"?
> 
> I did not check the package actually but this just came to my mind. I
> have used these macros before to fix stuff like that.

Ahh, I used AutoReqProv as a generic term here.

Specifically, I'm using this in the package:

# these are plugins, built as libs and as such should not be mixed up with 
their originals
%global __provides_exclude_from 
^(%{_libdir}/obs-plugins/.*\\.so.*|%{_libdir}/obs-scripting/.*\\.so.*)$
%global __requires_exclude_from 
^(%{_libdir}/obs-plugins/.*|%{_libdir}/obs-scripting/.*)$
%global __requires_exclude ^libcef\\.so$

Unfortunately, I don't remember right now, for what reason the first
__requires_exclude_from was required :-(. The second is obvious, we provide
the chrome embedded framework lib implicitly in the package.

I can drop this expression temporarily in a build and wait for feedback.
What do you think, Stefan?
 
> See /usr/share/doc/packages/rpm/manual/dependency_generators.md for
> details ;-)

In general, this reminder is very useful, since a packager may tap into 
such woes once in a while...

Cheers
Pete



___
Packman mailing list
Packman@links2linux.de
https://lists.links2linux.de/cgi-bin/mailman/listinfo/packman

Re: [packman] Problems with OBS Studio on TW

2023-04-18 Diskussionsfäden Stefan Seyfried

On 18.04.23 19:50, Hans-Peter Jansen wrote:

The reason, that led to these missing dependencies is, that there are some
naming overlaps of plugin libraries with system libraries, e.g.:
/usr/lib64/obs-plugins/libvulkan.so.1

rpm would record a provides for this library, that will not be useful outside
of obs-studio of course and confuse other installations, that require the real
libvulkan.

Another reason is, that some libraries are dynamically loaded (dl-opened).

Therefore the AutoReqProv functionality of rpm must be disabled for the
plugins, and their deps must be handled manually.


maybe
%define __provides_exclude_from %{_libdir}/obs-plugins
would be smarter than "AutoReqProv: off"?

I did not check the package actually but this just came to my mind. I 
have used these macros before to fix stuff like that.


See /usr/share/doc/packages/rpm/manual/dependency_generators.md for 
details ;-)

--
Stefan Seyfried

"For a successful technology, reality must take precedence over
 public relations, for nature cannot be fooled." -- Richard Feynman


___
Packman mailing list
Packman@links2linux.de
https://lists.links2linux.de/cgi-bin/mailman/listinfo/packman

Re: [packman] Problems with OBS Studio on TW

2023-04-18 Diskussionsfäden Hans-Peter Jansen
Am Montag, 17. April 2023, 14:25:11 CEST schrieb koce...@tutanota.com:
> I had neither libavdevice59 or libspeexdsp1 installed. I've added Packman by
> installing opi and then running opi codecs. Looks like libavdevice59 is
> needed by ffmpeg-5 but I only have ffmpeg-6 which provides libavdevice60.
> Maybe you just have to bump the versions on the obs package and rebuild it
> against ffmpeg 6? 

It's not that easy. With a new version of ffmpeg, typically function 
signatures change, and minor behavioural changes could lead to hard to explain 
dysfunctionality in a complex application like this (regarding video 
processing).

We should really adhere to common grounds, that received the most test 
coverage, and that is ffmpeg-5 for now. 

> Not sure. I also didn't have libspeexdsp1 installed, but
> OBS launches without it fine, so not sure if it should be a hard dependency
> or only a "Recommends".

Well, you will have issues to use filters properly then.

The reason, that led to these missing dependencies is, that there are some 
naming overlaps of plugin libraries with system libraries, e.g.: 
/usr/lib64/obs-plugins/libvulkan.so.1

rpm would record a provides for this library, that will not be useful outside 
of obs-studio of course and confuse other installations, that require the real 
libvulkan. 

Another reason is, that some libraries are dynamically loaded (dl-opened).

Therefore the AutoReqProv functionality of rpm must be disabled for the 
plugins, and their deps must be handled manually.

> And yes, the package I had to install was libqt5-qtwayland.

Thanks, noted.

Unfortunately, you didn't answer my question about how you installed obs-
studio. I'm not familiar with opi, but if you install obs-studio properly, you 
get something similar to:

$ zyp in obs-studio
[...]
Selecting 'obs-studio-29.0.2-1599.1.pm.9.x86_64' from repository 'Packman' for 
installation.
Resolving package dependencies...
Force resolution: No

The following 3 recommended packages were automatically selected:
  libinput-udev  1.23.0-1.1
  libqt5-qttranslations  5.15.8+kde0-1.2
  zeromq-tools   4.3.4-4.2

The following 88 NEW packages are going to be installed:
  libaom33.6.0-1.2
  libavcodec59   5.1.2-1599.19.pm.6
  libavformat59  5.1.2-1599.19.pm.6
  libavutil575.1.2-1599.19.pm.6
[...]

I checked in some manual deps for the other libs, you mentioned.
A new build is on the way, thanks boombatower.

Cheers
Pete



___
Packman mailing list
Packman@links2linux.de
https://lists.links2linux.de/cgi-bin/mailman/listinfo/packman

Re: [packman] Problems with OBS Studio on TW

2023-04-16 Diskussionsfäden Hans-Peter Jansen
Am Samstag, 15. April 2023, 10:16:08 CEST schrieb koce...@tutanota.com:
> Hey, there are some issues with OBS, I am running Gnome wayland. First of
> all, when I installed obs-studio, it couldn't be started at all due to some
> qt wayland plugin missing, which made me install qt5-wayland manually.
> Second, the program crashes before starting properly: "Failed to create aac
> streaming encoder (simple output)". A few relevant or irrelevant lines I
> found when starting it from the terminal include:
> 
> error:
> os_dlopen(/usr//lib64/obs-plugins/obs-ffmpeg.so->/usr//lib64/obs-plugins/ob
> s-ffmpeg.so): libavdevice.so.59: cannot open shared object file: No such
> file or directory
> 
> warning: Module '/usr//lib64/obs-plugins/obs-ffmpeg.so' not loaded
> error:
> os_dlopen(/usr//lib64/obs-plugins/obs-filters.so->/usr//lib64/obs-plugins/o
> bs-filters.so): libspeexdsp.so.1: cannot open shared object file: No such
> file or directory error: Failed to get properties for encoder ''
> (ffmpeg_aac)
> error: Could not enumerate any AAC encoder bitrates
> error: Failed to create aac streaming encoder (simple output)

Hmm, you should have libavdevice59 installed:

$ rpm -qf $(locate libavdevice.so.59) | uniq
libavdevice59-5.1.2-82.4.x86_64

$ rpm -qf $(locate libspeexdsp.so.1) | uniq
libspeexdsp1-1.2.1-1.3.x86_64

My release numbers may differ from yours. 

All these libs should come from Packman of course.

How did you install obs? Did you added Packman's Multimedia and Essentials 
repos?

As for the qt5-wayland dep, thanks for the heads up, will look for a better 
solution.. Is libqt5-qtwayland the package, that you installed manually?

Best,
Pete
--
Life without chameleons is possible, but pointless.




___
Packman mailing list
Packman@links2linux.de
https://lists.links2linux.de/cgi-bin/mailman/listinfo/packman