Daniel,
as discussed, I've experimented with meta-rpb and the Yocto Compatible
check scripts.. see :
https://www.yoctoproject.org/docs/2.6/mega-manual/mega-manual.html#making-s…
There are many obvious reasons why it's a good idea to make sure that
layers can pass this script..
I was able to get meta-rpb to pass the compatibility check with the
following patches:
https://github.com/ndechesne/meta-rpb/tree/check-layer
The simplest way to run the script is to use a copy of Poky git:
$ git clone http://git.yoctoproject.org/git/poky
$ cd poky
$ source oe-init-build-env
$ yocto-check-layer <oe-rpb folder>/layers/meta-rpb/ --dependency
<oe-rpb folder>/layers/
The main things that the script will test are:
1. Adding your layer in bblayers.conf will not change any recipe
content/checksum
2. All dependencies are properly tracked
For meta-rpb, we depend on meta-virtualization (docker) and that layer
breaks compatibility in many ways.. so I had to remove references to
docker and meta-virt to run the script..
I will be doing a bit more testing/review, and submit the PR.
cheers
nico
hi,
i've started to push some updates about OE warrior for our Linaro builds.
The branch warrior was added to meta-rpb, meta-96boards, meta-qcom,
meta-linaro, meta-backports.
I have added a 'warrior' branch to the oe-rpb-manifest as well, see:
https://github.com/96boards/oe-rpb-manifest/commit/dd60a2322845adb9cfe7e82e…
Some layers still don't have a warrior branch, in which case we use master.
I have submitted a change to start build based on warrior..
Let's see how things go with this new branch!
cheers
nico
Hi all,
I'm trying to use the thud branch of Yocto Project with the Arago distro and the Linaro toolchain.
The external-linaro-toolchain.bb recipe includes glibc-package.inc from oe-core which has been modified in 2018 to install a makedbs.sh script [1] and to handle the floatn.h header introduced in glibc 2.26 [2]. The first change definitely breaks the external-linaro-toolchain recipe as no makedbs.sh script is present - in the oe-core glibc recipe this is included as a file and referenced in SRC_URI. The second change breaks if the Linaro toolchain includes a version of glibc prior to 2.26.
I see that an attempt to fix the above issues has been posted to this mailing list [3] but this wasn't merged and no other fix has gone into the meta-linaro repository. The was also a report of this issue posted to the Yocto mailing list in January [4]. So it looks like this has been broken for a few months but obviously hasn't been noticed more widely.
Is the external-linaro-toolchain recipe expected to work on the thud branch? If not, what should I be using instead?
[1]: https://git.openembedded.org/openembedded-core/commit/?h=thud&id=13cf502fce…
[2]: https://git.openembedded.org/openembedded-core/commit/?h=thud&id=650c59c8b6…
[3]: https://lists.linaro.org/pipermail/openembedded/2019-January/000159.html
[4]: https://lists.yoctoproject.org/pipermail/yocto/2019-January/043747.html
--
Paul Barker
Managing Director & Principal Engineer
Beta Five Ltd
From: Denys Dmytriyenko <denys(a)ti.com>
libc.so linker script should use relative paths to not clash with host libs.
Using absolute paths in libc.so is fine with standalone toolchain or when
used inside a rootfs. But when used inside OE SDK for cross-compilation,
the absolute path confuses compiler with libs from host environment. In the
past, Linaro prebuilt toolchains always had relative paths inside libc.so
linker script. Adjust it the same for the Arm prebuilt toolchain.
Signed-off-by: Denys Dmytriyenko <denys(a)ti.com>
---
.../recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb b/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb
index 6fb5a4d..a4067d8 100644
--- a/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb
+++ b/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb
@@ -233,6 +233,7 @@ do_install() {
if [ -f ${D}${libdir}/libc.so ];then
sed -i -e "s# /${EAT_LIBDIR}/${EAT_TARGET_SYS}# ../../${EAT_LIBDIR}#g" -e "s# /usr/${EAT_LIBDIR}/# /usr/lib/#g" -e "s# /usr/${EAT_LIBDIR}/${EAT_TARGET_SYS}# .#g" -e "s# /${EAT_LIBDIR}/ld-linux# ../../${EAT_LIBDIR}/ld-linux#g" ${D}${libdir}/libc.so
sed -i -e "s# /${EAT_LIBDIR}/libc.so.6# /lib/libc.so.6#g" ${D}${libdir}/libc.so
+ sed -i -e "s# /lib# ../../lib#g" -e "s# /usr/lib# .#g" ${D}${libdir}/libc.so
fi
if [ -f ${D}${base_libdir}/libc.so ];then
--
2.7.4
From: Denys Dmytriyenko <denys(a)ti.com>
This set cleans up and adds additional features to external-arm-toolchain recipe.
It packages up libc binaries like ldconfig, locale, tzselect, ldd and so on.
That results in a proper non-empty glibc-utils package, which gets pulled by
LIBC_DEPENDENCIES variable defined in tclibc-glibc.inc in OE-Core
It also packages up necessary static libs, stubs and headers for -dev variants
of libgcc, libgfortran, etc., satisfying packagegroup-core-standalone-sdk-target
recipe from OE-Core.
Please merge this set to master and backport it to thud as well. Thanks.
Denys Dmytriyenko (3):
external-arm-toolchain: basic cleanup
external-arm-toolchain: package up toolchain binaries
external-arm-toolchain: also package up extra libs, stubs and headers
.../external-arm-toolchain.bb | 45 ++++++++++++++++------
1 file changed, 33 insertions(+), 12 deletions(-)
--
2.7.4
From: Denys Dmytriyenko <denys(a)ti.com>
When backporting Arm toolchain from master to thud, several commits were missed,
as well as one addition of crosssdk-inital recipe was missing. This series
addresses those issues.
Denys Dmytriyenko (2):
gcc-crosssdk-initial: add missing arm-8.2 version
tcmode-external-arm: uncomment preference for
virtual/${TARGET_PREFIX}binutils
Koen Kooi (4):
tcmode-external-arm.inc: fix some ELT⇒ EAT conversions that were
missed previously
tcmode-external-arm.inc: prefer virtual/libc-locale =
external-arm-toolchain
tcmode-external-arm.inc: set glibc override
tcmode-external-arm.inc: add 'libc-locales libc-locale-code
libc-charsets' to DISTRO_FEATURES_LIBC
.../conf/distro/include/tcmode-external-arm.inc | 18 ++++++++++--------
.../gcc/gcc-crosssdk-initial_arm-8.2.bb | 3 +++
2 files changed, 13 insertions(+), 8 deletions(-)
create mode 100644 meta-linaro-toolchain/recipes-devtools/gcc/gcc-crosssdk-initial_arm-8.2.bb
--
2.7.4
On Fri, Mar 15, 2019 at 05:16:06PM -0600, Anibal Limon wrote:
> I sent a review request,
>
> https://review.linaro.org/c/openembedded/meta-linaro/+/30779
Any updates? I'm still getting a lot of warnings during parsing, e.g.:
WARNING: .../meta-linaro/meta-linaro-toolchain/recipes-core/glibc/glibc_linaro-2.20.bb: Unable to get checksum for glibc SRC_URI entry ld.so.conf: file could not be found
WARNING: .../meta-linaro/meta-linaro-toolchain/recipes-core/glibc/glibc_linaro-2.20.bb: Unable to get checksum for glibc SRC_URI entry 0022-Add-ILP32-to-makefiles.patch: file could not be found
Denys
> On Fri, 15 Mar 2019 at 14:46, Anibal Limon <anibal.limon(a)linaro.org> wrote:
>
> >
> >
> > On Fri, Mar 15, 2019, 1:54 PM Denys Dmytriyenko <denis(a)denix.org> wrote:
> >
> >> On Fri, Mar 15, 2019 at 09:55:21AM -0600, Anibal Limon wrote:
> >> > Hi Denys,
> >> >
> >> > I'm not see a PV set on glibc_linaro-2.20.bb, there is a PV set on gcc
> >> > recipes with linaro-2.20.
> >>
> >> As my previous email states - PV is set by the filename. Moreover, you
> >> are
> >> erroneously referrring to the recipe as "glibc_linaro", while it's
> >> "glibc"
> >> instead. And "linaro-2.20" is actually recipe's PV. The underscore in the
> >> filename separates recipe name from recipe version. From the manual:
> >>
> >>
> >> https://www.yoctoproject.org/docs/1.6/bitbake-user-manual/bitbake-user-manu…
> >>
> >> | In this example, a recipe called "something_1.2.3.bb" sets PN to
> >> "something"
> >> | and PV to "1.2.3".
> >>
> >> Hence, in this case, glibc_linaro-2.20.bb used to set PN to "glibc" and
> >> PV to
> >> "linaro-2.20". And it used to work for years.
> >>
> >> Moreover, since ${FILESPATH} below expects ${FILE_DIRNAME}/glibc-${PV}
> >> and
> >> there's "glibc-linaro-2.20" directory with whole bunch of patches:
> >>
> >> https://git.linaro.org/openembedded/meta-linaro.git/tree/meta-linaro-toolch…
> >>
> >> So, with your change, it would instead try to look into "glibc-2.20" and
> >> fail
> >> to find any patches. Not even sure how it was tested...
> >>
> >
> > You are right, I not see the error because I'm using upstream glibc (2.29)
> > and the build didn't fail.
> >
> > I will update the PV in the common file.
> >
> > Regards,
> > Anibal
> >
> >
> >> --
> >> Denys
> >>
> >>
> >> > ...
> >> > $ git grep PV .
> >> > glibc-linaro-2.20/eglibc-ppc8xx-cache-line-workaround.patch:+ reads
> >> from
> >> > the PVR register. */
> >> > glibc-linaro-2.20/eglibc-ppc8xx-cache-line-workaround.patch:+
> >> emulates
> >> > PowerPC mfspr reads from the PVR register. */
> >> > glibc_linaro-2.20.bb:SRC_URI = "
> >> >
> >> http://releases.linaro.org/archive/${MMYY}/components/toolchain/glibc-linar…
> >> > \
> >> > glibc_linaro-2.20.bb:S = "${WORKDIR}/glibc-${PV}-${RELEASE}"
> >> > glibc_linaro-2.20.bb:FILESPATH = "${@base_set_filespath([
> >> > '${FILE_DIRNAME}/glibc-${PV}', '${FILE_DIRNAME}/glibc',
> >> > '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
> >> > glibc_linaro.inc:PV = "2.20"
> >> > ...
> >> >
> >> > What is the error that you have noticed?
> >> >
> >> > Regards,
> >> > Anibal
> >> >
> >> > On Fri, 8 Mar 2019 at 14:32, Denys Dmytriyenko <denis(a)denix.org> wrote:
> >> >
> >> > >
> >> > >
> >> https://git.linaro.org/openembedded/meta-linaro.git/commit/?id=768925270cc2…
> >> > >
> >> > > meta-linaro-toolchain: Set PV on glibc_linaro
> >> > > Recently a common file was introudced to set PV for glibc [1]
> >> > > in oe-core causing failures becuase glibc_linaro is trying
> >> > > to download the latest oe-core version (2.29).
> >> > >
> >> > > [1]
> >> https://git.openembedded.org/openembedded-core/commit/?id=41093cb6c6
> >> > >
> >> > > Change-Id: I5c99c25a953f00a64614046ba40e578795553bc1
> >> > > Signed-off-by: Aníbal Limón <anibal.limon(a)linaro.org>
> >> > >
> >> > >
> >> > > The problem is that all those modified recipes already had PV set in
> >> their
> >> > > filename and it was "linaro-2.20", not just "2.20".
> >
> > > >
> >> > > --
> >> > > Denys
> >> > >
> >>
> >