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