gst-plugins-bad1.0 FTBFS: mirclient headers needed

Bug #1465958 reported by Steve Langasek on 2015-06-17
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
gst-plugins-bad1.0 (Ubuntu)
High
Steve Langasek
platform-api (Ubuntu)
High
Mir development team

Bug Description

The gst-plugins-bad1.0 package fails to build in Ubuntu since before the vivid release. The latest build failure, for a no-change rebuild for the libnettle transition, can be seen at <https://launchpad.net/ubuntu/+source/gst-plugins-bad1.0/1.4.5-1ubuntu4/+build/7539541>:

libtool: compile: gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../.. -D_FORTIFY_SOURCE=2 -I../../gst-libs -I../../gst-libs -pthread -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -pthread -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -pthread -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -DGST_USE_UNSTABLE_API -DG_THREADS_MANDATORY -DG_DISABLE_CAST_CHECKS -DG_DISABLE_ASSERT -Wall -Wdeclaration-after-statement -Wvla -Wpointer-arith -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wwrite-strings -Wformat-security -Wold-style-definition -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar -Wnested-externs -g -I/usr/include/orc-0.4 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-error -c gstamchybris.c -fPIC -DPIC -o .libs/libgstandroidmedia_la-gstamchybris.o
[...]
In file included from /usr/include/ubuntu/application/ui/window.h:31:0,
                 from gstamc.h:35,
                 from gstamchybris.c:27:
/usr/include/ubuntu/application/instance.h:28:44: fatal error: mir_toolkit/mir_client_library.h: No such file or directory
 #include <mir_toolkit/mir_client_library.h>
                                            ^
compilation terminated.

This failure happens only on armhf and i386 architectures, which are the only ones where libgstandroidmedia is enabled.

There are two related bugs here. First, the sys/androidmedia makefile is failing to reference the ubuntu-platform-api pkg-config, which is the expected way to find include paths etc for a library that's being referenced; instead includes of <ubuntu/application/ui/[...]> are hard-coded in sys/androidmedia/gstamc.h. (The pkg-config .pc file indicates includes of <application/ui/[...]> are expected.) Second, the ubuntu-platform-api .pc file lacks a Requires: declaration against mirclient, despite the fact that ubuntu-platform-api references headers from Mir.

Both of these bugs should be fixed in order to properly fix the gst-plugins-bad1.0 build failure.

Related branches

Steve Langasek (vorlon) wrote :

Here's the patch which fixes gst-plugins-bad1.0. ubuntu-platform-api still needs to add the Requires.private: mirclient to its pkg-config in order for this to work.

Steve Langasek (vorlon) on 2015-06-17
Changed in platform-api (Ubuntu):
importance: Undecided → High
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in gst-plugins-bad1.0 (Ubuntu):
status: New → Confirmed
Changed in platform-api (Ubuntu):
status: New → Confirmed
Steve Langasek (vorlon) wrote :

gst-plugins-bad1.0 uploaded to wily-proposed, but will only build on i386+armhf when the platform-api fix also lands.

Changed in gst-plugins-bad1.0 (Ubuntu):
assignee: nobody → Steve Langasek (vorlon)
status: Confirmed → Fix Committed
importance: Undecided → High
tags: added: patch
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gst-plugins-bad1.0 - 1.4.5-1ubuntu6

---------------
gst-plugins-bad1.0 (1.4.5-1ubuntu6) wily; urgency=medium

  * debian/patches/mirclient-requires.patch, debian/build-deps.in: Explicitly
    include mirclient's CFLAGS and LIBS even though they are only indirectly
    (by platform-api) required. Resolves FTBFS and can be removed once bug
    #1465958 is fixed.

 -- Iain Lane <email address hidden> Wed, 24 Jun 2015 17:48:12 +0100

Changed in gst-plugins-bad1.0 (Ubuntu):
status: Fix Committed → Fix Released
Iain Lane (laney) wrote :

The used headers are removed in platform-api in ppa:ci-train-ppa-service/landing-013 so code changes are required.

Alberto Aguirre (albaguirre) wrote :

So it turns out platform-api usage is actually not in use (#if 0'ed out): So here's a debdiff that removes referecing the now non-existent platform-api types and headers.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package platform-api - 3.0.0+15.10.20150706-0ubuntu1

---------------
platform-api (3.0.0+15.10.20150706-0ubuntu1) wily; urgency=medium

  [ Robert Carr ]
  * Remove deprecated ua_ui_* functions.
  * Remove mirserver backend

  [ CI Train Bot ]
  * New rebuild forced.

  [ Steve Langasek ]
  * Fix pkg-config to declare the dependency on mirclient headers. (LP:
    #1465958)

 -- CI Train Bot <email address hidden> Mon, 06 Jul 2015 17:53:08 +0000

Changed in platform-api (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers