[meta-cgl][PATCH 05/20] cluster-glue: fix depend issues for py2 removal
From: Jeremy Puhlman <jpuhlman@...>
Signed-off-by: Jeremy A. Puhlman <jpuhlman@...> --- meta-cgl-common/recipes-cgl/cluster-glue/cluster-glue_1.0.12.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-cgl-common/recipes-cgl/cluster-glue/cluster-glue_1.0.12.bb b/meta-cgl-common/recipes-cgl/cluster-glue/cluster-glue_1.0.12.bb index e0aa2b1..749ce8c 100644 --- a/meta-cgl-common/recipes-cgl/cluster-glue/cluster-glue_1.0.12.bb +++ b/meta-cgl-common/recipes-cgl/cluster-glue/cluster-glue_1.0.12.bb @@ -137,6 +137,6 @@ FILES_${PN}-lrmtest = "${datadir}/cluster-glue/lrmtest/" RDEPENDS_${PN} += "perl" RDEPENDS_${PN}-plugin-stonith2 += "bash" -RDEPENDS_${PN}-plugin-stonith-external += "bash python perl" -RDEPENDS_${PN}-plugin-stonith2-ribcl += "python" +RDEPENDS_${PN}-plugin-stonith-external += "bash python3-core perl" +RDEPENDS_${PN}-plugin-stonith2-ribcl += "python3-core" RDEPENDS_${PN}-lrmtest += "${VIRTUAL-RUNTIME_getopt} ${PN}-plugin-raexec" -- 2.13.3
|
|
[meta-cgl][PATCH 01/20] monit: upgrade 5.25.2 -> 5.26.0
From: Changqing Li <changqing.li@...>
Signed-off-by: Changqing Li <changqing.li@...> Signed-off-by: Adrian Dudau <adrian.dudau@...> --- .../recipes-cgl/monit/{monit_5.25.2.bb => monit_5.26.0.bb} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename meta-cgl-common/recipes-cgl/monit/{monit_5.25.2.bb => monit_5.26.0.bb} (90%) diff --git a/meta-cgl-common/recipes-cgl/monit/monit_5.25.2.bb b/meta-cgl-common/recipes-cgl/monit/monit_5.26.0.bb similarity index 90% rename from meta-cgl-common/recipes-cgl/monit/monit_5.25.2.bb rename to meta-cgl-common/recipes-cgl/monit/monit_5.26.0.bb index ab9e922..6ec1a21 100644 --- a/meta-cgl-common/recipes-cgl/monit/monit_5.25.2.bb +++ b/meta-cgl-common/recipes-cgl/monit/monit_5.26.0.bb @@ -9,7 +9,7 @@ HOMEPAGE = "http://mmonit.com/monit/" LICENSE = "AGPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=ea116a7defaf0e93b3bb73b2a34a3f51" -DEPENDS = "openssl zlib" +DEPENDS = "openssl zlib virtual/crypt" SRC_URI = "\ http://mmonit.com/monit/dist/${BP}.tar.gz \ @@ -17,8 +17,8 @@ SRC_URI = "\ file://init \ " -SRC_URI[md5sum] = "890df599d6c1e9cfbbdd3edbacb7db81" -SRC_URI[sha256sum] = "aa0ce6361d1155e43e30a86dcff00b2003d434f221c360981ced830275abc64a" +SRC_URI[md5sum] = "9f7dc65e902c103e4c5891354994c3df" +SRC_URI[sha256sum] = "87fc4568a3af9a2be89040efb169e3a2e47b262f99e78d5ddde99dd89f02f3c2" INITSCRIPT_NAME = "monit" INITSCRIPT_PARAMS = "defaults 99" -- 2.13.3
|
|
[meta-cgl][PATCH 02/20] Add zeus to compat list
From: Jeremy Puhlman <jpuhlman@...>
Signed-off-by: Jeremy A. Puhlman <jpuhlman@...> --- meta-cgl-common/conf/layer.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-cgl-common/conf/layer.conf b/meta-cgl-common/conf/layer.conf index 894d6c4..de64205 100644 --- a/meta-cgl-common/conf/layer.conf +++ b/meta-cgl-common/conf/layer.conf @@ -13,6 +13,6 @@ BBFILE_PRIORITY_cgl-common = "7" LAYERDEPENDS_cgl-common = "core openembedded-layer networking-layer perl-layer filesystems-layer security selinux" -LAYERSERIES_COMPAT_cgl-common = "warrior" +LAYERSERIES_COMPAT_cgl-common = "warrior zeus" require conf/distro/include/cgl_common_security_flags.inc -- 2.13.3
|
|
Re: What are the key factors for yocto build speed?
Ross Burton <ross@...>
On 18/03/2020 14:09, Mike Looijmans wrote:
Harddisk speed has very little impact on your build time. It helps with the "setscene" parts, but doesn't affect actual compile time at all. I recall someone did a build from RAM disks only on a rig, and it was only about 1 minute faster on a one hour build compared to rotating disks.My build machine has lots of RAM and I do builds in a 32GB tmpfs with rm_work (and no, I don't build webkit, which would make this impractical). As you say, with sufficient RAM the build speed is practically the same as on disks due to the caching (especially if you tune the mount options), so I'd definitely spend money on more RAM instead of super-fast disks. I just prefer doing tmpfs builds because it saves my spinning rust. :) Ross
|
|
Re: How to PROVIDE boost-python
Emily
Hi Laurent and Quentin - Thank you both so much for your help! I did just end up patching the source code for my recipe - I had to both add the 3 and remove the -mt, and the OS does build now! If the sw does what I need it to is another question, but we shall see. Thanks again! Emily
On Wed, Mar 18, 2020 at 10:37 AM Quentin Schulz <quentin.schulz@...> wrote: Hi Emily,
|
|
Re: <EXT> Re: [yocto] What are the key factors for yocto build speed?
Srini
Some of these started 2 years ago. Probably Krogoth timeframe thru rocko. (Did I get the names right!)
Not downloading from the net. But we had an inhouse git mirror of yocto.
We tried being a bit more adventurous but bitbake did not always seem to pick up the fact that some sources or options changed. Do not remember the details but we didn’t have time to investigate.
The same system now builds in about 2.5 hours the last time I looked. Different server farm with a much better storage architecture!
The key learning for me – which I recommend highly is to invest the time in the sdk! And tools to update your final image without having to rebuild. These factors alone improved our team productivity manyfold.
Again YMMV. srini
From: Stewart, David C <david.c.stewart@...>
Sent: Wednesday, March 18, 2020 1:48 PM To: Srinivasan, Raja <rsrinivasan@...>; mikko.rapeli@...; mike.looijmans@... Cc: yocto@... Subject: Re: <EXT> Re: [yocto] What are the key factors for yocto build speed?
4 hours seems extremely long to me for a 8 core system, but I have not tried this in a while. Were you removing all the sources and re-downloading them for every build?
From: <yocto@...> on behalf of Srini <rsrinivasan@...>
My own experience (pardon me if already discussed) CONFIDENTIALITY NOTICE: This email message and any attachments are confidential and may be privileged and are meant to be read by the intended recipient only. If you are not the intended recipient, please notify sender immediately and destroy all copies of this message and any attachments without reading or disclosing their contents. Thank you
|
|
Re: <EXT> Re: [yocto] What are the key factors for yocto build speed?
Yann Dirson
anyway this sounds like a complete rebuild not taking advantage of shard-state cache
Le mer. 18 mars 2020 à 18:47, David Stewart <david.c.stewart@...> a écrit :
|
|
Re: <EXT> Re: [yocto] What are the key factors for yocto build speed?
David Stewart
4 hours seems extremely long to me for a 8 core system, but I have not tried this in a while. Were you removing all the sources and re-downloading them for every build?
From: <yocto@...> on behalf of Srini <rsrinivasan@...>
My own experience (pardon me if already discussed)
-----Original Message-----
From: yocto@... <yocto@...> On Behalf Of Mikko Rapeli via Lists.Yoctoproject.Org Sent: Wednesday, March 18, 2020 11:52 AM To: mike.looijmans@... Cc: yocto@... Subject: <EXT> Re: [yocto] What are the key factors for yocto build speed? On Wed, Mar 18, 2020 at 04:09:39PM +0100, Mike Looijmans wrote: > On 18-03-2020 15:49, Adrian Bunk via Lists.Yoctoproject.Org wrote: > > On Wed, Mar 18, 2020 at 10:12:26AM -0400, Jean-Marie Lemetayer wrote: > > > ... > > > For example one of our build servers is using: > > > - AMD Ryzen 9 3900X > > > ... > > > - 32Go DDR4 3200 MHZ CL14 > > > ... > > > It is a really good price / build time ratio configuration. > > > > Depends on what you are building. > > > > Building non-trivial C++ code (e.g. webkitgtk) with 24 cores but > > only 32 GB RAM will not work, for such code you need more than 2 > > GB/core. > > Seems a bit excessive to buy hardware just to handle a particular > corner case. Most of OE/Yocto code is plain C, not even C++. > > My rig only has 8GB but doesn't run into memory issues during big GUI > builds. The only thing that made it swap was the populate_sdk task > that created a 1.1GB fiel and needed 20GB of RAM to compress that. > Took a few minutes more due to swapping. > I submitted a patch today to fix that in OE. > > Your mileage may vary. But RAM is easy to add. Well, I can't build with under 2 gigs per core or I run out of physical memory and kernel oom-killer kicks in to kill the build. Also can't run with yocto default parallel settings which only take into account the number of cores and thus have a custom script which does caps the threads so that 2 gigs of RAM for each are available. Though I'm sure plain C and plain poky projects have less requirements for RAM. -Mikko ________________________________ CONFIDENTIALITY NOTICE: This email message and any attachments are confidential and may be privileged and are meant to be read by the intended recipient only. If you are not the intended recipient, please notify sender immediately and destroy all copies of this message and any attachments without reading or disclosing their contents. Thank you
|
|
Re: <EXT> Re: [yocto] What are the key factors for yocto build speed?
Srini
My own experience (pardon me if already discussed)
toggle quoted messageShow quoted text
Fought the build times for several months - ending up eventually at 8 cores (but specifying 16 threads in poky builds). Best times for my build about 4 hours. Clearly impractical during engineering. Generated an sdk and used it for app development. Each build is now a minute or 2. Using a homegrown utility, updated the image file with applications in a jiffy - to produce burnable sdcard image. Complete build required only for the final release -- or made major changes like python2 to python3! YMMV. srini
-----Original Message-----
From: yocto@... <yocto@...> On Behalf Of Mikko Rapeli via Lists.Yoctoproject.Org Sent: Wednesday, March 18, 2020 11:52 AM To: mike.looijmans@... Cc: yocto@... Subject: <EXT> Re: [yocto] What are the key factors for yocto build speed? On Wed, Mar 18, 2020 at 04:09:39PM +0100, Mike Looijmans wrote: > On 18-03-2020 15:49, Adrian Bunk via Lists.Yoctoproject.Org wrote: > > On Wed, Mar 18, 2020 at 10:12:26AM -0400, Jean-Marie Lemetayer wrote: > > > ... > > > For example one of our build servers is using: > > > - AMD Ryzen 9 3900X > > > ... > > > - 32Go DDR4 3200 MHZ CL14 > > > ... > > > It is a really good price / build time ratio configuration. > > > > Depends on what you are building. > > > > Building non-trivial C++ code (e.g. webkitgtk) with 24 cores but > > only 32 GB RAM will not work, for such code you need more than 2 > > GB/core. > > Seems a bit excessive to buy hardware just to handle a particular > corner case. Most of OE/Yocto code is plain C, not even C++. > > My rig only has 8GB but doesn't run into memory issues during big GUI > builds. The only thing that made it swap was the populate_sdk task > that created a 1.1GB fiel and needed 20GB of RAM to compress that. > Took a few minutes more due to swapping. > I submitted a patch today to fix that in OE. > > Your mileage may vary. But RAM is easy to add. Well, I can't build with under 2 gigs per core or I run out of physical memory and kernel oom-killer kicks in to kill the build. Also can't run with yocto default parallel settings which only take into account the number of cores and thus have a custom script which does caps the threads so that 2 gigs of RAM for each are available. Though I'm sure plain C and plain poky projects have less requirements for RAM. -Mikko ________________________________ CONFIDENTIALITY NOTICE: This email message and any attachments are confidential and may be privileged and are meant to be read by the intended recipient only. If you are not the intended recipient, please notify sender immediately and destroy all copies of this message and any attachments without reading or disclosing their contents. Thank you
|
|
Re: What are the key factors for yocto build speed?
Mikko Rapeli
On Wed, Mar 18, 2020 at 04:09:39PM +0100, Mike Looijmans wrote:
On 18-03-2020 15:49, Adrian Bunk via Lists.Yoctoproject.Org wrote:Well, I can't build with under 2 gigs per core or I run out of physical memoryOn Wed, Mar 18, 2020 at 10:12:26AM -0400, Jean-Marie Lemetayer wrote:Seems a bit excessive to buy hardware just to handle a particular corner...Depends on what you are building. and kernel oom-killer kicks in to kill the build. Also can't run with yocto default parallel settings which only take into account the number of cores and thus have a custom script which does caps the threads so that 2 gigs of RAM for each are available. Though I'm sure plain C and plain poky projects have less requirements for RAM. -Mikko
|
|
Re: What are the key factors for yocto build speed?
Martin Jansa
On Wed, Mar 18, 2020 at 05:52:37AM -0700, Oliver Westermann wrote:
Hey,Other replies look good to me, here are few additions: If you want to compare how terrible your current VM compares with some other builders, you can use: https://github.com/shr-project/test-oe-build-time I wouldn't be surprised if your VM performs even worse than +- 200USD ryzen 1600 system. I would be happy to apply pull requests from other people in this thread with their suggestions. You didn't mention the budget, but big Ryzen is definitely good choice. You also didn't mention how "big" your typical builds are, if you're building something as big as the webengines used in test-oe-build-time, then it might be worth to spend a bit extra on 3970X Threadripper if budget allows. I'm still looking for someone with access to Epyc (ideally 7702P or 7502P), because it's only a bit more expensive than corresponding Threadripper, but without the unfortunate limitation to 8 DIMM slots with difficult to buy 256GB sets: https://www.gskill.com/community/1502239313/1574739775/G.SKILL-Announces-New-High-Performance,-Ultra-Capacity-DDR4-Memory-Kits-for-HEDT-Platforms will be nice when it gets finally available. On Epyc on the other hand you'll get 8 channels instead of 4 and much less issues to find compatible kit (even with ECC support). If the performance is significantly better than 3990X, then 7702P might be much better option for "professional" builder - as long as you can cool server mother board in tower PC efficiently enough. Cheers,
|
|
Re: How to PROVIDE boost-python
Quentin Schulz
Hi Emily,
On Wed, Mar 18, 2020 at 10:16:23AM -0500, Emily wrote: Hi Laurent -You can create a patch for it. You can use devtool modify <your-recipe> and create the patch from there, you have access to the sources with that. devtool build <your-recipe> to check it builds okay. I realize this is not a long-term solution, as I'll need to update thatI don't think there is a need for BBMASK, you should be able to set PREFERRED_VERSION_boost = "1.63.0" in local.conf or your machine configuration file. ERROR: boost-1.63.0-r1 do_package: QA Issue: boost: Files/directories wereIf all of this is really temporary you can install it in some package, or even create a new package for it. (PACKAGES =+ "boost-numpy", FILES_${PN}-numpy = "/usr/lib/libboost_numpy.so.1.63.0"). No more ideas tbh. I would try to patch "your" SW first and see if it brings you somewhere, but that's what I would do, each their own way. Quentin
|
|
Re: How to PROVIDE boost-python
Emily
Hi Laurent - Unfortunately I don't have full control over the repo that's using boost_python-mt so I'm not sure I can switch it right now. I realize this is not a long-term solution, as I'll need to update that code (and my OS) to python3 soon, but for now I've just copied the boost recipe from this commit to my own layer, and added a BBMASK to the openembedded-core's boost recipe. This seems to work, except I get a QA error from the commit I'm using for the boost recipe now: ERROR: boost-1.63.0-r1 do_package: QA Issue: boost: Files/directories were installed but not shipped in any package: /usr/lib/libboost_numpy.so.1.63.0 Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. boost: 1 installed and not shipped files. [installed-vs-shipped] ERROR: boost-1.63.0-r1 do_package: Fatal QA errors found, failing task. ERROR: boost-1.63.0-r1 do_package: Function failed: do_package I found a log that mentions this exact error, and also mentions a patch that fixes it - I've tried and thus far failed to find that patch. I'm not sure if this will actually work, but I thought I'd check and see if anyone had any ideas. Thanks, Emily
On Tue, Mar 17, 2020 at 5:24 PM Laurent Gauthier <laurent.gauthier@...> wrote: Also as Quentin suggested it might be needed to remove the "-mt"
|
|
Re: What are the key factors for yocto build speed?
Mike Looijmans
On 18-03-2020 15:49, Adrian Bunk via Lists.Yoctoproject.Org wrote:
On Wed, Mar 18, 2020 at 10:12:26AM -0400, Jean-Marie Lemetayer wrote:Seems a bit excessive to buy hardware just to handle a particular corner case. Most of OE/Yocto code is plain C, not even C++....Depends on what you are building. My rig only has 8GB but doesn't run into memory issues during big GUI builds. The only thing that made it swap was the populate_sdk task that created a 1.1GB fiel and needed 20GB of RAM to compress that. Took a few minutes more due to swapping. I submitted a patch today to fix that in OE. Your mileage may vary. But RAM is easy to add. On Wed, Mar 18, 2020 at 05:52:37AM -0700, Oliver Westermann wrote:Of course he's on a tight budget. He wouldn't need to ask for advice otherwise......I would buy 128 GB RAM to not run into problems due to lack of RAM, Most consumer boards support up to 64GB RAM. Pushing to 128 may suddenly double the price of the mobo as well. I'd go for 32 (as 2x16GB) and do an easy upgrade to 64 when there's trouble. Even with 4x16GB that's not a bad investment, if it turns out to be a bottleneck 16GB modules will be easy to sell (contrary to smaller modules).
|
|
Re: What are the key factors for yocto build speed?
Adrian Bunk
On Wed, Mar 18, 2020 at 10:12:26AM -0400, Jean-Marie Lemetayer wrote:
...Depends on what you are building. Building non-trivial C++ code (e.g. webkitgtk) with 24 cores but only 32 GB RAM will not work, for such code you need more than 2 GB/core. On Wed, Mar 18, 2020 at 05:52:37AM -0700, Oliver Westermann wrote: ...I would buy 128 GB RAM to not run into problems due to lack of RAM, and Linux will also automatically use unused RAM as disk cache. As long as you aren't running out of RAM or disk space all that matters is CPU speed, Ryzen 9 3950X with 128 GB RAM would be my choice unless you are on a tight budget. cu Adrian
|
|
Re: What are the key factors for yocto build speed?
Mike Looijmans
On 18-03-2020 15:09, Mike Looijmans via Lists.Yoctoproject.Org wrote:
Big ryzen is a good choice. Sorry - wrong number. My rig does not have a 1900, but an "AMD Ryzen 7 1700".
|
|
Re: What are the key factors for yocto build speed?
Alexander Kanavin
I have to say that AMD aggressively pursuing core count increase on consumer level CPUs is awesome news for the YP. Previously, you had to buy some hugely overpriced Xeons or similar to be able to work efficiently, or rely on CI doing builds for you which makes interactive development complicated. Alex
On Wed, 18 Mar 2020 at 15:12, Jean-Marie Lemetayer <jean-marie.lemetayer@...> wrote: Hi,
|
|
Re: What are the key factors for yocto build speed?
Hi,
toggle quoted messageShow quoted text
In my company we have tested some "big Ryzen" configurations to speed up Yocto builds. The conclusion of these tests is that the build time is almost only related to the CPU score: https://www.cpubenchmark.net/high_end_cpus.html The speed (overclock) and size of the RAM does not influence the build time, neither the the use of a SATA SSD or a NVME. For example one of our build servers is using: - AMD Ryzen 9 3900X - ASUS PRIME X570-P - 32Go DDR4 3200 MHZ CL14 - 500Go SSD It is a really good price / build time ratio configuration. Best regards, Jean-Marie
On Mar 18, 2020, at 2:29 PM, Paul Barker pbarker@... wrote:
On Wed, 18 Mar 2020 at 13:01, Mikko Rapeli <mikko.rapeli@...> wrote:What Mikko said is excellent advice.
|
|
Re: What are the key factors for yocto build speed?
Mike Looijmans
Big ryzen is a good choice.
toggle quoted messageShow quoted text
My home rig is a Ryzen 1900, with only 8GB RAM. It's way faster at OE yocto builds than the i7 at work that has 32GB RAM installed. My 8GB rig does not use swap space while building huge images (like satellite receivers and full-blown XFCE desktops). For the CPU, the more cores the better. OE loves cores. Real cores are better than SMT cores (a.k.a. hyperthreading), and AMD's SMT has more effect than Intel's. Harddisk speed has very little impact on your build time. It helps with the "setscene" parts, but doesn't affect actual compile time at all. I recall someone did a build from RAM disks only on a rig, and it was only about 1 minute faster on a one hour build compared to rotating disks. SSD or NVMe doesn't make much difference. If you have budget to spend, spend it on RAM and CPU but not on disks. I'd go for a reasonable NVMe disk, mostly for storing and booting the OS itself. If you plan to share sstate-cache and downloads from this machine to other clients, I'd even suggest a plain big (4TB or so) rotating disk for storing that kind of stuff. Again, don't spend your budget on disks. Disks are way easier to add later than any other component.
On 18-03-2020 13:52, Oliver Westermann via Lists.Yoctoproject.Org wrote:
Hey, --
Mike Looijmans
|
|
Re: What are the key factors for yocto build speed?
On Wed, 18 Mar 2020 at 13:01, Mikko Rapeli <mikko.rapeli@...> wrote:
What Mikko said is excellent advice. I'd recommend NVMe drives if you can. My build machine has two large M.2 NVMe drives, one is used for the working directory and the other for sstate, downloads and source checkouts to make the best use of the available bandwidth. I find that XFS is a better fit than ext4 when you've got fast drives and highly parallel I/O workloads. Make sure you spread your RAM across the different memory channels on your motherboard as this increases memory bandwidth - this usually means either filling your RAM slots or half-filling them with RAM in every 2nd slot but you'll need to check the motherboard manual to confirm the channel layout. Let me know if you need a detailed review of your proposed setup. Thanks, Paul
|
|