Bug 278992 - multimedia/pipewire: SDL=on triggers dependency loop with devel/sdl20 + PIPEWIRE=on
Summary: multimedia/pipewire: SDL=on triggers dependency loop with devel/sdl20 + PIPEW...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Only Me
Assignee: Gleb Popov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-05-15 05:16 UTC by igor.polovykh
Modified: 2024-05-19 21:48 UTC (History)
2 users (show)

See Also:
jbeich: maintainer-feedback? (arrowd)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description igor.polovykh 2024-05-15 05:16:03 UTC
when i try to build and install sdl2-2.30.3 with pipewire

...
===>   pipewire-1.0.4_2 depends on package: v4l_compat>0 - found
===>   pipewire-1.0.4_2 depends on executable: msgfmt - found
===>   pipewire-1.0.4_2 depends on executable: meson - found
===>   pipewire-1.0.4_2 depends on executable: ninja - found
===>   pipewire-1.0.4_2 depends on package: pkgconf>=1.3.0_1 - found
===>   pipewire-1.0.4_2 depends on file: /usr/local/bin/python3.11 - found
===>   pipewire-1.0.4_2 depends on file: /usr/local/lib/libcrypto.so.12 - found
===>   pipewire-1.0.4_2 depends on package: gstreamer1-plugins>=1.22.10 - found
===>   pipewire-1.0.4_2 depends on file: /usr/local/bin/sdl2-config - not found
===>   sdl2-2.30.3 depends on package: wayland-protocols>0 - found
===>   sdl2-2.30.3 depends on file: /usr/local/include/linux/input.h - found
===>   sdl2-2.30.3 depends on package: gmake>=4.4.1 - found
===>   sdl2-2.30.3 depends on package: libiconv>=1.14_11 - found
===>   sdl2-2.30.3 depends on package: pkgconf>=1.3.0_1 - found
===>   sdl2-2.30.3 depends on shared library: libasound.so - found (/usr/local/lib/libasound.so)
===>   sdl2-2.30.3 depends on shared library: libjack.so - found (/usr/local/lib/libjack.so)
===>   sdl2-2.30.3 depends on shared library: libaudio.so - found (/usr/local/lib/libaudio.so)
===>   sdl2-2.30.3 depends on shared library: libpipewire-0.3.so - not found
===>   pipewire-1.0.4_2 depends on package: v4l_compat>0 - found
===>   pipewire-1.0.4_2 depends on executable: msgfmt - found
===>   pipewire-1.0.4_2 depends on executable: meson - found
===>   pipewire-1.0.4_2 depends on executable: ninja - found
===>   pipewire-1.0.4_2 depends on package: pkgconf>=1.3.0_1 - found
===>   pipewire-1.0.4_2 depends on file: /usr/local/bin/python3.11 - found
===>   pipewire-1.0.4_2 depends on file: /usr/local/lib/libcrypto.so.12 - found
===>   pipewire-1.0.4_2 depends on package: gstreamer1-plugins>=1.22.10 - found
===>   pipewire-1.0.4_2 depends on file: /usr/local/bin/sdl2-config - not found
===>   sdl2-2.30.3 depends on package: wayland-protocols>0 - found
===>   sdl2-2.30.3 depends on file: /usr/local/include/linux/input.h - found
===>   sdl2-2.30.3 depends on package: gmake>=4.4.1 - found
===>   sdl2-2.30.3 depends on package: libiconv>=1.14_11 - found
===>   sdl2-2.30.3 depends on package: pkgconf>=1.3.0_1 - found
===>   sdl2-2.30.3 depends on shared library: libasound.so - found (/usr/local/lib/libasound.so)
===>   sdl2-2.30.3 depends on shared library: libjack.so - found (/usr/local/lib/libjack.so)
===>   sdl2-2.30.3 depends on shared library: libaudio.so - found (/usr/local/lib/libaudio.so)
===>   sdl2-2.30.3 depends on shared library: libpipewire-0.3.so - not found
===>   pipewire-1.0.4_2 depends on package: v4l_compat>0 - found
===>   pipewire-1.0.4_2 depends on executable: msgfmt - found
===>   pipewire-1.0.4_2 depends on executable: meson - found
===>   pipewire-1.0.4_2 depends on executable: ninja - found
===>   pipewire-1.0.4_2 depends on package: pkgconf>=1.3.0_1 - found
===>   pipewire-1.0.4_2 depends on file: /usr/local/bin/python3.11 - found
===>   pipewire-1.0.4_2 depends on file: /usr/local/lib/libcrypto.so.12 - found
===>   pipewire-1.0.4_2 depends on package: gstreamer1-plugins>=1.22.10 - found
===>   pipewire-1.0.4_2 depends on file: /usr/local/bin/sdl2-config - not found
...
Comment 1 Jan Beich freebsd_committer freebsd_triage 2024-05-16 00:22:44 UTC
Rebuild multimedia/pipewire with non-default SDL option disabled *before* building devel/sdl20 with PIPEWIRE enabled. Perhaps, SDL option in multimedia/pipewire can be safely removed as it affects only examples which are not installed by the port.
Comment 2 commit-hook freebsd_committer freebsd_triage 2024-05-17 19:14:13 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=a8dab251e8fd07c8adbbe281be42d6a7af02cbde

commit a8dab251e8fd07c8adbbe281be42d6a7af02cbde
Author:     Gleb Popov <arrowd@FreeBSD.org>
AuthorDate: 2024-05-17 19:05:15 +0000
Commit:     Gleb Popov <arrowd@FreeBSD.org>
CommitDate: 2024-05-17 19:13:41 +0000

    multimedia/pipewire: Remove SDL option, it is only useful for example programs

    PR:             278992

 multimedia/pipewire/Makefile | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)
Comment 3 Tomoaki AOKI 2024-05-17 20:37:49 UTC
Unfortunately, poudriere fails to build multimedia/pipewire with configure error as below.

Not tried, but possibly explicit disabling of sdl would be needed.


   ===== Quotes below. =====

=>> Building multimedia/pipewire
build started at Sat May 18 05:17:16 JST 2024
port directory: /usr/ports/multimedia/pipewire
package name: pipewire-1.0.4_3
building for: FreeBSD 14amd64-default-job-01 14.1-STABLE FreeBSD 14.1-STABLE 1401500 amd64
maintained by: arrowd@FreeBSD.org
port version: 1.0.4
port revision: 3
Makefile datestamp: -rw-r--r--  1 root wheel 2898 May 17 19:27 /usr/ports/multimedia/pipewire/Makefile
Ports top last git commit: afd284eb8179
Ports top unclean checkout: yes
=>> Inspecting /poudriere/data/.m/14amd64-default/01//usr/ports/multimedia/pipewire for modifications to git checkout... no
Port dir last git commit: a8dab251e8fd
Port dir unclean checkout: no
Poudriere version: poudriere-git-3.4.99.20240424
Host OSVERSION: 1401500
Jail OSVERSION: 1401500
Job Id: 01

     (snip)

---Begin OPTIONS List---
===> The following configuration options are available for pipewire-1.0.4_3:
     AVAHI=off: Automatic service discovery for the Pulseaudio module via Avahi
     DOCS=on: Build and/or install documentation
     DOXYGEN=off: Build documentation with Doxygen
     GSTREAMER=on: Multimedia support via GStreamer
     JACK=on: JACK audio server support
     LV2=off: Support lv2-based audio plugins via lilv
     PULSEAUDIO=off: PulseAudio sound server support
     VULKAN=off: Enable Vulkan integration
     X11_BELL=off: Support for X11 bell via libcanberra
===> Use 'make config' to modify these settings
---End OPTIONS List---

     (snip)

Run-time dependency threads found: YES
Found pkg-config: YES (/usr/local/bin/pkgconf) 2.2.0
Run-time dependency dbus-1 found: YES 1.14.10
sdl2-config found: NO
Did not find CMake 'cmake'
Found CMake: NO
Run-time dependency sdl2 found: NO (tried pkgconfig and config-tool)

meson.build:282:10: ERROR: Dependency "sdl2" not found, tried pkgconfig and config-tool

A full log can be found at /wrkdirs/usr/ports/multimedia/pipewire/work/pipewire-1.0.4/_build/meson-logs/meson-log.txt
WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.
===>  Script "configure" failed unexpectedly.
Please report the problem to arrowd@FreeBSD.org [maintainer] and attach the
"/wrkdirs/usr/ports/multimedia/pipewire/work/pipewire-1.0.4/_build/meson-logs/meson-log.txt"
including the output of the failure of your make command. Also, it might be
a good idea to provide an overview of all packages installed on your system
(e.g. a /usr/local/sbin/pkg-static info -g -Ea).
*** Error code 1

Stop.
make: stopped in /usr/ports/multimedia/pipewire
=>> Cleaning up wrkdir
===>  Cleaning for pipewire-1.0.4_3
build of multimedia/pipewire | pipewire-1.0.4_3 ended at Sat May 18 05:17:23 JST 2024
build time: 00:00:08
!!! build failure encountered !!!
Comment 4 commit-hook freebsd_committer freebsd_triage 2024-05-18 07:24:44 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=1650b15eae3327855db38552a5fd8fbd092e4e65

commit 1650b15eae3327855db38552a5fd8fbd092e4e65
Author:     Gleb Popov <arrowd@FreeBSD.org>
AuthorDate: 2024-05-18 07:22:53 +0000
Commit:     Gleb Popov <arrowd@FreeBSD.org>
CommitDate: 2024-05-18 07:22:53 +0000

    multimedia/pipewire: Fix my previous commit

    PR:             278992
    Pointy hat to:  arrowd

 multimedia/pipewire/Makefile | 1 +
 1 file changed, 1 insertion(+)
Comment 5 Tomoaki AOKI 2024-05-19 21:48:55 UTC
(In reply to commit-hook from comment #4)
Thanks! Confirmed build fine on base
  main     : at git: fb623aab3927
  stable/14: at git: a19d42b08a40
both of which is amd/64.

Ports are built on
  main     : bare-metal environment with ports_mgmt/pkg_replace
  stable/14: clean-room build with ports-mgmt/poudriere-devel
respectively.

Sorry for the late report.