After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 740084 - Install missing libtool files and versioned shared libraries for a bunch of recipes
Install missing libtool files and versioned shared libraries for a bunch of r...
Status: VERIFIED FIXED
Product: GStreamer
Classification: Platform
Component: cerbero
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-11-13 21:47 UTC by Nirbheek Chauhan
Modified: 2014-11-26 18:41 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
openssl.recipe: Fix libdir, install libtool file, etc (2.65 KB, patch)
2014-11-13 21:48 UTC, Nirbheek Chauhan
committed Details | Review
libsrtp.recipe: Install a libtool file as well (1.09 KB, patch)
2014-11-13 21:49 UTC, Nirbheek Chauhan
committed Details | Review
openh264.recipe: Install a versioned shared lib, and a libtool file (5.10 KB, patch)
2014-11-13 21:49 UTC, Nirbheek Chauhan
needs-work Details | Review
Fix build on Windows and fix library path on OS X (7.23 KB, patch)
2014-11-20 13:04 UTC, Nirbheek Chauhan
committed Details | Review
openh264: Fix build on Windows and fix library path on OS X (6.89 KB, patch)
2014-11-21 14:10 UTC, Nirbheek Chauhan
none Details | Review
openh264.recipe: Install a versioned shared lib, and a libtool file (7.91 KB, patch)
2014-11-21 14:14 UTC, Nirbheek Chauhan
committed Details | Review

Description Nirbheek Chauhan 2014-11-13 21:47:08 UTC
The following recipes are missing versioned libraries/libtool (.la) files:

libsrtp, openssl, openh264 (versioned missing).

The attached patches fix these issues.
Comment 1 Nirbheek Chauhan 2014-11-13 21:48:43 UTC
Created attachment 290662 [details] [review]
openssl.recipe: Fix libdir, install libtool file, etc
Comment 2 Nirbheek Chauhan 2014-11-13 21:49:03 UTC
Created attachment 290663 [details] [review]
libsrtp.recipe: Install a libtool file as well
Comment 3 Nirbheek Chauhan 2014-11-13 21:49:27 UTC
Created attachment 290664 [details] [review]
openh264.recipe: Install a versioned shared lib, and a libtool file
Comment 4 Sebastian Dröge (slomo) 2014-11-20 10:02:49 UTC
Review of attachment 290664 [details] [review]:

::: recipes/openh264/versioned-shared-library.patch
@@ +20,3 @@
++ifneq ($(filter $(OS),android linux ios darwin freebsd),)
++SHAREDLIBVERSION=.0
++SHAREDLIBSUFFIXVER=$(SHAREDLIBSUFFIX)$(SHAREDLIBVERSION)

I don't think this is correct for ios and darwin. There you usually have libfoo.X.dylib instead of libfoo.so.X, e.g. libgstreamer-1.0.0.dylib instead of libgstreamer-1.0.dylib.0. Additionally like on other systems you also have a libfoo.dylib without the version.
Comment 5 Sebastian Dröge (slomo) 2014-11-20 10:25:50 UTC
(In reply to comment #2)
> Created an attachment (id=290663) [details] [review]
> libsrtp.recipe: Install a libtool file as well

For some reason this seems to break the windows buildslave:
https://ci.gstreamer.net/job/cerbero-cross-mingw32/1160/console

> i686-w64-mingw32-gcc: error: /home/jenkins/workspace/cerbero-cross-mingw32 /workdir/dist/windows_x86/lib/libsrtp.dll.a: No such file or directory

Something wrong in the .la file?
Comment 6 Nirbheek Chauhan 2014-11-20 13:04:59 UTC
Created attachment 291096 [details] [review]
Fix build on Windows and fix library path on OS X

(In reply to comment #5)
> (In reply to comment #2)
> > Created an attachment (id=290663) [details] [review] [details] [review]
> > libsrtp.recipe: Install a libtool file as well
> 
> For some reason this seems to break the windows buildslave:
> https://ci.gstreamer.net/job/cerbero-cross-mingw32/1160/console
> 
> > i686-w64-mingw32-gcc: error: /home/jenkins/workspace/cerbero-cross-mingw32 /workdir/dist/windows_x86/lib/libsrtp.dll.a: No such file or directory
> 
> Something wrong in the .la file?

The attached patch should fix that. 

(In reply to comment #4)
> Review of attachment 290664 [details] [review]:
> 
> ::: recipes/openh264/versioned-shared-library.patch
> @@ +20,3 @@
> ++ifneq ($(filter $(OS),android linux ios darwin freebsd),)
> ++SHAREDLIBVERSION=.0
> ++SHAREDLIBSUFFIXVER=$(SHAREDLIBSUFFIX)$(SHAREDLIBVERSION)
> 
> I don't think this is correct for ios and darwin. There you usually have
> libfoo.X.dylib instead of libfoo.so.X, e.g. libgstreamer-1.0.0.dylib instead of
> libgstreamer-1.0.dylib.0. Additionally like on other systems you also have a
> libfoo.dylib without the version.

You're absolutely right, I'll fix that patch. Additionally, libsrtp had the same problem, and I've fixed that with this patch as well.
Comment 7 Nirbheek Chauhan 2014-11-21 14:10:36 UTC
Created attachment 291169 [details] [review]
openh264: Fix build on Windows and fix library path on OS X

This patch and the one above should fix the gst-plugins-bad-1.0 build on Windows.
Comment 8 Nirbheek Chauhan 2014-11-21 14:14:42 UTC
Created attachment 291170 [details] [review]
openh264.recipe: Install a versioned shared lib, and a libtool file

Rebased patch that replaces attachment 290664 [details] [review]; just this and the patch in comment 6 are necessary.
Comment 9 Sebastian Dröge (slomo) 2014-11-24 11:09:54 UTC
You might want to provide those patches also to the libsrtp and openh264 community ;)
Comment 10 Nirbheek Chauhan 2014-11-26 18:41:57 UTC
(In reply to comment #9)
> You might want to provide those patches also to the libsrtp and openh264
> community ;)

libsrtp: https://github.com/cisco/libsrtp/pull/86
openh264: https://github.com/cisco/openh264/pull/1565