All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v2 1/4] libfslcodec: add install hooks to fix libraries path
Date: Sun, 13 Dec 2015 21:36:42 +0100	[thread overview]
Message-ID: <20151213203642.GD27769@free.fr> (raw)
In-Reply-To: <1449755560-2911-2-git-send-email-gary.bisson@boundarydevices.com>

Gary, All,

On 2015-12-10 14:52 +0100, Gary Bisson spake thusly:
> By default, all the libraries are installed under /usr/lib/imx-mm which
> causes problems at runtime.
> 
> The hooks are inspired from the mechanism used in the Yocto recipe:
> https://github.com/Freescale/meta-fsl-arm/blob/fido/recipes-
> multimedia/libfslcodec/libfslcodec.inc
> 
> Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
> ---
> 
> Here are the dependencies the pipelines above are testing:
> $ for i in `find target/usr/lib/gstreamer*/*`; do readelf -d $i | grep NEEDED | grep lib_ && echo "($i)"; done
>  0x00000001 (NEEDED)                     Shared library: [lib_nb_amr_dec_arm9_elinux.so.2]
>  0x00000001 (NEEDED)                     Shared library: [lib_wb_amr_dec_arm9_elinux.so.2]
> (target/usr/lib/gstreamer-0.10/libmfw_gst_amrdec.so)
>  0x00000001 (NEEDED)                     Shared library: [lib_peq_arm11_elinux.so.1.fhw]
> (target/usr/lib/gstreamer-0.10/libmfw_gst_audio_pp.so)
>  0x00000001 (NEEDED)                     Shared library: [lib_mp3_enc_arm12_elinux.so.2]
> (target/usr/lib/gstreamer-0.10/libmfw_gst_mp3enc.so)
>  0x00000001 (NEEDED)                     Shared library: [lib_mp3_enc_arm12_elinux.so.2]
> (target/usr/lib/gstreamer-1.0/libgstimxaudio.so)
> 
> Note that I added a staging install hook as well because otherwise the
> gst1-imx plugin doesn't find lib_mp3_enc_arm12_elinux.so at build time.
> 
> Not to copy the same library twice I decided to go with a symlink. Let
> me know if that's acceptable.
> 
> Regards,
> Gary
> 
> ---
>  package/libfslcodec/libfslcodec.mk | 15 +++++++++++++++
>  1 file changed, 15 insertions(+)
> 
> diff --git a/package/libfslcodec/libfslcodec.mk b/package/libfslcodec/libfslcodec.mk
> index 473d662..f8c6aa8 100644
> --- a/package/libfslcodec/libfslcodec.mk
> +++ b/package/libfslcodec/libfslcodec.mk
> @@ -20,4 +20,19 @@ endef
>  # FIXME The Makefile installs both the arm9 and arm11 versions of the
>  # libraries, but we only need one of them.
>  
> +# Use symlinks in staging dir so every application can link against the libs
> +# whether they look at imx-mm or not (gst-fsl-plugins vs. gst1-imx).

Hmmm.. I may have overlooked that part.

So, gst-fsl-plugins looks for the libraries in /usr/lib/imx-mm/ , while
gst1-imx looks for them in /usr/lib , right?

Is it possible to make gst-fsl-plugins look in /usr/lib, too?

(or the other way around if the lookup is the other way around, of
course...)

Regards,
Yann E. MORIN.

> +define LIBFSLCODEC_FIXUP_STAGING_PATH
> +	find $(STAGING_DIR)/usr/lib/imx-mm -mindepth 2 -maxdepth 2 -not -type d \
> +		-exec ln -fs {} $(STAGING_DIR)/usr/lib \;
> +endef
> +LIBFSLCODEC_POST_INSTALL_STAGING_HOOKS += LIBFSLCODEC_FIXUP_STAGING_PATH
> +
> +# Use symlinks in install dir as well to match staging setup.

In complement to my previous reply, with insight from what you said
above: even if gst-fsl-plugins looks for in /usr/lib/imx-mm at build
time, does it still look there at runtime? If not, then just do a move.

Regards,
Yann E. MORIN.

> +define LIBFSLCODEC_FIXUP_TARGET_PATH
> +	find $(TARGET_DIR)/usr/lib/imx-mm -mindepth 2 -maxdepth 2 -not -type d \
> +		-exec ln -fs {} $(TARGET_DIR)/usr/lib \;
> +endef
> +LIBFSLCODEC_POST_INSTALL_TARGET_HOOKS += LIBFSLCODEC_FIXUP_TARGET_PATH
> +
>  $(eval $(autotools-package))
> -- 
> 2.6.2
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

  parent reply	other threads:[~2015-12-13 20:36 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-10 13:52 [Buildroot] [PATCH v2 0/4] libfsl*: fix install path + update conf opts Gary Bisson
2015-12-10 13:52 ` [Buildroot] [PATCH v2 1/4] libfslcodec: add install hooks to fix libraries path Gary Bisson
2015-12-13 20:31   ` Yann E. MORIN
2015-12-14 21:34     ` Gary Bisson
2015-12-13 20:36   ` Yann E. MORIN [this message]
2015-12-14 21:25     ` Gary Bisson
2016-01-24 20:55       ` Gary Bisson
2015-12-10 13:52 ` [Buildroot] [PATCH v2 2/4] libfslcodec: add missing configure options Gary Bisson
2015-12-13 20:32   ` Yann E. MORIN
2015-12-14 21:28     ` Gary Bisson
2016-03-04  9:17       ` Gary Bisson
2015-12-10 13:52 ` [Buildroot] [PATCH v2 3/4] libfslparser: add install hooks to fix libraries path Gary Bisson
2015-12-13 20:38   ` Yann E. MORIN
2015-12-10 13:52 ` [Buildroot] [PATCH v2 4/4] libfslparser: add missing configure options Gary Bisson
2015-12-13 20:39   ` Yann E. MORIN

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20151213203642.GD27769@free.fr \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.