NetBSD Problem Report #55912

From www@netbsd.org  Tue Jan  5 14:20:16 2021
Return-Path: <www@netbsd.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 8409B1A9217
	for <gnats-bugs@gnats.NetBSD.org>; Tue,  5 Jan 2021 14:20:16 +0000 (UTC)
Message-Id: <20210105142015.629E51A9239@mollari.NetBSD.org>
Date: Tue,  5 Jan 2021 14:20:15 +0000 (UTC)
From: aza.sea.agenda@gmail.com
Reply-To: aza.sea.agenda@gmail.com
To: gnats-bugs@NetBSD.org
Subject: gstreamer1 incomplete package installation / failed build
X-Send-Pr-Version: www-1.0

>Number:         55912
>Category:       pkg
>Synopsis:       gstreamer1 incomplete package installation / failed build
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Jan 05 14:25:00 +0000 2021
>Last-Modified:  Sun Jan 10 19:25:01 +0000 2021
>Originator:     Aleksey Arens
>Release:        pkgsrc-2020Q4
>Organization:
>Environment:
NetBSD HOSTNAME_REDACTED 9.1_STABLE NetBSD 9.1_STABLE (GENERIC) #1: Sun Jan  3 20:58:50 UTC 2021  root@HOSTNAME_REDACTED:/usr/src/sys/arch/amd64/compile/obj/GENERIC amd64
>Description:
The `make package' of multimedia/gstreamer1 fails with the following output.

This issue makes gstreamer1 unavailable, which is a dependency of x11/qt5-qtmultimedia, rendering a number of desktop applications unusable. 

---8<---


ERROR: ************************************************************
ERROR: The following files are in the PLIST but not in /usr/obj/pkgsrc/multimedia/gstreamer1/work/.destdir/usr/pkg:
ERROR:         /usr/obj/pkgsrc/multimedia/gstreamer1/work/.destdir/usr/pkg/lib/girepository-1.0/GstCheck-1.0.typelib
ERROR:         /usr/obj/pkgsrc/multimedia/gstreamer1/work/.destdir/usr/pkg/share/gir-1.0/GstCheck-1.0.gir

---8<---

Build options:

---8<---

make show-options
Any of the following general options may be selected:
        gstreamer-gstcheck      Enable gstcheck support in gstreamer.
        gstreamer-ptp-suid      Support synchronizing multiple devices over the network (requires a setuid binary).
        introspection    Enable GObject Introspection support.

These options are enabled by default:
        gstreamer-gstcheck introspection

These options are currently enabled:
        gstreamer-gstcheck

You can select which build options to use by setting PKG_DEFAULT_OPTIONS
or PKG_OPTIONS.gstreamer.

---8<---


>How-To-Repeat:
cd /usr/pkgsrc && cvs update -Pd -rpkgsrc-2020Q4
cd /usr/pkgsrc/multimedia/gstreamer1

>Fix:
diff -u -r1.16 PLIST
--- PLIST       14 Nov 2019 15:25:31 -0000      1.16
+++ PLIST       5 Jan 2021 14:06:09 -0000
@@ -126,7 +126,7 @@
 include/gstreamer-1.0/gst/net/net.h
 ${PLIST.introspection}lib/girepository-1.0/Gst-1.0.typelib
 ${PLIST.introspection}lib/girepository-1.0/GstBase-1.0.typelib
-${PLIST.gstcheck}lib/girepository-1.0/GstCheck-1.0.typelib
+${PLIST.gstcheck}${PLIST.introspection}lib/girepository-1.0/GstCheck-1.0.typelib
 ${PLIST.introspection}lib/girepository-1.0/GstController-1.0.typelib
 ${PLIST.introspection}lib/girepository-1.0/GstNet-1.0.typelib
 lib/gstreamer-1.0/libgstcoreelements.la
@@ -154,7 +154,7 @@
 share/bash-completion/helpers/gst
 ${PLIST.introspection}share/gir-1.0/Gst-1.0.gir
 ${PLIST.introspection}share/gir-1.0/GstBase-1.0.gir
-${PLIST.gstcheck}share/gir-1.0/GstCheck-1.0.gir
+${PLIST.gstcheck}${PLIST.introspection}share/gir-1.0/GstCheck-1.0.gir
 ${PLIST.introspection}share/gir-1.0/GstController-1.0.gir
 ${PLIST.introspection}share/gir-1.0/GstNet-1.0.gir
 share/gtk-doc/html/gstreamer-1.0/GstAllocator.html

>Audit-Trail:
From: nia <nia@NetBSD.org>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/55912: gstreamer1 incomplete package installation / failed
 build
Date: Wed, 6 Jan 2021 10:11:12 +0000

 Hi,

 why's introspection disabled? IIRC these options were added as a result
 of problems with introspection on some platforms, which are now fixed?

From: Aleksey Arens <aza.sea.agenda@gmail.com>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/55912: gstreamer1 incomplete package installation / failed build
Date: Wed, 6 Jan 2021 03:05:59 -0800

 --00000000000090ce5605b8394fb0
 Content-Type: text/plain; charset="UTF-8"

 Hi Nia,

 The build of gstreamer1 was failing with
 PKG_DEFAULT_OPTIONS+=-introspection.  Evidently, one of the dependencies
 lacked introspection support, and thus the files related to introspection
 in gstreamer1 were not being built in gstreamer1.

 I wonder, if the introspection was actually meant to be enabled throughout
 all of pkgsrc?  If that is the case, then the naming of option itself
 `introspection' with a vanilla description is confusing, as it appears to
 be only an option.  If the option was introduced as a means to workaround
 issues on certain platforms, then perhaps it should have been really a part
 of "platform-workarounds" options (e.g. win32-workarounds,
 xnu-10.4-workarounds), and/or have been handled in the .if/.else clauses in
 the packages' Makefiles.  I would in general advocate for the workaround
 options appearing in the PKG_DEFAULT_OPTIONS, and being automatically
 activated in the Makefiles by platform check clauses.

 To me, as a system administrator, the presence of a *vanilla*
 `introspection' signifies that there's yet more bloat to be removed.  If
 those features turn out to be essential for some uses in important
 dependencies, then it makes sense for them to be treated as not really
 options, but rather as platform workarounds.  This is especially so, if
 they do not add heavy dependencies (they really don't), or questionable
 dependencies (like e.g. dbus -- and they don't), and don't affect the
 performance adversely (that I'm not absolutely 146% sure about, but I would
 assume since they're being merely type descriptions, and since they must be
 describing generic datastructures, the performance should not be affected).

 Finally, there's a question, as to how gstreamer1 managed to be built on
 platforms with introspection disabled in its dependencies?  In those cases,
 the build must have failed, especially with
 PKG_DEFAULT_OPTIONS+=-introspection.

 --
 Aleksey


 On Wed, Jan 6, 2021 at 2:15 AM nia <nia@netbsd.org> wrote:

 > The following reply was made to PR pkg/55912; it has been noted by GNATS.
 >
 > From: nia <nia@NetBSD.org>
 > To: gnats-bugs@netbsd.org
 > Cc:
 > Subject: Re: pkg/55912: gstreamer1 incomplete package installation / failed
 >  build
 > Date: Wed, 6 Jan 2021 10:11:12 +0000
 >
 >  Hi,
 >
 >  why's introspection disabled? IIRC these options were added as a result
 >  of problems with introspection on some platforms, which are now fixed?
 >
 >

 --00000000000090ce5605b8394fb0
 Content-Type: text/html; charset="UTF-8"
 Content-Transfer-Encoding: quoted-printable

 <div dir=3D"ltr">Hi Nia,<br><br>The build of gstreamer1 was failing with PK=
 G_DEFAULT_OPTIONS+=3D-introspection.=C2=A0 Evidently, one of the dependenci=
 es lacked introspection support, and thus the files related to introspectio=
 n in gstreamer1 were not being built in gstreamer1.<div><br></div><div>I wo=
 nder, if the introspection was actually meant to be enabled throughout all =
 of pkgsrc?=C2=A0 If that is the case, then the naming of option itself `int=
 rospection&#39; with a vanilla description is confusing, as it appears to b=
 e only an option.=C2=A0 If the option was introduced as a means to workarou=
 nd issues on certain platforms, then perhaps it should have been really a p=
 art of &quot;platform-workarounds&quot; options (e.g. win32-workarounds, xn=
 u-10.4-workarounds), and/or have been handled in the .if/.else clauses in t=
 he packages&#39; Makefiles.=C2=A0 I would in general advocate for the worka=
 round options=C2=A0appearing in the PKG_DEFAULT_OPTIONS, and being automati=
 cally activated in the Makefiles by platform check clauses.</div><div><br><=
 /div><div>To me, as a system administrator, the presence of a *vanilla* `in=
 trospection&#39; signifies that there&#39;s yet more bloat to be removed.=
 =C2=A0 If those features turn out to be essential for some uses in importan=
 t dependencies, then it makes sense for them to be treated as not really op=
 tions, but rather as platform workarounds.=C2=A0 This is especially so, if =
 they do not add heavy dependencies (they really don&#39;t), or questionable=
  dependencies (like e.g. dbus -- and they don&#39;t), and don&#39;t affect =
 the performance adversely (that I&#39;m not absolutely 146% sure about, but=
  I would assume since they&#39;re being merely type descriptions, and since=
  they must be describing generic datastructures, the performance should not=
  be affected).</div><div><br></div><div>Finally, there&#39;s a question, as=
  to how gstreamer1 managed to be built on platforms with introspection disa=
 bled in its dependencies?=C2=A0 In those cases, the build must have failed,=
 =C2=A0especially with PKG_DEFAULT_OPTIONS+=3D-introspection.</div><div><br>=
 </div><div>--</div><div>Aleksey</div></div><br><br><div class=3D"gmail_quot=
 e"><div dir=3D"ltr" class=3D"gmail_attr">On Wed, Jan 6, 2021 at 2:15 AM nia=
  &lt;<a href=3D"mailto:nia@netbsd.org">nia@netbsd.org</a>&gt; wrote:<br></d=
 iv><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;bord=
 er-left:1px solid rgb(204,204,204);padding-left:1ex">The following reply wa=
 s made to PR pkg/55912; it has been noted by GNATS.<br>
 <br>
 From: nia &lt;nia@NetBSD.org&gt;<br>
 To: <a href=3D"mailto:gnats-bugs@netbsd.org" target=3D"_blank">gnats-bugs@n=
 etbsd.org</a><br>
 Cc: <br>
 Subject: Re: pkg/55912: gstreamer1 incomplete package installation / failed=
 <br>
 =C2=A0build<br>
 Date: Wed, 6 Jan 2021 10:11:12 +0000<br>
 <br>
 =C2=A0Hi,<br>
 <br>
 =C2=A0why&#39;s introspection disabled? IIRC these options were added as a =
 result<br>
 =C2=A0of problems with introspection on some platforms, which are now fixed=
 ?<br>
 <br>
 </blockquote></div>

 --00000000000090ce5605b8394fb0--

From: Aleksey Arens <aza.sea.agenda@gmail.com>
To: gnats-bugs@netbsd.org
Cc: pkg-manager@netbsd.org, gnats-admin@netbsd.org, pkgsrc-bugs@netbsd.org
Subject: Re: pkg/55912: gstreamer1 incomplete package installation / failed build
Date: Wed, 6 Jan 2021 04:00:05 -0800

 Of course, an obvious alternative to the approach discussed earlier
 would be to in fact allow `introspection' as a viable global option.
 The only package that I have encountered so far in the process of
 building a desktop application, that requires an adjustment in the
 build instructions, in order to build on a system with
 PKG_DEFAULT_OPTIONS containing "-introspection" is devel/pango.  I
 could implement a change to its build instructions to include
 `introspection' as an option.


 On Wed, Jan 6, 2021 at 2:15 AM nia <nia@netbsd.org> wrote:
 >
 > The following reply was made to PR pkg/55912; it has been noted by GNATS.
 >
 > From: nia <nia@NetBSD.org>
 > To: gnats-bugs@netbsd.org
 > Cc:
 > Subject: Re: pkg/55912: gstreamer1 incomplete package installation / failed
 >  build
 > Date: Wed, 6 Jan 2021 10:11:12 +0000
 >
 >  Hi,
 >
 >  why's introspection disabled? IIRC these options were added as a result
 >  of problems with introspection on some platforms, which are now fixed?
 >

From: nia <nia@NetBSD.org>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/55912: gstreamer1 incomplete package installation / failed
 build
Date: Wed, 6 Jan 2021 12:49:20 +0000

 On Wed, Jan 06, 2021 at 11:10:01AM +0000, Aleksey Arens wrote:
 >  To me, as a system administrator, the presence of a *vanilla*
 >  `introspection' signifies that there's yet more bloat to be removed.  If
 >  those features turn out to be essential for some uses in important
 >  dependencies, then it makes sense for them to be treated as not really
 >  options, but rather as platform workarounds.  This is especially so, if
 >  they do not add heavy dependencies (they really don't), or questionable
 >  dependencies (like e.g. dbus -- and they don't), and don't affect the
 >  performance adversely (that I'm not absolutely 146% sure about, but I would
 >  assume since they're being merely type descriptions, and since they must be
 >  describing generic datastructures, the performance should not be affected).

 Disabling introspection might break dependent packages if they're written
 in scripting languages, AFAIK it's the way GObject stuff exposes bindings.

 The decision to angrily add introspection options everywhere was made
 some time ago, and maybe it's time to move on.

 >  Finally, there's a question, as to how gstreamer1 managed to be built on
 >  platforms with introspection disabled in its dependencies?  In those cases,
 >  the build must have failed, especially with
 >  PKG_DEFAULT_OPTIONS+=-introspection.

 Might not have been tested in a while and package updates happened since.

From: Aleksey Arens <aza.sea.agenda@gmail.com>
To: gnats-bugs@netbsd.org
Cc: pkg-manager@netbsd.org, gnats-admin@netbsd.org, pkgsrc-bugs@netbsd.org
Subject: Re: pkg/55912: gstreamer1 incomplete package installation / failed build
Date: Wed, 6 Jan 2021 05:07:49 -0800

 Thank you for sharing this, Nia.

 On Wed, Jan 6, 2021 at 4:50 AM nia <nia@netbsd.org> wrote:
 > [...]
 >  Disabling introspection might break dependent packages if they're written
 >  in scripting languages, AFAIK it's the way GObject stuff exposes bindings.
 >
 >  The decision to angrily add introspection options everywhere was made
 >  some time ago, and maybe it's time to move on.
 >

 It is generally the case that not everyone would be needing the full
 support for GNU's glib2 scripting.  I imagine, some huge desktop
 environments would be needing this.  From reading Wikipedia on
 GObject, and my prior experience with building GNOME on Linux, it
 appears that GNOME would be needing introspection enabled for its
 pygtk bindings.  From what I have observed, Qt and KDE do not strictly
 need this functionality, nor the bulk of Qt and GTK applications.  For
 me, the baseline would be Firefox, Emacs, Evince, and Okular.  Neither
 of those are dependent on py-gtk, or python GObject bindings (I'm only
 mentioning Python, because it was chosen to play a central role in
 GNOME, if only de-facto).

 Thus, please allow me to suggest that -- if only for the sake of
 experiment -- the "introspection" option be introduced into the set of
 packages required to build at least Firefox, Emacs, Evince, and
 Okular, and a test of their functionality be performed.  If the test
 succeeds, then the global PKG_DEFAULT_OPTIONS+= "-introspection" build
 would be a reasonable default choice for a lean desktop workstation
 setup.  Also, the global PKG_DEFAULT_OPTIONS+= "introspection" build
 would be a basis for a full-blown desktop workstation setup, that
 includes a desktop environment.  So far, only devel/pango needs a
 little bit of work, and it is something that I am comfortable with
 undertaking.

 While I have not built KDE lately, I have reasons to suspect that it
 also might not be reliant on the presence of "introspection" options.
 Thus, a global PKG_DEFAULT_OPTIONS+= "introspection" build appears to
 be only needed for GNOME (and its satellite GNOME-specific
 applications... when they could not be built without GNOME libraries,
 presumably).

From: "Patrick Welche" <prlw1@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/55912 CVS commit: pkgsrc/multimedia/gstreamer1
Date: Thu, 7 Jan 2021 10:09:06 +0000

 Module Name:	pkgsrc
 Committed By:	prlw1
 Date:		Thu Jan  7 10:09:06 UTC 2021

 Modified Files:
 	pkgsrc/multimedia/gstreamer1: PLIST

 Log Message:
 gstreamer1: GstCheck-1.0.* depend on both the gstcheck and introspection options

 Fixes PR pkg/55912


 To generate a diff of this commit:
 cvs rdiff -u -r1.16 -r1.17 pkgsrc/multimedia/gstreamer1/PLIST

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Benny Siegert" <bsiegert@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/55912 CVS commit: [pkgsrc-2020Q4] pkgsrc/multimedia/gstreamer1
Date: Sun, 10 Jan 2021 19:24:12 +0000

 Module Name:	pkgsrc
 Committed By:	bsiegert
 Date:		Sun Jan 10 19:24:12 UTC 2021

 Modified Files:
 	pkgsrc/multimedia/gstreamer1 [pkgsrc-2020Q4]: PLIST

 Log Message:
 Pullup ticket #6393 - requested by prlw1
 multimedia/gstreamer1: build fix

 Revisions pulled up:
 - multimedia/gstreamer1/PLIST                                   1.17

 ---
    Module Name:    pkgsrc
    Committed By:   prlw1
    Date:           Thu Jan  7 10:09:06 UTC 2021

    Modified Files:
            pkgsrc/multimedia/gstreamer1: PLIST

    Log Message:
    gstreamer1: GstCheck-1.0.* depend on both the gstcheck and introspection options

    Fixes PR pkg/55912


 To generate a diff of this commit:
 cvs rdiff -u -r1.16 -r1.16.10.1 pkgsrc/multimedia/gstreamer1/PLIST

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.46 2020/01/03 16:35:01 leot Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2020 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.