> On 5 Dec 2016, at 14:32, Konstantin Tokarev <annu...@yandex.ru> wrote:
> 05.12.2016, 16:30, "Shawn Rutledge" <shawn.rutle...@qt.io>:
>>>  On 4 Dec 2016, at 18:17, Jason H <jh...@gmx.com> wrote:
>>> 
>>>  I am trying a naive compile of Qt 5.7.0 (from source tarball) on a Pi zero 
>>> (no cross compile) I've got all the dependencies installed and Jessie is up 
>>> to date.
>>>  I keep running into GCC 4.9 compiler errors. Not that the Qt code is bad, 
>>> but that the compiler bombs out saying it's a bug in GCC. Originally I saw 
>>> it in qsvgcontext.cpp, but after updating and trying to fix it, I get it in 
>>> sax/qxml.cpp.
>>> 
>>>  It doesn't give me a lot of idea on what exactly is wrong.
>>> 
>>>  Anyone have any tips?
>> 
>> I wouldn’t be surprised if it runs out of memory, but I guess you would see 
>> something about that in the error message. You could run top in another 
>> shell session and see if it gets close to running out.
> 
> GCC can print something like 
> 
>    internal compiler error: Killed (program cc1plus)
> 
> in case of OOM, so it can be confused with real ICE by newbie :)

Yep that’s what I was thinking of… even on my laptop with 4GB and no swap, if I 
run make -j with too high a number, that happens sometimes (but I didn’t have 
the exact error message handy).  And forget about running Creator at the same 
time.

Newer compilers take more memory, and especially the linker.  At some point it 
becomes impractical to compile anything significant on an embedded processor at 
all, just for this reason, even if you don’t mind it taking all day, or even if 
you have a cluster of machines available.  I think the gcc folks should try to 
figure out some kind of workaround: maybe detect that there is not enough 
memory and make the usual speed-memory tradeoff in the other direction (cache 
less and compute more); work on building a distributed linker (if that’s even 
possible?) so that you can use a cluster of little machines; etc.  (But at 
least maybe omitting -O would help.)  Aren’t the Debian folks demanding such 
things, if they continue to build the arm distro on arm-based machines?

But most people will say stop doing that and just cross-compile it.  But then 
we paint ourselves into a corner if that’s the only solution.  My first Linux 
box was a 386 with 5 or 6 megs of RAM (1+4 I think), and it didn’t have any 
trouble building a kernel for itself.  (I don’t think I was building Qt that 
far back, but it was probably small enough to run on that machine.)

_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to