* [PATCHv2] meta-toolchain-arago: make SDK/devkit relocatable
@ 2012-11-07 21:03 Denys Dmytriyenko
2012-11-07 21:05 ` Denys Dmytriyenko
0 siblings, 1 reply; 4+ messages in thread
From: Denys Dmytriyenko @ 2012-11-07 21:03 UTC (permalink / raw)
To: meta-arago
Implement poor man's relocation technique for self-contained crosssdk binaries
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
---
In v2 use stub shell scripts instead of aliases, to work in Makefiles
| 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
--git a/meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb b/meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb
index d2fe982..81bdeed 100644
--- a/meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb
+++ b/meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb
@@ -4,7 +4,7 @@ TOOLCHAIN_OUTPUTNAME ?= "${SDK_NAME}-${ARMPKGARCH}-${TARGET_OS}-sdk-${SDK_ARCH}"
require recipes-core/meta/meta-toolchain.bb
-PR = "r5"
+PR = "r6"
SDKTARGETSYSROOT = "${SDKPATH}/${ARAGO_TARGET_SYS}"
@@ -28,6 +28,7 @@ toolchain_create_sdk_env_script () {
echo 'export TARGET_SYS=${ARAGO_TARGET_SYS}' >> $script
echo 'export TARGET_PREFIX=$TARGET_SYS-' >> $script
echo 'export PATH=$SDK_PATH/bin:$PATH' >> $script
+ echo 'export LD_LIBRARY_PATH=$SDK_PATH/lib:$LD_LIBRARY_PATH' >> $script
echo 'export CPATH=$SDK_PATH/$TARGET_SYS/usr/include:$CPATH' >> $script
echo 'export PKG_CONFIG_SYSROOT_DIR=$SDK_PATH/$TARGET_SYS' >> $script
echo 'export PKG_CONFIG_PATH=$SDK_PATH/$TARGET_SYS${libdir}/pkgconfig' >> $script
@@ -55,3 +56,13 @@ toolchain_create_sdk_env_script () {
echo 'export OECORE_DISTRO_VERSION="${DISTRO_VERSION}"' >> $script
echo 'export OECORE_SDK_VERSION="${SDK_VERSION}"' >> $script
}
+
+populate_sdk_ipk_append () {
+ cd ${SDK_OUTPUT}/${SDKPATH}/bin
+ binfiles=`find ! -name "${ARAGO_TARGET_SYS}-*" -type f -perm +111 -exec file {} \;|grep -v ":.*ASCII.*text"|cut -d":" -f1|cut -c3-`
+ for i in $binfiles; do
+ mv $i $i.real
+ printf "#!/bin/sh\n\x24SDK_PATH/lib/ld-linux.so.2 \x24SDK_PATH/bin/$i.real \x24\x2a\n" > $i
+ chmod +x $i
+ done
+}
--
1.8.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCHv2] meta-toolchain-arago: make SDK/devkit relocatable
2012-11-07 21:03 [PATCHv2] meta-toolchain-arago: make SDK/devkit relocatable Denys Dmytriyenko
@ 2012-11-07 21:05 ` Denys Dmytriyenko
2012-11-07 23:11 ` Cooper Jr., Franklin
0 siblings, 1 reply; 4+ messages in thread
From: Denys Dmytriyenko @ 2012-11-07 21:05 UTC (permalink / raw)
To: meta-arago
On Wed, Nov 07, 2012 at 04:03:00PM -0500, Denys Dmytriyenko wrote:
> Implement poor man's relocation technique for self-contained crosssdk binaries
>
> Signed-off-by: Denys Dmytriyenko <denys@ti.com>
> ---
> In v2 use stub shell scripts instead of aliases, to work in Makefiles
Ok, this seems to work fine in shell and in Makefiles too. And it also works
when environment-setup is sources before calling make, but not inside the
Makefile.
> meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb | 13 ++++++++++++-
> 1 file changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb b/meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb
> index d2fe982..81bdeed 100644
> --- a/meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb
> +++ b/meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb
> @@ -4,7 +4,7 @@ TOOLCHAIN_OUTPUTNAME ?= "${SDK_NAME}-${ARMPKGARCH}-${TARGET_OS}-sdk-${SDK_ARCH}"
>
> require recipes-core/meta/meta-toolchain.bb
>
> -PR = "r5"
> +PR = "r6"
>
> SDKTARGETSYSROOT = "${SDKPATH}/${ARAGO_TARGET_SYS}"
>
> @@ -28,6 +28,7 @@ toolchain_create_sdk_env_script () {
> echo 'export TARGET_SYS=${ARAGO_TARGET_SYS}' >> $script
> echo 'export TARGET_PREFIX=$TARGET_SYS-' >> $script
> echo 'export PATH=$SDK_PATH/bin:$PATH' >> $script
> + echo 'export LD_LIBRARY_PATH=$SDK_PATH/lib:$LD_LIBRARY_PATH' >> $script
> echo 'export CPATH=$SDK_PATH/$TARGET_SYS/usr/include:$CPATH' >> $script
> echo 'export PKG_CONFIG_SYSROOT_DIR=$SDK_PATH/$TARGET_SYS' >> $script
> echo 'export PKG_CONFIG_PATH=$SDK_PATH/$TARGET_SYS${libdir}/pkgconfig' >> $script
> @@ -55,3 +56,13 @@ toolchain_create_sdk_env_script () {
> echo 'export OECORE_DISTRO_VERSION="${DISTRO_VERSION}"' >> $script
> echo 'export OECORE_SDK_VERSION="${SDK_VERSION}"' >> $script
> }
> +
> +populate_sdk_ipk_append () {
> + cd ${SDK_OUTPUT}/${SDKPATH}/bin
> + binfiles=`find ! -name "${ARAGO_TARGET_SYS}-*" -type f -perm +111 -exec file {} \;|grep -v ":.*ASCII.*text"|cut -d":" -f1|cut -c3-`
> + for i in $binfiles; do
> + mv $i $i.real
> + printf "#!/bin/sh\n\x24SDK_PATH/lib/ld-linux.so.2 \x24SDK_PATH/bin/$i.real \x24\x2a\n" > $i
> + chmod +x $i
> + done
> +}
> --
> 1.8.0
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCHv2] meta-toolchain-arago: make SDK/devkit relocatable
2012-11-07 21:05 ` Denys Dmytriyenko
@ 2012-11-07 23:11 ` Cooper Jr., Franklin
2012-11-08 1:19 ` Denys Dmytriyenko
0 siblings, 1 reply; 4+ messages in thread
From: Cooper Jr., Franklin @ 2012-11-07 23:11 UTC (permalink / raw)
To: Dmytriyenko, Denys, meta-arago@arago-project.org
-----Original Message-----
From: meta-arago-bounces@arago-project.org [mailto:meta-arago-bounces@arago-project.org] On Behalf Of Dmytriyenko, Denys
Sent: Wednesday, November 07, 2012 3:06 PM
To: meta-arago@arago-project.org
Subject: Re: [meta-arago] [PATCHv2] meta-toolchain-arago: make SDK/devkit relocatable
On Wed, Nov 07, 2012 at 04:03:00PM -0500, Denys Dmytriyenko wrote:
> Implement poor man's relocation technique for self-contained crosssdk
> binaries
>
> Signed-off-by: Denys Dmytriyenko <denys@ti.com>
> ---
> In v2 use stub shell scripts instead of aliases, to work in Makefiles
Ok, this seems to work fine in shell and in Makefiles too. And it also works when environment-setup is sources before calling make, but not inside the Makefile.
Franklin:
export LD_LIBRARY_PATH=$SDK_PATH/lib:$LD_LIBRARY_PATH is causing issues. Once I source that file I get a Segmentation fault when calling qmake, make,arm-arago-linux-gnueabi-gcc,ls , etc....
Removing that line from environment-setup gets rid of the Segmentation fault issue but of course qmake and the other executables don't work. I get a "error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory".
Since you got this working is there anything the host machine needs to configure to get this to work?
> meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb | 13
> ++++++++++++-
> 1 file changed, 12 insertions(+), 1 deletion(-)
>
> diff --git
> a/meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb
> b/meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb
> index d2fe982..81bdeed 100644
> --- a/meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb
> +++ b/meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb
> @@ -4,7 +4,7 @@ TOOLCHAIN_OUTPUTNAME ?= "${SDK_NAME}-${ARMPKGARCH}-${TARGET_OS}-sdk-${SDK_ARCH}"
>
> require recipes-core/meta/meta-toolchain.bb
>
> -PR = "r5"
> +PR = "r6"
>
> SDKTARGETSYSROOT = "${SDKPATH}/${ARAGO_TARGET_SYS}"
>
> @@ -28,6 +28,7 @@ toolchain_create_sdk_env_script () {
> echo 'export TARGET_SYS=${ARAGO_TARGET_SYS}' >> $script
> echo 'export TARGET_PREFIX=$TARGET_SYS-' >> $script
> echo 'export PATH=$SDK_PATH/bin:$PATH' >> $script
> + echo 'export LD_LIBRARY_PATH=$SDK_PATH/lib:$LD_LIBRARY_PATH' >>
> +$script
> echo 'export CPATH=$SDK_PATH/$TARGET_SYS/usr/include:$CPATH' >> $script
> echo 'export PKG_CONFIG_SYSROOT_DIR=$SDK_PATH/$TARGET_SYS' >> $script
> echo 'export
> PKG_CONFIG_PATH=$SDK_PATH/$TARGET_SYS${libdir}/pkgconfig' >> $script @@ -55,3 +56,13 @@ toolchain_create_sdk_env_script () {
> echo 'export OECORE_DISTRO_VERSION="${DISTRO_VERSION}"' >> $script
> echo 'export OECORE_SDK_VERSION="${SDK_VERSION}"' >> $script }
> +
> +populate_sdk_ipk_append () {
> + cd ${SDK_OUTPUT}/${SDKPATH}/bin
> + binfiles=`find ! -name "${ARAGO_TARGET_SYS}-*" -type f -perm +111 -exec file {} \;|grep -v ":.*ASCII.*text"|cut -d":" -f1|cut -c3-`
> + for i in $binfiles; do
> + mv $i $i.real
> + printf "#!/bin/sh\n\x24SDK_PATH/lib/ld-linux.so.2 \x24SDK_PATH/bin/$i.real \x24\x2a\n" > $i
> + chmod +x $i
> + done
> +}
> --
> 1.8.0
>
_______________________________________________
meta-arago mailing list
meta-arago@arago-project.org
http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCHv2] meta-toolchain-arago: make SDK/devkit relocatable
2012-11-07 23:11 ` Cooper Jr., Franklin
@ 2012-11-08 1:19 ` Denys Dmytriyenko
0 siblings, 0 replies; 4+ messages in thread
From: Denys Dmytriyenko @ 2012-11-08 1:19 UTC (permalink / raw)
To: Cooper Jr., Franklin; +Cc: meta-arago@arago-project.org
On Wed, Nov 07, 2012 at 11:11:05PM +0000, Cooper Jr., Franklin wrote:
>
>
> -----Original Message-----
> From: meta-arago-bounces@arago-project.org [mailto:meta-arago-bounces@arago-project.org] On Behalf Of Dmytriyenko, Denys
> Sent: Wednesday, November 07, 2012 3:06 PM
> To: meta-arago@arago-project.org
> Subject: Re: [meta-arago] [PATCHv2] meta-toolchain-arago: make SDK/devkit relocatable
>
> On Wed, Nov 07, 2012 at 04:03:00PM -0500, Denys Dmytriyenko wrote:
> > Implement poor man's relocation technique for self-contained crosssdk
> > binaries
> >
> > Signed-off-by: Denys Dmytriyenko <denys@ti.com>
> > ---
> > In v2 use stub shell scripts instead of aliases, to work in Makefiles
>
> Ok, this seems to work fine in shell and in Makefiles too. And it also works
> when environment-setup is sources before calling make, but not inside the
> Makefile.
>
> Franklin:
> export LD_LIBRARY_PATH=$SDK_PATH/lib:$LD_LIBRARY_PATH is causing issues.
> Once I source that file I get a Segmentation fault when calling qmake,
> make,arm-arago-linux-gnueabi-gcc,ls , etc....
> Removing that line from environment-setup gets rid of the Segmentation fault
> issue but of course qmake and the other executables don't work. I get a
> "error while loading shared libraries: libstdc++.so.6: cannot open shared
> object file: No such file or directory".
Yeah, that explains the segfault Chase was seeing. I didn't see the segfault
on regular system apps, like make, ls etc. But it did segfault on Arago
toolchain binaries, like arm-arago-linux-gnueabi-gcc etc. It's better to set
LD_LIBRARY_PATH variable only for select SDK tools that we have shell stubs
for, instead of globally. The fix is now in.
> Since you got this working is there anything the host machine needs to
> configure to get this to work?
I guess it's rather host system specific...
> > meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb | 13
> > ++++++++++++-
> > 1 file changed, 12 insertions(+), 1 deletion(-)
> >
> > diff --git
> > a/meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb
> > b/meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb
> > index d2fe982..81bdeed 100644
> > --- a/meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb
> > +++ b/meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb
> > @@ -4,7 +4,7 @@ TOOLCHAIN_OUTPUTNAME ?= "${SDK_NAME}-${ARMPKGARCH}-${TARGET_OS}-sdk-${SDK_ARCH}"
> >
> > require recipes-core/meta/meta-toolchain.bb
> >
> > -PR = "r5"
> > +PR = "r6"
> >
> > SDKTARGETSYSROOT = "${SDKPATH}/${ARAGO_TARGET_SYS}"
> >
> > @@ -28,6 +28,7 @@ toolchain_create_sdk_env_script () {
> > echo 'export TARGET_SYS=${ARAGO_TARGET_SYS}' >> $script
> > echo 'export TARGET_PREFIX=$TARGET_SYS-' >> $script
> > echo 'export PATH=$SDK_PATH/bin:$PATH' >> $script
> > + echo 'export LD_LIBRARY_PATH=$SDK_PATH/lib:$LD_LIBRARY_PATH' >>
> > +$script
> > echo 'export CPATH=$SDK_PATH/$TARGET_SYS/usr/include:$CPATH' >> $script
> > echo 'export PKG_CONFIG_SYSROOT_DIR=$SDK_PATH/$TARGET_SYS' >> $script
> > echo 'export
> > PKG_CONFIG_PATH=$SDK_PATH/$TARGET_SYS${libdir}/pkgconfig' >> $script @@ -55,3 +56,13 @@ toolchain_create_sdk_env_script () {
> > echo 'export OECORE_DISTRO_VERSION="${DISTRO_VERSION}"' >> $script
> > echo 'export OECORE_SDK_VERSION="${SDK_VERSION}"' >> $script }
> > +
> > +populate_sdk_ipk_append () {
> > + cd ${SDK_OUTPUT}/${SDKPATH}/bin
> > + binfiles=`find ! -name "${ARAGO_TARGET_SYS}-*" -type f -perm +111 -exec file {} \;|grep -v ":.*ASCII.*text"|cut -d":" -f1|cut -c3-`
> > + for i in $binfiles; do
> > + mv $i $i.real
> > + printf "#!/bin/sh\n\x24SDK_PATH/lib/ld-linux.so.2 \x24SDK_PATH/bin/$i.real \x24\x2a\n" > $i
> > + chmod +x $i
> > + done
> > +}
> > --
> > 1.8.0
> >
> _______________________________________________
> meta-arago mailing list
> meta-arago@arago-project.org
> http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago
> _______________________________________________
> meta-arago mailing list
> meta-arago@arago-project.org
> http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2012-11-08 1:20 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-07 21:03 [PATCHv2] meta-toolchain-arago: make SDK/devkit relocatable Denys Dmytriyenko
2012-11-07 21:05 ` Denys Dmytriyenko
2012-11-07 23:11 ` Cooper Jr., Franklin
2012-11-08 1:19 ` Denys Dmytriyenko
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.