[oe] [meta-browser] Modern Chromium with GN

Trevor Woerner twoerner at gmail.com
Fri Oct 27 15:44:36 UTC 2017


On Mon, Oct 23, 2017 at 9:33 AM, Raphael Kubo da Costa
<raphael.kubo.da.costa at intel.com> wrote:
> Otavio Salvador <otavio.salvador at ossystems.com.br> writes:
>>>>       | g++ -MMD -MF base/base_paths.o.d
>>>>       | -I/z/chromium/crosswalk/build/tmp-glibc/work/x86_64-linux/gn-native/62.0.3202.62-r0/chromium-62.0.3202.62/out_bootstrap/gen
>>>>       | -I/z/chromium/crosswalk/build/tmp-glibc/work/x86_64-linux/gn-native/62.0.3202.62-r0/chromium-62.0.3202.62
>>>>       | -isystem/z/chromium/crosswalk/build/tmp-glibc/work/x86_64-linux/gn-native/62.0.3202.62-r0/recipe-sysroot-native/usr/include
>>>>       | -O2 -pipe -DNO_TCMALLOC -D__STDC_FORMAT_MACROS -O2 -g0
>>>>       | -D_FILE_OFFSET_BITS=64 -D__STDC_CONSTANT_MACROS
>>>>       | -D__STDC_FORMAT_MACROS -pthread -pipe -fno-exceptions
>>>>       | -isystem/z/chromium/crosswalk/build/tmp-glibc/work/x86_64-linux/gn-native/62.0.3202.62-r0/recipe-sysroot-native/usr/include
>>>>       | -O2 -pipe -std=c++14 -Wno-c++11-narrowing -c
>>>>       | /z/chromium/crosswalk/build/tmp-glibc/work/x86_64-linux/gn-native/62.0.3202.62-r0/chromium-62.0.3202.62/base/base_paths.cc
>>>>       | -o base/base_paths.o
>>>>       | g++: error: unrecognized command line option ‘-std=c++14’
>>>
>>> Ouch :( That's a new kind of issue I was not expecting.
>>
>> It needs to check if c++14 is really needed for GN to work. Better
>> would it depends on gn-native and it to be handled elsewhere.
>
> While this specific issue is in GN, I expect it to happen during the
> Chromium build as well, as some tools are built and run on the host
> machine.
>
> Even if GN specifically does not depend on C++14 now, working around
> that is an uphill battle, as the Chromium project requires a C++14
> compiler and multiple parts of the code base will start using C++14
> features (or already are).

Ouch for sure! For some strange reason I was under the impression OE
builds created a native gcc for things like this! Oh well, I was able
to sort out the native compiler issue on my openSUSE 42.2 system; the
default gcc is 4.8, but there are packages for gcc5 and gcc6 so I just
installed the gcc6 one and used update-alternatives. It works, but it
will lead to some interesting questions wrt support and basic OE
support for openSUSE (however, that'll be a different discussion for
another day and probably for another mailing list).

I was able to successfully build for the minnow board (x86_64), but
when I tried building for the 32-bit variant for raspberrypi3 I got:

    | install: cannot stat 'swiftshader/libEGL.so': No such file or directory

during the do_install step for chromium itself. Odd, I thought egl
came from mesa? (but then again I thought OE built its own
gcc-native... :-S



More information about the Openembedded-devel mailing list