Opened 6 years ago
Closed 6 years ago
#57020 closed defect (fixed)
gstreamer1-gst-plugins-bad @1.14.2_1 build fails with gstreamer1-gst-plugins-base @1.14.2_1+ogg+universal
Reported by: | mopihopi | Owned by: | Ionic (Mihai Moldovan) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | ||
Port: | gstreamer1-gst-plugins-bad |
Description
If gstreamer1-gst-plugins-base @1.14.2_1+ogg+universal is installed, the upgrade of gstreamer1-gst-plugins-bad @1.14.2_1 (no variants) fails:
$ port installed gstreamer\* and active The following ports are currently installed: gstreamer1 @1.14.2_0+universal (active) gstreamer1-gst-plugins-bad @1.14.1_1 (active) gstreamer1-gst-plugins-base @1.14.2_1+ogg+universal (active) gstreamer1-gst-plugins-good @1.14.2_0+pulseaudio (active) $ $ sudo port upgrade gstreamer1-gst-plugins-bad ---> Computing dependencies for gstreamer1-gst-plugins-bad ---> Fetching archive for gstreamer1-gst-plugins-bad ---> Attempting to fetch gstreamer1-gst-plugins-bad-1.14.2_1.darwin_16.x86_64.tbz2 from https://packages.macports.org/gstreamer1-gst-plugins-bad ---> Attempting to fetch gstreamer1-gst-plugins-bad-1.14.2_1.darwin_16.x86_64.tbz2 from http://sea.us.packages.macports.org/macports/packages/gstreamer1-gst-plugins-bad ---> Attempting to fetch gstreamer1-gst-plugins-bad-1.14.2_1.darwin_16.x86_64.tbz2 from http://ywg.ca.packages.macports.org/mirror/macports/packages/gstreamer1-gst-plugins-bad ---> Fetching distfiles for gstreamer1-gst-plugins-bad ---> Verifying checksums for gstreamer1-gst-plugins-bad ---> Extracting gstreamer1-gst-plugins-bad ---> Applying patches to gstreamer1-gst-plugins-bad ---> Configuring gstreamer1-gst-plugins-bad ---> Building gstreamer1-gst-plugins-bad Error: Failed to build gstreamer1-gst-plugins-bad: command execution failed Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gnome_gstreamer1-gst-plugins-bad/gstreamer1-gst-plugins-bad/main.log for details. Error: Follow https://guide.macports.org/#project.tickets to report a bug. $ $ sw_vers ProductName: Mac OS X ProductVersion: 10.12.6 BuildVersion: 16G1510 $ $ xcodebuild -version Xcode 9.2 Build version 9C40b $
The build log contains the following error:
:info:build In file included from corevideobuffer.c:23: :info:build In file included from ./corevideobuffer.h:26: :info:build ./videotexturecache.h:24:10: fatal error: 'gst/gl/gl.h' file not found :info:build #include <gst/gl/gl.h> :info:build ^~~~~~~~~~~~~
gstreamer1-gst-plugins-base @1.14.2_1+ogg+universal does not provide gst/gl/gl.h, but it appears that gstreamer1-gst-plugins-bad @1.14.2_1 (no variants) excepts it to provide this.
Specifically it appears that gstreamer1-gst-plugins-bad now expects this when the following condition is true:
{![variant_isset x11] && ![variant_isset universal] && ${os.major} >= 13}
but it appears that gstreamer1-gst-plugins-base now provides it under the following condition:
{![variant_isset x11] && ${build_arch} eq "x86_64" && ${os.major} >= 13 && ![variant_isset universal]}
As long as build_arch is x86_64 (which it is in this case) these would appear to be equivalent, except that they are each checking their own +universal variant, which don't match, and therefore come up with a different answer.
The wine port adds +universal for gstreamer1-gst-plugins-base, so that's why that port has +universal. The wine port does not require gstreamer1-gst-plugins-bad but it is required by other ports which don't need +universal.
Attachments (1)
Change History (7)
Changed 6 years ago by mopihopi
Attachment: | gstreamer1-gst-plugins-bad.log added |
---|
comment:1 Changed 6 years ago by Ionic (Mihai Moldovan)
Cc: | Ionic added; Mihai Moldovan <ionic@…> removed |
---|---|
Owner: | set to Ionic |
Status: | new → accepted |
comment:2 Changed 6 years ago by Mihai Moldovan <ionic@…>
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
comment:3 Changed 6 years ago by mopihopi
Resolution: | fixed |
---|---|
Status: | closed → reopened |
The commit mentioned above changes gstreamer1-gst-plugins-base +universal to require +x11. This does not fix the issue for me, since other ports conflict with x11.
$ port installed gstreamer1-gst-plugins-base and active The following ports are currently installed: gstreamer1-gst-plugins-base @1.14.4_0+ogg+universal (active) $ sudo port upgrade gstreamer1-gst-plugins-base Error: gstreamer1-gst-plugins-base 1.14.4 requires +x11 if +universal is set. Error: Unable to open port: incompatible variant selection. Error: Follow https://guide.macports.org/#project.tickets to report a bug. $ sudo port upgrade --enforce-variants gstreamer1-gst-plugins-base +ogg+universal+x11 Error: glib2: Variant quartz conflicts with x11 Error: Unable to open port: Error evaluating variants Error: Follow https://guide.macports.org/#project.tickets to report a bug. $ port installed glib2 and active The following ports are currently installed: glib2 @2.58.1_0+quartz+universal (active) $
x11 should not be required, since gstreamer1-gst-plugins-base is working currently with +universal without +x11. There was no issue with gstreamer1-gst-plugins-base; the only issue is that gstreamer1-gst-plugins-bad forces applemedia to be enabled even when it will not work. Changing the gstreamer1-gst-plugins-bad Portfile to not enable applemedia when it would fail resolves the issue.
I have submitted a pull request (https://github.com/macports/macports-ports/pull/2932) that fixes this using an applemedia variant, so that it can be enabled or not based on the active variants of gstreamer1-gst-plugins-base. The applemedia variant is enabled by default in all cases where apple media was previously enabled except for those where it would fail to build. This fixes the issue for me.
comment:4 Changed 6 years ago by mopihopi
After some further investigation I found a much simpler solution that doesn't require a new variant: https://github.com/macports/macports-ports/pull/3173
comment:5 Changed 6 years ago by mf2k (Frank Schima)
Cc: | Ionic removed |
---|
comment:6 Changed 6 years ago by mopihopi
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
In d21307b91311b16d5505abfeace89bf90b267951/macports-ports (master):