Bug 267132 - multimedia/gstreamer1-plugins-{dts,resindvd}: fails to build if devel/libgusb and multimedia/v4l_compat are installed
Summary: multimedia/gstreamer1-plugins-{dts,resindvd}: fails to build if devel/libgusb...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Thomas Zander
URL:
Keywords: regression
Depends on: 267510
Blocks: 261585
  Show dependency treegraph
 
Reported: 2022-10-16 20:07 UTC by russo
Modified: 2022-11-04 08:00 UTC (History)
15 users (show)

See Also:
riggs: maintainer-feedback+
riggs: merge-quarterly-


Attachments
Full meson-log.txt file (119.78 KB, text/plain)
2022-10-16 20:59 UTC, russo
no flags Details
New meson-log.txt (97.92 KB, text/plain)
2022-10-24 14:58 UTC, George Mitchell
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description russo 2022-10-16 20:07:49 UTC
FreeBSD xxxx.org 12.3-STABLE FreeBSD 12.3-STABLE stable/12-n234844-5746abf94eb GENERIC  amd64

After git update on 16 Oct to ports tree, after removing all gstreamer1 ports per UPDATING, find I cannot build gstreamer1-plugins-dts, which fails during configure:

Header "sys/types.h" has symbol "makedev" : YES 

sys/v4l2codecs/meson.build:38:2: ERROR: Unknown variable "gstcodecs_dep".

A full log can be found at /usr/ports/multimedia/gstreamer1-plugins-dts/work/gst-plugins-bad-1.20.3/_build/meson-logs/meson-log.txt


As a result of this, I cannot install gstreamer1-plugins-core
Comment 1 russo 2022-10-16 20:16:33 UTC
And for what it's worth, these are the packages I had before this mess:

gstreamer1-1.16.2                  <   needs updating (index has 1.20.3)
gstreamer1-libav-1.16.2            <   needs updating (index has 1.20.3)
gstreamer1-plugins-1.16.2_7        <   needs updating (index has 1.20.3)
gstreamer1-plugins-a52dec-1.16.2_2 <   needs updating (index has 1.20.3)
gstreamer1-plugins-bad-1.16.2_3    <   needs updating (index has 1.20.3)
gstreamer1-plugins-core-1.16       <   needs updating (index has 1.20.3)
gstreamer1-plugins-dts-1.16.2_2    <   needs updating (index has 1.20.3)
gstreamer1-plugins-dvdread-1.16.2_4 <   needs updating (index has 1.20.3)
gstreamer1-plugins-gl-1.16.2_4     <   needs updating (index has 1.20.3)
gstreamer1-plugins-good-1.16.2_2   <   needs updating (index has 1.20.3)
gstreamer1-plugins-mpg123-1.16.2_2 <   needs updating (index has 1.20.3)
gstreamer1-plugins-ogg-1.16.2_2    <   needs updating (index has 1.20.3)
gstreamer1-plugins-pango-1.16.2_2  <   needs updating (index has 1.20.3)
gstreamer1-plugins-png-1.16.2_2    <   needs updating (index has 1.20.3)
gstreamer1-plugins-resindvd-1.16.2_4 <   needs updating (index has 1.20.3)
gstreamer1-plugins-theora-1.16.2_2 <   needs updating (index has 1.20.3)
gstreamer1-plugins-ugly-1.16.2_2   <   needs updating (index has 1.20.3)
gstreamer1-plugins-vorbis-1.16.2_2 <   needs updating (index has 1.20.3)


After deleting them all with "pkg delete -f" and trying to reinstall each one at a time, only the following could be installed:
gstreamer1-1.20.3
gstreamer1-libav-1.20.3
gstreamer1-plugins-1.20.3
gstreamer1-plugins-a52dec-1.20.3
gstreamer1-plugins-bad-1.20.3
gstreamer1-plugins-dvdread-1.20.3
gstreamer1-plugins-good-1.20.3
gstreamer1-plugins-mpg123-1.20.3
gstreamer1-plugins-ogg-1.20.3
gstreamer1-plugins-pango-1.20.3
gstreamer1-plugins-png-1.20.3
gstreamer1-plugins-theora-1.20.3
gstreamer1-plugins-ugly-1.20.3
gstreamer1-plugins-vorbis-1.20.3


As it turns out, multimedia/gstreamer1-plugins-resindvd  also fails with the same error:

Header "sys/types.h" has symbol "makedev" : YES 

sys/v4l2codecs/meson.build:38:2: ERROR: Unknown variable "gstcodecs_dep".

A full log can be found at /usr/ports/multimedia/gstreamer1-plugins-resindvd/work/gst-plugins-bad-1.20.3/_build/meson-logs/meson-log.txt


and graphics/gstreamer1-plugins-gl is failing as in bug 267100
Comment 2 russo 2022-10-16 20:57:40 UTC
Oh, and one last thing:  the "full log" shows no useful information that isn't in the console output.  But I'll attach it anyway.
Comment 3 russo 2022-10-16 20:59:11 UTC
Created attachment 237382 [details]
Full meson-log.txt file

This is the meson-log.txt file produced during the build that fails
Comment 4 Fernando Apesteguía freebsd_committer freebsd_triage 2022-10-17 06:04:26 UTC
I can't find any graphics/gstreamer1-plugins-dts. Are you in HEAD?
Comment 5 Rainer Hurling freebsd_committer freebsd_triage 2022-10-17 11:30:22 UTC
(In reply to Fernando Apesteguía from comment #4)
Hi Fernando,
It's multimedia/gstreamer1-plugins-dts.

I can confirm, that this and several other plugins (for example -resindvd, -hls,  -rtmp, ...) do not build any more on my CURRENT boxes (unclean environment). This is after a full delete of all old gstreamer1 ports, like described in UPDATING ...
Comment 6 russo 2022-10-17 13:35:01 UTC
(In reply to Fernando Apesteguía from comment #4)
It was a cut/paste error that someone else has already fixed.  It's multimedia/gstreamer1-plugins-dts, not graphics.
Comment 7 Citroën 2022-10-18 15:52:12 UTC
Same
13.1-RELEASE-p2.
Comment 8 gebhart 2022-10-20 10:47:32 UTC
same problem on 12.3
Comment 9 Oleg Sidorkin 2022-10-21 12:11:07 UTC
Was able to build with the following patch:

--- a/multimedia/gstreamer1-plugins-dts/Makefile                                                                                                                                                                 +++ b/multimedia/gstreamer1-plugins-dts/Makefile                                                                                                                                                                 @@ -14,4 +14,4 @@ LIB_DEPENDS=  libdca.so:multimedia/libdca                                                                                                                                                                                                                                                                                                                                                                        .include "${MASTERDIR}/Makefile"                                                                                                                                                                                                                                                                                                                                                                                                 -MESON_ARGS+= -Dgpl=enabled                                                                                                                                                                                      +MESON_ARGS+= -Dgpl=enabled -Dv4l2codecs=disabled -Dsvthevcenc=disabled

(disabled codecs have separate ports so they shouldn't be built here anyway)
Comment 10 George Mitchell 2022-10-24 14:58:08 UTC
Created attachment 237581 [details]
New meson-log.txt

Attached new log ending with:
ERROR: Unknown variable "allocators_dep"
resulting from the change proposed in comment #9.
Comment 11 rkoberman 2022-10-24 16:14:19 UTC
One problem fixed and another shows up.

This looks like the same issue that broke gstreamer-plugins-gl and may have the same work-around. Try adding "-Dallocators=enabled" to the last line of the port Makefile (/user/ports/multimedia/gstreamer1-plugins-dts/Makefile).

MESON_ARGS+= -Dgpl=enabled -Dallocators=enabled
Comment 12 George Mitchell 2022-10-24 17:28:09 UTC
With the change from comment #11, I still get the same error (Unknown variable "allocators_dep").
Comment 13 George Mitchell 2022-10-26 17:46:28 UTC
Email on the freebsd-ports mailing list from monochrome@twcny.rr.com suggests the following change to /usr/ports/graphics/gstreamer1-plugins-gl/Makefile.  Add

MESON_ARGS+= -Dallocators=enabled 

to the end.  With that change, I can now finish compiling gstreamer1.  But it seems evident to me that all these changes are workarounds, not a proper bug fix -- and I don't know what the proper fix is.
Comment 14 commit-hook freebsd_committer freebsd_triage 2022-11-01 23:25:25 UTC
A commit in branch main references this bug:

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

commit 629aa01a594ed009dce58d3b2ad75b0967bcec48
Author:     Thomas Zander <riggs@FreeBSD.org>
AuthorDate: 2022-11-01 23:19:40 +0000
Commit:     Thomas Zander <riggs@FreeBSD.org>
CommitDate: 2022-11-01 23:24:41 +0000

    multimedia/gstreamer1-plugins-dts: Fix build in dirty environments

    This should fix the build in the presence of devel/libgusb and
    multimedia/v4l_compat as per discussion in the bug
    https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267132

    PR:             267132
    Reported by:    russo@bogodyn.org

 multimedia/gstreamer1-plugins-dts/Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
Comment 15 Thomas Zander freebsd_committer freebsd_triage 2022-11-01 23:36:51 UTC
After https://cgit.freebsd.org/ports/commit/?id=629aa01a594ed009dce58d3b2ad75b0967bcec48 and https://cgit.freebsd.org/ports/commit/?id=040e9e09916bc42675bb0d3aa94fee4787bb15c3 I can not reproduce this build problem even if libgusb, v4l_compat and libdrm are installed.

We can reopen this bug if the problem still persists, in which case it could be caused by a different dependency.
Comment 16 Kubilay Kocak freebsd_committer freebsd_triage 2022-11-02 03:23:07 UTC
multimedia/gstreamer1-plugins-resindvd is still affected (tail of comment 1).

Issue subsequently reported in bug 267510

^Triage: Re-open pending resolution of that issue
Comment 17 Kubilay Kocak freebsd_committer freebsd_triage 2022-11-02 03:23:46 UTC
Also, do these changes need merging to quarterly, ie: are quarterly users also affected?
Comment 18 russo 2022-11-02 03:26:05 UTC
Since this got reopened because of bug 267132, you might also take a quick look at comment 5:  https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267132#c5

where it is mentioned (by someone else) that several *other* packages also fail to build in the same way.
Comment 19 Thomas Zander freebsd_committer freebsd_triage 2022-11-02 05:38:32 UTC
(In reply to Kubilay Kocak from comment #17)

No, the quarterly branch is still on 1.16. The 1.20 update was IMO way too risky to merge without stabilisation time on head.
Comment 20 Thomas Zander freebsd_committer freebsd_triage 2022-11-02 05:41:11 UTC
(In reply to russo from comment #18)

Adding the -Dv4l2codecs=disabled -Dsvthevcenc=disabled everywhere is probably not the right way to fix this universally. I'll try to find where the detection logic in the meson build files is broken.
Comment 21 commit-hook freebsd_committer freebsd_triage 2022-11-02 21:50:55 UTC
A commit in branch main references this bug:

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

commit 6ff8606f00d2d368d6dd2d3e7535d1c1525f59bf
Author:     Thomas Zander <riggs@FreeBSD.org>
AuthorDate: 2022-11-02 08:28:31 +0000
Commit:     Thomas Zander <riggs@FreeBSD.org>
CommitDate: 2022-11-02 21:50:38 +0000

    multimedia/gstreamer1-*: Fix plugin building in dirty environments

    This should solve (fingers crossed) the meson autodetection problem for
    the remaining plugins from the "bad" set when building in dirty
    environments.

    PR:             267132, 267510

 multimedia/gstreamer1-plugins-dts/Makefile    | 2 +-
 multimedia/gstreamer1-plugins/Makefile.common | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)
Comment 22 George Mitchell 2022-11-02 23:05:51 UTC
After the last commit, I can now compile all gstreamer1 ports cleanly.
Comment 23 alt2600 2022-11-03 00:36:45 UTC
still broken on my dirty system


Run-time dependency wildmidi found: NO (tried pkgconfig and cmake)
Has header "wildmidi_lib.h" : YES 
Fetching value of define "LIBWILDMIDI_VER_MAJOR" : 0L 
Fetching value of define "LIBWILDMIDI_VER_MINOR" : 4L 
Library WildMidi found: YES

ext/wildmidi/meson.build:25:2: ERROR: Unknown variable "gstbadaudio_dep".

A full log can be found at /usr/ports/multimedia/gstreamer1-plugins-dts/work/gst-plugins-bad-1.20.3/_build/meson-logs/meson-log.txt
===>  Script "configure" failed unexpectedly.
Please report the problem to multimedia@FreeBSD.org [maintainer] and attach
the
"/usr/ports/multimedia/gstreamer1-plugins-dts/work/gst-plugins-bad-1.20.3/_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/gstreamer1-plugins-dts
Comment 24 commit-hook freebsd_committer freebsd_triage 2022-11-03 21:09:25 UTC
A commit in branch main references this bug:

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

commit b86933a61506cae4610ade1572f4788473cc8277
Author:     Thomas Zander <riggs@FreeBSD.org>
AuthorDate: 2022-11-03 21:06:02 +0000
Commit:     Thomas Zander <riggs@FreeBSD.org>
CommitDate: 2022-11-03 21:08:29 +0000

    multimedia/gstreamer1-*: Fix build in the presence of wildmidi

    PR:             267132

 multimedia/gstreamer1-plugins/Makefile.common | 1 +
 1 file changed, 1 insertion(+)
Comment 25 alt2600 2022-11-03 22:41:50 UTC
(In reply to commit-hook from comment #24)

works now in my dirty dirty system.
Comment 26 Thomas Zander freebsd_committer freebsd_triage 2022-11-04 08:00:34 UTC
(In reply to alt2600 from comment #25)

Cool, glad we could fix this one as well! Thanks for your report!