Summary: | media-libs/gstreamer-1.14.5: fails to build with make-4.3: controller-enumtypes.c:6:1: error: stray \ in program | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Toralf Förster <toralf> |
Component: | Current packages | Assignee: | GStreamer package maintainers <gstreamer> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | aliaksei.urbanski, anrock623, ao, b.buschinski, bkohler, che, dharding, gentoo, gentoo_eshoes, hd_brummy, hlein, jbowler, julien.sanchez, kdvgent, leonchik1976, marduk, mike, robiblitz, sammypfeiffer, silvio.gerli, soap, stoffepojken, totktonada.ru, viz, zeekec |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 706074 | ||
Attachments: |
emerge-info.txt
emerge-history.txt environment etc.portage.tbz2 logs.tbz2 media-libs:gstreamer-1.14.5:20200120-205856.log temp.tbz2 gstreamer-1.16.2-make43.patch /etc/portage/patches/media-libs/gstreamer-1.14.5/make-fix.patch /etc/portage/patches/media-libs/gst-plugins-base-1.14.5-r1/make-fix.patch /etc/portage/patches/media-libs/gst-plugins-bad-1.14.5/make-fix.patch gstreamer-make43-wo-automake.patch |
Description
Toralf Förster
2020-01-20 21:25:09 UTC
Created attachment 603826 [details]
emerge-info.txt
Created attachment 603828 [details]
emerge-history.txt
Created attachment 603830 [details]
environment
Created attachment 603832 [details]
etc.portage.tbz2
Created attachment 603834 [details]
logs.tbz2
Created attachment 603836 [details]
media-libs:gstreamer-1.14.5:20200120-205856.log
Created attachment 603838 [details]
temp.tbz2
It looks like gstreamer-1.14.5/libs/gst/controller/controller_mkenum.py is generating some bad code when it calls glib-mkenums, is this possibly breaking on newer python versions? Looks like this part of the upstream build system was removed: https://gitlab.freedesktop.org/gstreamer/gstreamer/commit/cf2be53b24eb79f2c8f85f9d662776a4c1114c20 The autotools build doesn't use controller_mkenum.py and this has nothing to do with it. glib-mkenums proper is for some reason adding it per logs and I can't reproduce (my glib-mkenums uses py3.6, if that matters). Stable amd64 is generating this in controller-enumtypes.c: /* This file is generated by glib-mkenums, do not modify it. This code is licensed under the same license as the containing project. Note that it links to GLib, so must comply with the LGPL linking clauses. */ #include "controller-enumtypes.h" #include "gstinterpolationcontrolsource.h" #include "gstlfocontrolsource.h" Unstable ~amd64 is generating this: /* This file is generated by glib-mkenums, do not modify it. This code is licensed under the same license as the containing project. Note that it links to GLib, so must comply with the LGPL linking clauses. */ #include "controller-enumtypes.h" \#include "gstinterpolationcontrolsource.h" \#include "gstlfocontrolsource.h" Same problem here. If i mask sys-devel/make-4.3 and downgrade to sys-devel/make-4.2.1-r4, gstreamer compiles and runs normally. Thanks for that tip Michael - downgrading sys-devel/make addressed the issue for me as well. Same for gst-plugins-* packages. I logged one or two bugs about them, but won't for the others. Probably due to: http://git.savannah.gnu.org/cgit/make.git/tree/NEWS#n18 " * WARNING: Backward-incompatibility! Number signs (#) appearing inside a macro reference or function invocation no longer introduce comments and should not be escaped with backslashes: thus a call such as: foo := $(shell echo '#') is legal. Previously the number sign needed to be escaped, for example: foo := $(shell echo '\#') Now this latter will resolve to "\#". If you want to write makefiles portable to both versions, assign the number sign to a variable: H := \# foo := $(shell echo '$H') This was claimed to be fixed in 3.81, but wasn't, for some reason. To detect this change search for 'nocomment' in the .FEATURES variable. " Created attachment 604048 [details, diff]
gstreamer-1.16.2-make43.patch
Possbible fix. Requires eautoreconf from autotools.eclass to be called.
Same error occurs in media-libs/gst-plugins-* packages. Specifically, gst-plugins-base and gst-plugins-bad. You can find patches for all five gst tarballs here: https://www.gentoofan.org/gentoo/misc/gst/ These are for 1.16, they failed apply to 1.14.5. Patch for gstreamer worked, though. Created attachment 604218 [details, diff] /etc/portage/patches/media-libs/gstreamer-1.14.5/make-fix.patch (In reply to Pavel Volkov from comment #18) > These are for 1.16, they failed apply to 1.14.5. > Patch for gstreamer worked, though. I've ported the poly-c's patch to 1.14.5 Created attachment 604220 [details, diff]
/etc/portage/patches/media-libs/gst-plugins-base-1.14.5-r1/make-fix.patch
Also attach patch for gst-plugins-base-1.14.5-r1
Created attachment 604222 [details, diff]
/etc/portage/patches/media-libs/gst-plugins-bad-1.14.5/make-fix.patch
And gst-plugins-bad-1.14.5 as well
(In reply to Ben Kohler from comment #14) is there a meta bug tracking this `make` change for any other packages? for example: app-editors/jove/files/jove-4.16.0.73-build.patch:128: @echo \#define LIBDIR \"$(LIBDIR)\" >> paths.h media-sound/toolame/files/toolame-02l-gentoo.diff:62:+ -rm $(OBJ) $(DEP) $(PGM) \#*\# *~ 2>/dev/null sys-libs/libselinux/files/0001-libselinux-Use-Python-distutils-to-install-SELinux-p.patch:169:+ -rm -rf build *~ \#* *pyc .#* etc. but not more than 60 files, most likely way less! (I grep-ed) *** Bug 707014 has been marked as a duplicate of this bug. *** I have applied the patches and media-plugins/gst-plugins-srtp does not compile http://dpaste.com/1NZFMP9 (In reply to Daniel Harding from comment #12) > Thanks for that tip Michael - downgrading sys-devel/make addressed the issue > for me as well. Gracias! ahora si que me compila Created attachment 615942 [details, diff]
gstreamer-make43-wo-automake.patch
Here's Poly's patch with autoreconf applied - this patch doesn't require running autoreconf.
(In reply to David Seifert from comment #26) > Created attachment 615942 [details, diff] [details, diff] > gstreamer-make43-wo-automake.patch > > Here's Poly's patch with autoreconf applied - this patch doesn't require > running autoreconf. Thank you, that patch worked perfectly here. Same problem and I confirm patch works. To apply: 1) mkdir -p /etc/portage/patches/media-libs/gstreamer-1.14.5 2) wget -O /etc/portage/patches/media-libs/gstreamer-1.14.5/make43.patch https://bugs.gentoo.org/attachment.cgi?id=615942 4) emerge -1v gstreamer The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4096c0d01769e49f8aa815766aad278256c1064c commit 4096c0d01769e49f8aa815766aad278256c1064c Author: David Seifert <soap@gentoo.org> AuthorDate: 2020-03-18 11:22:22 +0000 Commit: David Seifert <soap@gentoo.org> CommitDate: 2020-03-18 11:22:22 +0000 media-libs/gst-plugins-ugly: Fix for >=make-4.3 Closes: https://bugs.gentoo.org/705974 Package-Manager: Portage-2.3.94, Repoman-2.3.21 Signed-off-by: David Seifert <soap@gentoo.org> .../files/gst-plugins-ugly-1.14.3-make43.patch | 17 +++++++++++++++++ .../gst-plugins-ugly/gst-plugins-ugly-1.14.3.ebuild | 4 ++++ 2 files changed, 21 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f48af75c6ad428800177a91a510731a0488a233f commit f48af75c6ad428800177a91a510731a0488a233f Author: David Seifert <soap@gentoo.org> AuthorDate: 2020-03-18 11:22:19 +0000 Commit: David Seifert <soap@gentoo.org> CommitDate: 2020-03-18 11:22:19 +0000 media-libs/gst-plugins-good: Fix for >=make-4.3 Closes: https://bugs.gentoo.org/705974 Package-Manager: Portage-2.3.94, Repoman-2.3.21 Signed-off-by: David Seifert <soap@gentoo.org> .../files/gst-plugins-good-1.14.5-make43.patch | 56 ++++++++++++++++++++++ .../gst-plugins-good-1.14.5.ebuild | 4 ++ 2 files changed, 60 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a1187bb0a41157cee36a4864ce1ff710dad4c9a1 commit a1187bb0a41157cee36a4864ce1ff710dad4c9a1 Author: David Seifert <soap@gentoo.org> AuthorDate: 2020-03-18 11:22:16 +0000 Commit: David Seifert <soap@gentoo.org> CommitDate: 2020-03-18 11:22:16 +0000 media-libs/gst-plugins-base: Fix for >=make-4.3 Closes: https://bugs.gentoo.org/705974 Package-Manager: Portage-2.3.94, Repoman-2.3.21 Signed-off-by: David Seifert <soap@gentoo.org> .../files/gst-plugins-base-1.14.5-make43.patch | 312 +++++++++++++++++++++ .../gst-plugins-base-1.14.5-r1.ebuild | 4 + 2 files changed, 316 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=58f82ad01331675e463f3dc33e1b5b2c1f69a1a0 commit 58f82ad01331675e463f3dc33e1b5b2c1f69a1a0 Author: David Seifert <soap@gentoo.org> AuthorDate: 2020-03-18 11:22:13 +0000 Commit: David Seifert <soap@gentoo.org> CommitDate: 2020-03-18 11:22:13 +0000 media-libs/gst-plugins-bad: Fix for >=make-4.3 Closes: https://bugs.gentoo.org/705974 Package-Manager: Portage-2.3.94, Repoman-2.3.21 Signed-off-by: David Seifert <soap@gentoo.org> .../files/gst-plugins-bad-1.14.5-make43.patch | 227 +++++++++++++++++++++ .../gst-plugins-bad/gst-plugins-bad-1.14.5.ebuild | 4 + 2 files changed, 231 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d26d94695c46be522bea60762c7f4a0a47e6778b commit d26d94695c46be522bea60762c7f4a0a47e6778b Author: David Seifert <soap@gentoo.org> AuthorDate: 2020-03-18 11:22:10 +0000 Commit: David Seifert <soap@gentoo.org> CommitDate: 2020-03-18 11:22:10 +0000 media-libs/gstreamer: Fix for >=make-4.3 Closes: https://bugs.gentoo.org/705974 Package-Manager: Portage-2.3.94, Repoman-2.3.21 Signed-off-by: David Seifert <soap@gentoo.org> .../gstreamer/files/gstreamer-1.14.5-make43.patch | 84 ++++++++++++++++++++++ media-libs/gstreamer/gstreamer-1.14.5.ebuild | 1 + 2 files changed, 85 insertions(+) |