From 391a5067f2db8a0aba018305d99d911fbb09a906 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Tue, 21 May 2013 16:17:06 +0000 Subject: [PATCH] gst-fsl-plugin: fix segfault due to not found library The gst-fsl-plugin package tries to 'dlopen' a library using the symbolic link that points to the library file. But that symbolic link is only installed with the development package (PN-dev), not with the normal package. This commit adds a patch that uses the soname of the library in dlopen call. Signed-off-by: Javier Viguera --- .../Use-librarys-SONAME-in-dlopen.patch | 29 +++++++++++++++++++ .../gst-plugins/gst-fsl-plugin_2.0.3.bb | 5 ++-- 2 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 meta-fsl-arm/recipes-multimedia/gst-plugins/gst-fsl-plugin/Use-librarys-SONAME-in-dlopen.patch diff --git a/meta-fsl-arm/recipes-multimedia/gst-plugins/gst-fsl-plugin/Use-librarys-SONAME-in-dlopen.patch b/meta-fsl-arm/recipes-multimedia/gst-plugins/gst-fsl-plugin/Use-librarys-SONAME-in-dlopen.patch new file mode 100644 index 00000000..6349844b --- /dev/null +++ b/meta-fsl-arm/recipes-multimedia/gst-plugins/gst-fsl-plugin/Use-librarys-SONAME-in-dlopen.patch @@ -0,0 +1,29 @@ +From: Javier Viguera +Date: Tue, 21 May 2013 16:52:52 +0200 +Subject: [PATCH] Use library's SONAME in dlopen + +The 'libmfwba.so' symbolic link is only installed with the development +package, and without that symlink some gstreamer pipelines (mostly using +mfw_isink) fail with: + +Can not open dll, libmfwba.so: cannot open shared object file: No such file or directory. +Caught SIGSEGV accessing address (nil) + +Signed-off-by: Javier Viguera +--- + libs/vss/vss_common.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libs/vss/vss_common.c b/libs/vss/vss_common.c +index 757c2fc..2044051 100755 +--- a/libs/vss/vss_common.c ++++ b/libs/vss/vss_common.c +@@ -86,7 +86,7 @@ static void * g_dlhandle = NULL; + void open_allocator_dll() + { + char * errstr; +- g_dlhandle = dlopen("libmfwba.so", RTLD_LAZY); ++ g_dlhandle = dlopen("libmfwba.so.0", RTLD_LAZY); + + if (!g_dlhandle) { + printf("Can not open dll, %s.\n", dlerror()); diff --git a/meta-fsl-arm/recipes-multimedia/gst-plugins/gst-fsl-plugin_2.0.3.bb b/meta-fsl-arm/recipes-multimedia/gst-plugins/gst-fsl-plugin_2.0.3.bb index 3e3db2b1..f16e6c61 100644 --- a/meta-fsl-arm/recipes-multimedia/gst-plugins/gst-fsl-plugin_2.0.3.bb +++ b/meta-fsl-arm/recipes-multimedia/gst-plugins/gst-fsl-plugin_2.0.3.bb @@ -5,10 +5,11 @@ require gst-fsl-plugin.inc DEPENDS += "fsl-mm-codeclib fsl-mm-flv-codeclib fsl-mm-mp3enc-codeclib" RDEPENDS_${PN} = "fsl-mm-codeclib fsl-mm-flv-codeclib fsl-mm-mp3enc-codeclib" -PR = "${INC_PR}.4" +PR = "${INC_PR}.5" SRC_URI += "file://fix_segment_fault_in_v4lsink_for_yocto.patch \ - file://fix-missing-sys-types-h.patch" + file://fix-missing-sys-types-h.patch \ + file://Use-librarys-SONAME-in-dlopen.patch" SRC_URI[md5sum] = "036a8e86031b0670f41b10796e268f9e" SRC_URI[sha256sum] = "ee024e6fe94ce309b10dc89ab247d1bbcf8ae9cc8006178c96101ce2d4d164a0" -- 2.40.1