* [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.