sdk build no longer builds what it did with the previous version.
PRECONDITIONS:
an sdk project which previously built successfully.
STEPS TO REPRODUCE:
open a project which was previously worked on with an older version of the sdk
clean
run qmake
build (rpm → device)
EXPECTED RESULT:
.o files, a binary, an rpm after a possibly long time. Previous SDK, this project required up to 10 minutes depending on options. Yesterdays last build did create a large file:
I just tried building your app on sdk 3.10 and it built just fine. There is a small difference in my setup though: I’m using docker build engine.
I did notice that the compiler indeed takes quite a lot of memory, it was at least 1.3 GB. So you might want to try increasing the amount of RAM available for the build engine, using sfdk engine set vm.memory-size=<value>. You can use sfdk engine show to see the current value, I suggest you double that number.
If you are familiar with docker, I would recommend it. It has it’s own peculiarities, so if you are not familiar with it, it’s possible that you just end up with a different set of problems.
Looks like even 2048 was not enough, maybe with 4096 then?
Yeah, that is indeed weird. Usually the compiler just dies when it runs out of memory, and the SDK detects that and prints an error message with a hint to increase RAM.
I’ve been avoiding docker but I know my way around lxc (and linux vserver) … hmmm. the c++ build time improvement could be meaningful.
Hmmm. I think I’ll try it. If it saves me a third of the time compiling it’ll be worth it for anything where more than 2 or 3 files change at a time. or mega headers like exprtk are involved.
I’ve never used docker Don’t like it As has been pointed it, it’s faster to compile for c++. I’m preferring to put the extra energy I have in github builds and chum.