All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-raspberrypi][PATCH 1/2] userland: Add '--no-as-needed' linker flag to ensure all specified shared libraries are linked against applications (e.g. raspivid)
       [not found] <cover.1401706333.git.ajlennon@dynamicdevices.co.uk>
@ 2014-06-02 10:58 ` Alex J Lennon
  2014-06-10 18:22   ` Andrei Gherzan
  2014-06-02 10:58 ` [meta-raspberrypi][PATCH 2/2] userland: Add SRCBRANCH and SRCFORK for use by SRC_URI Alex J Lennon
  1 sibling, 1 reply; 6+ messages in thread
From: Alex J Lennon @ 2014-06-02 10:58 UTC (permalink / raw)
  To: yocto, vaduva.jan.alexandru, andrei, gary

libmmal_vc_client.so makes use of __attribute__(constructor) to ensure that supplier components (e.g. camera) are loaded when the static library is loaded.

raspivid, and possibly other applications, link against libmmal_vc_client.so, causing the ctor to execute, but there is no needed dependency.

Some build environments (e.g. Yocto/OpenEmbedded) pass the '--no-as-needed' linker flag which removes the dependency on libmmal_vc_client and thus components are not registered.

In this situation raspivid then gives an error of the form

  root@raspberrypi:~# raspivid -o test
  mmal: mmal_component_create_core: could not find component 'vc.ril.camera'
  mmal: Failed to create camera component
  mmal: main: Failed to create camera component
  mmal: Failed to run camera app. Please check for firmware updates

For further details see: https://lists.yoctoproject.org/pipermail/yocto/2014-June/019933.html

Change-Id: I9d787fd83379e8b6428dde3827395c8b96be1f7f
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
---
 recipes-graphics/userland/userland_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes-graphics/userland/userland_git.bb b/recipes-graphics/userland/userland_git.bb
index a348090..4b405ee 100644
--- a/recipes-graphics/userland/userland_git.bb
+++ b/recipes-graphics/userland/userland_git.bb
@@ -18,7 +18,7 @@ S = "${WORKDIR}/git"
 
 inherit cmake
 
-EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release"
+EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release -DCMAKE_EXE_LINKER_FLAGS='-Wl,--no-as-needed'"
 
 # The compiled binaries don't provide sonames.
 SOLIBS = "${SOLIBSDEV}"
-- 
2.0.0



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [meta-raspberrypi][PATCH 2/2] userland: Add SRCBRANCH and SRCFORK for use by SRC_URI
       [not found] <cover.1401706333.git.ajlennon@dynamicdevices.co.uk>
  2014-06-02 10:58 ` [meta-raspberrypi][PATCH 1/2] userland: Add '--no-as-needed' linker flag to ensure all specified shared libraries are linked against applications (e.g. raspivid) Alex J Lennon
@ 2014-06-02 10:58 ` Alex J Lennon
  2014-06-10 18:23   ` Andrei Gherzan
  1 sibling, 1 reply; 6+ messages in thread
From: Alex J Lennon @ 2014-06-02 10:58 UTC (permalink / raw)
  To: yocto, vaduva.jan.alexandru, andrei, gary

Makes it clearer to manage repo forks, and branches prior to (e.g.) upstream commits of in tree changes

Change-Id: I42f8af975c08f84c4ceb9910713eba2da3a87d8b
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
---
 recipes-graphics/userland/userland_git.bb | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/recipes-graphics/userland/userland_git.bb b/recipes-graphics/userland/userland_git.bb
index 4b405ee..7fb7ebb 100644
--- a/recipes-graphics/userland/userland_git.bb
+++ b/recipes-graphics/userland/userland_git.bb
@@ -11,8 +11,11 @@ PROVIDES = "virtual/libgles2 \
             virtual/egl"
 COMPATIBLE_MACHINE = "raspberrypi"
 
+SRCBRANCH = "master"
+SRCFORK = "raspberrypi"
 SRCREV = "eccb81050afd177da1923404b366c6226f29bfe0"
-SRC_URI = "git://github.com/raspberrypi/userland.git;protocol=git;branch=master \
+
+SRC_URI = "git://github.com/${SRCFORK}/userland.git;protocol=git;branch=${SRCBRANCH} \
           "
 S = "${WORKDIR}/git"
 
-- 
2.0.0



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [meta-raspberrypi][PATCH 1/2] userland: Add '--no-as-needed' linker flag to ensure all specified shared libraries are linked against applications (e.g. raspivid)
  2014-06-02 10:58 ` [meta-raspberrypi][PATCH 1/2] userland: Add '--no-as-needed' linker flag to ensure all specified shared libraries are linked against applications (e.g. raspivid) Alex J Lennon
@ 2014-06-10 18:22   ` Andrei Gherzan
  2014-06-10 23:20     ` Alex J Lennon
  0 siblings, 1 reply; 6+ messages in thread
From: Andrei Gherzan @ 2014-06-10 18:22 UTC (permalink / raw)
  To: Alex J Lennon; +Cc: Yocto Project, Gary Thomas, jan alexandru vaduva

[-- Attachment #1: Type: text/plain, Size: 2153 bytes --]

On Mon, Jun 2, 2014 at 1:58 PM, Alex J Lennon <ajlennon@dynamicdevices.co.uk
> wrote:

> libmmal_vc_client.so makes use of __attribute__(constructor) to ensure
> that supplier components (e.g. camera) are loaded when the static library
> is loaded.
>

There shouldn't be more than 78 characters per line. I did this change for
this patch (the other you already submited). More info:
http://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines


>
> raspivid, and possibly other applications, link against
> libmmal_vc_client.so, causing the ctor to execute, but there is no needed
> dependency.
>
> Some build environments (e.g. Yocto/OpenEmbedded) pass the
> '--no-as-needed' linker flag which removes the dependency on
> libmmal_vc_client and thus components are not registered.
>
> In this situation raspivid then gives an error of the form
>
>   root@raspberrypi:~# raspivid -o test
>   mmal: mmal_component_create_core: could not find component
> 'vc.ril.camera'
>   mmal: Failed to create camera component
>   mmal: main: Failed to create camera component
>   mmal: Failed to run camera app. Please check for firmware updates
>
> For further details see:
> https://lists.yoctoproject.org/pipermail/yocto/2014-June/019933.html
>
> Change-Id: I9d787fd83379e8b6428dde3827395c8b96be1f7f
> Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
> ---
>  recipes-graphics/userland/userland_git.bb | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/recipes-graphics/userland/userland_git.bb
> b/recipes-graphics/userland/userland_git.bb
> index a348090..4b405ee 100644
> --- a/recipes-graphics/userland/userland_git.bb
> +++ b/recipes-graphics/userland/userland_git.bb
> @@ -18,7 +18,7 @@ S = "${WORKDIR}/git"
>
>  inherit cmake
>
> -EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release"
> +EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release
> -DCMAKE_EXE_LINKER_FLAGS='-Wl,--no-as-needed'"
>
>  # The compiled binaries don't provide sonames.
>  SOLIBS = "${SOLIBSDEV}"
> --
> 2.0.0
>
>
Thanks a lot. Merged.

-- 
*Andrei Gherzan*
m: +40.744.478.414 |  f: +40.31.816.28.12

[-- Attachment #2: Type: text/html, Size: 4007 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [meta-raspberrypi][PATCH 2/2] userland: Add SRCBRANCH and SRCFORK for use by SRC_URI
  2014-06-02 10:58 ` [meta-raspberrypi][PATCH 2/2] userland: Add SRCBRANCH and SRCFORK for use by SRC_URI Alex J Lennon
@ 2014-06-10 18:23   ` Andrei Gherzan
  0 siblings, 0 replies; 6+ messages in thread
From: Andrei Gherzan @ 2014-06-10 18:23 UTC (permalink / raw)
  To: Alex J Lennon; +Cc: Yocto Project, Gary Thomas, jan alexandru vaduva

[-- Attachment #1: Type: text/plain, Size: 1258 bytes --]

On Mon, Jun 2, 2014 at 1:58 PM, Alex J Lennon <ajlennon@dynamicdevices.co.uk
> wrote:

> Makes it clearer to manage repo forks, and branches prior to (e.g.)
> upstream commits of in tree changes
>
> Change-Id: I42f8af975c08f84c4ceb9910713eba2da3a87d8b
> Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
> ---
>  recipes-graphics/userland/userland_git.bb | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/recipes-graphics/userland/userland_git.bb
> b/recipes-graphics/userland/userland_git.bb
> index 4b405ee..7fb7ebb 100644
> --- a/recipes-graphics/userland/userland_git.bb
> +++ b/recipes-graphics/userland/userland_git.bb
> @@ -11,8 +11,11 @@ PROVIDES = "virtual/libgles2 \
>              virtual/egl"
>  COMPATIBLE_MACHINE = "raspberrypi"
>
> +SRCBRANCH = "master"
> +SRCFORK = "raspberrypi"
>  SRCREV = "eccb81050afd177da1923404b366c6226f29bfe0"
> -SRC_URI = "git://
> github.com/raspberrypi/userland.git;protocol=git;branch=master \
> +
> +SRC_URI = "git://
> github.com/${SRCFORK}/userland.git;protocol=git;branch=${SRCBRANCH} \
>            "
>  S = "${WORKDIR}/git"
>
> --
> 2.0.0
>
>
Thanks Alex. Merged.

-- 
*Andrei Gherzan*
m: +40.744.478.414 |  f: +40.31.816.28.12

[-- Attachment #2: Type: text/html, Size: 2708 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [meta-raspberrypi][PATCH 1/2] userland: Add '--no-as-needed' linker flag to ensure all specified shared libraries are linked against applications (e.g. raspivid)
  2014-06-10 18:22   ` Andrei Gherzan
@ 2014-06-10 23:20     ` Alex J Lennon
  2014-06-11  7:52       ` Andrei Gherzan
  0 siblings, 1 reply; 6+ messages in thread
From: Alex J Lennon @ 2014-06-10 23:20 UTC (permalink / raw)
  To: Andrei Gherzan; +Cc: Yocto Project, Gary Thomas, jan alexandru vaduva

[-- Attachment #1: Type: text/plain, Size: 961 bytes --]


On 10/06/2014 19:22, Andrei Gherzan wrote:
>
>
> On Mon, Jun 2, 2014 at 1:58 PM, Alex J Lennon
> <ajlennon@dynamicdevices.co.uk <mailto:ajlennon@dynamicdevices.co.uk>>
> wrote:
>
>     libmmal_vc_client.so makes use of __attribute__(constructor) to
>     ensure that supplier components (e.g. camera) are loaded when the
>     static library is loaded.
>
>
> There shouldn't be more than 78 characters per line. I did this change
> for this patch (the other you already submited). More info:
> http://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines

Understood - thanks Andrei, I'll try to bear that in mind.

Perhaps you'd be open to the idea of a patch to add these requirements
into the meta-raspberrypi README in-between 5A/5B.

I believe it would help contributors like myself, who are new to the
process requirements, to understand how to put a patch together
correctly, as well as where to sent it.

Cheers,

Alex

[-- Attachment #2: Type: text/html, Size: 2257 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [meta-raspberrypi][PATCH 1/2] userland: Add '--no-as-needed' linker flag to ensure all specified shared libraries are linked against applications (e.g. raspivid)
  2014-06-10 23:20     ` Alex J Lennon
@ 2014-06-11  7:52       ` Andrei Gherzan
  0 siblings, 0 replies; 6+ messages in thread
From: Andrei Gherzan @ 2014-06-11  7:52 UTC (permalink / raw)
  To: Alex J Lennon; +Cc: Yocto Project, Gary Thomas, jan alexandru vaduva

[-- Attachment #1: Type: text/plain, Size: 1125 bytes --]

On Wed, Jun 11, 2014 at 2:20 AM, Alex J Lennon <
ajlennon@dynamicdevices.co.uk> wrote:

>
> On 10/06/2014 19:22, Andrei Gherzan wrote:
>
>
>
> On Mon, Jun 2, 2014 at 1:58 PM, Alex J Lennon <
> ajlennon@dynamicdevices.co.uk> wrote:
>
>> libmmal_vc_client.so makes use of __attribute__(constructor) to ensure
>> that supplier components (e.g. camera) are loaded when the static library
>> is loaded.
>>
>
>  There shouldn't be more than 78 characters per line. I did this change
> for this patch (the other you already submited). More info:
>  http://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines
>
>
> Understood - thanks Andrei, I'll try to bear that in mind.
>
> Perhaps you'd be open to the idea of a patch to add these requirements
> into the meta-raspberrypi README in-between 5A/5B.
>
> I believe it would help contributors like myself, who are new to the
> process requirements, to understand how to put a patch together correctly,
> as well as where to sent it.
>

That's a good idea. Will send a patch.


-- 
*Andrei Gherzan*
m: +40.744.478.414 |  f: +40.31.816.28.12

[-- Attachment #2: Type: text/html, Size: 2870 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-06-11  7:52 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <cover.1401706333.git.ajlennon@dynamicdevices.co.uk>
2014-06-02 10:58 ` [meta-raspberrypi][PATCH 1/2] userland: Add '--no-as-needed' linker flag to ensure all specified shared libraries are linked against applications (e.g. raspivid) Alex J Lennon
2014-06-10 18:22   ` Andrei Gherzan
2014-06-10 23:20     ` Alex J Lennon
2014-06-11  7:52       ` Andrei Gherzan
2014-06-02 10:58 ` [meta-raspberrypi][PATCH 2/2] userland: Add SRCBRANCH and SRCFORK for use by SRC_URI Alex J Lennon
2014-06-10 18:23   ` Andrei Gherzan

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.